PHP速学视频免费教程(入门到精通)
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
php小编香蕉近日收到了一位读者的问题,他在使用`go-ethereum`的`client.BlockByHash()`函数时遇到了一个错误提示:“未找到”。这个问题困扰了他很久,因此他希望能够得到一些解决方案。在这篇文章中,我们将探讨可能导致这个错误的原因,并提供一些可能的解决方法。
我有以下代码用于订阅出现的新块:
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 := <p>但在队伍中</p> <pre class="brush:php;toolbar:false;">block, err := client.blockbyhash(context.background(), header.hash())
我收到错误:
2023/04/19 17:31:14 not found exit status 1
它仍然在 fmt.println(header.hash().hex())
中打印哈希值,所以我知道 infura 连接正在工作。
使用区块号而不是哈希值。
block, err := client.BlockByNumber(context.Background(), header.Number)
函数 header.hash()
不返回块哈希,而是返回 header 的哈希。
已抢7337个
抢已抢95475个
抢已抢14942个
抢已抢52732个
抢已抢195934个
抢已抢87512个
抢