ethclient: add NetworkID method (#14791)
There is currently no simple way to obtain the network ID from a Client. This adds a NetworkID method that wraps the net_version JSON-RPC call.
This commit is contained in:
parent
60c858a529
commit
bc0e6a5e68
@ -256,6 +256,19 @@ func (ec *Client) SubscribeNewHead(ctx context.Context, ch chan<- *types.Header)
|
|||||||
|
|
||||||
// State Access
|
// State Access
|
||||||
|
|
||||||
|
// NetworkID returns the network ID (also known as the chain ID) for this chain.
|
||||||
|
func (ec *Client) NetworkID(ctx context.Context) (*big.Int, error) {
|
||||||
|
version := new(big.Int)
|
||||||
|
var ver string
|
||||||
|
if err := ec.c.CallContext(ctx, &ver, "net_version"); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if _, ok := version.SetString(ver, 10); !ok {
|
||||||
|
return nil, fmt.Errorf("invalid net_version result %q", ver)
|
||||||
|
}
|
||||||
|
return version, nil
|
||||||
|
}
|
||||||
|
|
||||||
// BalanceAt returns the wei balance of the given account.
|
// BalanceAt returns the wei balance of the given account.
|
||||||
// The block number can be nil, in which case the balance is taken from the latest known block.
|
// The block number can be nil, in which case the balance is taken from the latest known block.
|
||||||
func (ec *Client) BalanceAt(ctx context.Context, account common.Address, blockNumber *big.Int) (*big.Int, error) {
|
func (ec *Client) BalanceAt(ctx context.Context, account common.Address, blockNumber *big.Int) (*big.Int, error) {
|
||||||
|
Loading…
Reference in New Issue
Block a user