Ethers.js 简要说明
安装
npm install –save ethers
基本用法
// 需要导入 ethers 包
const { ethers } = require("ethers");
// 利用Infura的rpc节点连接以太坊网络
// 填入Infura API Key
const INFURA_ID = ''
// 连接以太坊主网
const providerETH = new ethers.providers.JsonRpcProvider(`https://mainnet.infura.io/v3/${INFURA_ID}`)
// 连接Goerli测试网
const providerGoerli = new ethers.providers.JsonRpcProvider(`https://goerli.infura.io/v3/${INFURA_ID}`)
常用的函数
// 获取当前网络最新的区块号
let blockNumber = await provider.getBlockNumber();
// 获取余额,参数为地址,返回值是 bignumber 格式,单位为 wei
let balance = await provider.getBalance("0x...");
// 将 wei 格式转化为 ether 格式,bignumber 和 toString 格式都可以作为参数
let balance_in_ether = ethers.utils.formatEther(balance);
// 将 ether 转换为 wei 格式,返回值为 bignumber 格式
let result = ethers.utils.parseEther("1.0");
// 获取 gas price,返回值为 bignumber 格式
let gasPrice = await provider.getGasPrice();
// 获取内存 storage slot
// 第一个参数是合约地址,第二个参数是插槽位置
// 插槽位置可以使用十进制或者十六进制,十六进制需要加引号
await provider.getStorageAt("0x...", 3);
await provider.getStorageAt("0x...", "0x121");
// 获取地址的 nonce
await provider.getTransactionCount("0x...");
更新中
文档信息
- 本文作者:WalnutTTTT
- 本文链接:https://walnutTTTT.com/2023/02/06/Ethers_js/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)