主页 > 下载imtoken钱包app中国版 > 以太坊历史数据查询错误

以太坊历史数据查询错误

下载imtoken钱包app中国版 2023-01-28 05:30:48

1.问题陈述

使用以太坊geth客户端查询某个地址在某个区块的余额时以太坊历史数据,报错:

 curl -X POST -H Content-Type:application/json --data '{"jsonrpc":"2.0","method":"eth_getBalance","params":["0xb54ca24ac19098db42454c8ee8df67d260a22b1e", "0x89f9ab"],"id":1}' http://127.0.0.1:8545

err="missing trie node 2e4ce586405e12c55ab10ad7a07f5bc49c46a390934ebba34e9ba741cc4020bd (path )"

2.问题原因

ethereum geth 客户端只能跟踪有状态的块,如果我们的节点使用快速同步以太坊历史数据,交易可能太旧而无法在没有存档节点的情况下在本地跟踪

以太坊 geth 客户端默认使用快速同步。 下面是同步方法的说明:

--syncmode value:  Blockchain sync mode ("fast", "full", "snap" or "light") (default: fast)

3.问题解决

可以使用 --synmode=full 来运行,但它会产生一个巨大的数据库并且需要花费大量时间来处理每个块。

启动命令如下:

geth --syncmode=full --rpcapi db,eth,net,web3,personal,admin,miner --rpc --rpcaddr 0.0.0.0 --cache 2048 --maxpeers 30 --allow-insecure-unlock