etherjs基本用法
前言:直到2022.11.5才知道etherjs真正的用法,之前只用过web3.js,原来两个库是并行的,选择一个就好。
连接etherjs需要的几要素:
infura_key,private_key,rpc_url
两种得到provider的方式:
let provider = new ethers.providers.Web3Provider(window.ethereum);
let provider = new ethers.providers.JsonRpcProvider(network); // network是infura.io/infura_key
账户:
const accounts = await provider.send("eth_requestAccounts", []); //向钱包发送授权请求
balance = ethers.utils.formatEther(await provider.getBalance(accounts[0]));
可直接sign(data, private_key)或signTransaction(tx, private_key [, callback])
连接合约时:
let wallet = new ethers.Wallet(private_key, provider)
let contract = new ethers.Contract(contract_addr, jsonAbi, wallet); // 用作为最后一个参数,signer = provider.getSinger();
参考: