From 5c3993444d725aba00c7c8c976c5cc9f4bf6a317 Mon Sep 17 00:00:00 2001 From: Julian Y Date: Mon, 27 Apr 2020 08:25:24 -0700 Subject: [PATCH] rpc: make ExampleClientSubscription work with the geth API (#19483) This corrects the call to eth_getBlockByNumber, which previously returned this error: can't get latest block: missing value for required argument 1 Co-authored-by: Felix Lange --- rpc/client_example_test.go | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/rpc/client_example_test.go b/rpc/client_example_test.go index 3bb8717b8..044b57a9c 100644 --- a/rpc/client_example_test.go +++ b/rpc/client_example_test.go @@ -19,9 +19,9 @@ package rpc_test import ( "context" "fmt" - "math/big" "time" + "github.com/ethereum/go-ethereum/common/hexutil" "github.com/ethereum/go-ethereum/rpc" ) @@ -31,16 +31,16 @@ import ( // eth_getBlockByNumber("latest", {}) // returns the latest block object. // -// eth_subscribe("newBlocks") +// eth_subscribe("newHeads") // creates a subscription which fires block objects when new blocks arrive. type Block struct { - Number *big.Int + Number *hexutil.Big } func ExampleClientSubscription() { // Connect the client. - client, _ := rpc.Dial("ws://127.0.0.1:8485") + client, _ := rpc.Dial("ws://127.0.0.1:8545") subch := make(chan Block) // Ensure that subch receives the latest block. @@ -75,7 +75,8 @@ func subscribeBlocks(client *rpc.Client, subch chan Block) { // The connection is established now. // Update the channel with the current block. var lastBlock Block - if err := client.CallContext(ctx, &lastBlock, "eth_getBlockByNumber", "latest"); err != nil { + err = client.CallContext(ctx, &lastBlock, "eth_getBlockByNumber", "latest", false) + if err != nil { fmt.Println("can't get latest block:", err) return }