浏览代码

ethclient: add BlockNumber method (#21500)

This adds a new client method BlockNumber to fetch the most recent
block number of the chain.
Dan Sosedoff 5 年之前
父节点
当前提交
1167639524
共有 1 个文件被更改,包括 7 次插入0 次删除
  1. 7 0
      ethclient/ethclient.go

+ 7 - 0
ethclient/ethclient.go

@@ -88,6 +88,13 @@ func (ec *Client) BlockByNumber(ctx context.Context, number *big.Int) (*types.Bl
 	return ec.getBlock(ctx, "eth_getBlockByNumber", toBlockNumArg(number), true)
 	return ec.getBlock(ctx, "eth_getBlockByNumber", toBlockNumArg(number), true)
 }
 }
 
 
+// BlockNumber returns the most recent block number
+func (ec *Client) BlockNumber(ctx context.Context) (uint64, error) {
+	var result hexutil.Uint64
+	err := ec.c.CallContext(ctx, &result, "eth_getBlockNumber", nil)
+	return uint64(result), err
+}
+
 type rpcBlock struct {
 type rpcBlock struct {
 	Hash         common.Hash      `json:"hash"`
 	Hash         common.Hash      `json:"hash"`
 	Transactions []rpcTransaction `json:"transactions"`
 	Transactions []rpcTransaction `json:"transactions"`