diff --git a/ethclient/ethclient.go b/ethclient/ethclient.go index a964bd0f8d41..8dc34a835e39 100644 --- a/ethclient/ethclient.go +++ b/ethclient/ethclient.go @@ -91,7 +91,7 @@ func (ec *Client) BlockByNumber(ctx context.Context, number *big.Int) (*types.Bl // 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) + err := ec.c.CallContext(ctx, &result, "eth_blockNumber") return uint64(result), err } diff --git a/ethclient/ethclient_test.go b/ethclient/ethclient_test.go index 16cf5ce61cee..0ca72c6ee71e 100644 --- a/ethclient/ethclient_test.go +++ b/ethclient/ethclient_test.go @@ -352,3 +352,19 @@ func TestChainID(t *testing.T) { t.Fatalf("ChainID returned wrong number: %+v", id) } } + +func TestBlockNumber(t *testing.T) { + backend, _ := newTestBackend(t) + client, _ := backend.Attach() + defer backend.Close() + defer client.Close() + ec := NewClient(client) + + blockNumber, err := ec.BlockNumber(context.Background()) + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + if blockNumber != 1 { + t.Fatalf("BlockNumber returned wrong number: %d", blockNumber) + } +}