Ethers.js 学习笔记

2023/02/06 Ethers.js 共 954 字,约 3 分钟
咔咔咔酷酷

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...");

更新中

文档信息

Search

    Table of Contents