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 <fjl@twurst.com>
This commit is contained in:
parent
ba068d40dd
commit
5c3993444d
|
@ -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
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue