2_blocknumber

command
v0.0.0-...-6e38dd8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 12, 2023 License: MIT Imports: 4 Imported by: 0

README

获得ChainID和BlockNumber

以太坊节点提供JSON-RPC服务,如果开启了,就可以通过HTTP/HTTPS协议访问节点。

该服务是可选的,有一些自用节点不一定会开启。远程节点是专门提供该服务的,自然是开着的。本地调试节点(Hardhat、anvil等)默认都是开启的。

从本节开始后的章节,基本都使用远程节点,不再特殊说明。

连接到以太坊之后,我们就可以开始发起请求了。 常见请求有:

  1. 获取ChainID用于核实网络是否匹配
  2. 获取网络信息,如BlockNumber、账户余额等
  3. 与智能合约交互
  4. 监听网络事件

我们先从获取ChainIDBlockNumber开始讲起。

EVM兼容网络之间,ChainID是区分网络的重要手段,每一个网络都有唯一的ID与其对应。 比如,以太坊的ID1,Polygon的ID137,而BSC的ID56。想知道一个网络的具体ID,可以参考https://chainlist.org/

获取ChainID比较简单,传入ctx即可,返回值是*big.Int类型。

chainId, err := client.ChainID(ctx)

获取BlockNumber也类似,都不复杂,返回值是uint64

bn, err := client.BlockNumber(ctx)

完整的代码见上一节连接以太坊

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL