editor php Banana baru-baru ini menerima soalan daripada pembaca dia menemui mesej ralat: "Tidak dijumpai" apabila menggunakan fungsi `client.BlockByHash()` `go-ethereum`. Masalah ini telah lama mengganggunya, jadi dia berharap untuk mendapatkan penyelesaian. Dalam artikel ini, kami akan meneroka kemungkinan punca ralat ini dan menyediakan beberapa penyelesaian yang mungkin.
Saya mempunyai kod berikut untuk melanggan blok baharu apabila ia muncul:
package main import ( "context" "fmt" "log" "github.com/ethereum/go-ethereum/core/types" "github.com/ethereum/go-ethereum/ethclient" ) func main() { client, err := ethclient.dial("wss://mainnet.infura.io/ws/v3/apikey") if err != nil { log.fatal(err) } headers := make(chan *types.header) sub, err := client.subscribenewhead(context.background(), headers) if err != nil { log.fatal(err) } for { select { case err := <-sub.err(): log.fatal(err) case header := <-headers: fmt.println(header.hash().hex()) // 0xbc10defa8dda384c96a17640d84de5578804945d347072e091b4e5f390ddea7f block, err := client.blockbyhash(context.background(), header.hash()) if err != nil { log.fatal(err) } fmt.println(block.hash().hex()) // 0xbc10defa8dda384c96a17640d84de5578804945d347072e091b4e5f390ddea7f fmt.println(block.number().uint64()) // 3477413 fmt.println(block.time()) // 1529525947 fmt.println(block.nonce()) // 130524141876765836 fmt.println(len(block.transactions())) // 7 } } }
Tetapi dalam pasukan
block, err := client.blockbyhash(context.background(), header.hash())
Saya mendapat ralat:
2023/04/19 17:31:14 not found exit status 1
Ia masih mencetak cincang dalam fmt.println(header.hash().hex())
jadi saya tahu sambungan infura berfungsi.
Gunakan nombor blok dan bukannya nilai cincang.
block, err := client.BlockByNumber(context.Background(), header.Number)
Fungsi header.hash()
tidak mengembalikan cincang blok, tetapi cincang pengepala.
Atas ialah kandungan terperinci Pelanggan `go-ethereum`.BlockByHash() memberikan ralat 'tidak dijumpai'. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!