mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-20 10:52:25 +00:00
rpc: use hexutil.Big in example
This commit is contained in:
parent
e3c4733a1c
commit
6029ce2472
1 changed files with 5 additions and 21 deletions
|
|
@ -18,11 +18,10 @@ package rpc_test
|
|||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"math/big"
|
||||
"time"
|
||||
|
||||
"github.com/ethereum/go-ethereum/common/hexutil"
|
||||
"github.com/ethereum/go-ethereum/rpc"
|
||||
)
|
||||
|
||||
|
|
@ -36,28 +35,12 @@ import (
|
|||
// creates a subscription which fires block objects when new blocks arrive.
|
||||
|
||||
type Block struct {
|
||||
Number *BigInt
|
||||
}
|
||||
|
||||
type BigInt struct {
|
||||
big.Int
|
||||
}
|
||||
|
||||
func (i *BigInt) UnmarshalJSON(b []byte) error {
|
||||
var val string
|
||||
err := json.Unmarshal(b, &val)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
i.SetString(val[2:], 16)
|
||||
|
||||
return nil
|
||||
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.
|
||||
|
|
@ -92,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", false); 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 a new issue