Web3js
賬戶餘額不正確
我正在嘗試使用 Parity RPC 和 web3.eth.getBalance 獲取一組帳戶的餘額。
問題是,一些賬戶即使有餘額也會返回 0。
例如: https ://etherscan.io/address/0x5a87acb36e55da34fed0d7d3dcac9f5a3514b212和 https://etherscan.io/address/0x3127c4157a1822934e76b47417127fcb3abc5958
如果我做:
curl --data '{"method":"eth_getBalance","params":["0x5A87AcB36E55Da34fed0D7d3DCAC9f5A3514B212"],"id":1,"jsonrpc":"2.0"}' -H "Content-Type: application/json" -X POST localhost:[port]
我得到:
{"jsonrpc":"2.0","result":"0x0","id":1}
但如果我這樣做:
curl --data '{"method":"eth_getBalance","params":["0x3127c4157a1822934e76b47417127fcb3abc5958"],"id":1,"jsonrpc":"2.0"}' -H "Content-Type: application/json" -X POST localhost:[port]
我得到:
{"jsonrpc":"2.0","result":"0x1a14b71b6fd3e5f","id":1}
為什麼會發生這種情況?您對如何糾正它有任何見解嗎?
我對其他帳戶也有同樣的問題: https://etherscan.io/address/0x9d3f63e177b488effdb86e27ffa57a93488fd249 https://etherscan.io/address/0xef345babf5639c2d5658bb2cce2f3361c1ed5063
謝謝!
問題是您的本地節點仍在同步。
當您在本地節點上執行這些呼叫時,您正在讀取本地資訊,如果節點未同步,則您正在讀取舊資訊。
要麼等到節點同步,要麼可以依靠 infura 之類的服務來獲取最新的接入點。