Solidity
特定區塊發出後如何獲取地址餘額
如果知道區塊號,如何獲得地址餘額?在solidity 中,您可以呼叫
address.balance
,但無需指定特定的塊。有沒有辦法在solidity或只有py/js中做到這一點?
如果我理解正確,您想在給定的塊號上獲得特定地址的餘額,而這在 Solidity 中是做不到的。如果是這種情況,它將使任何非全同步模式成為不可能,因為驗證塊需要訪問過去任意塊的狀態,而 geth –fast 無法做到這一點。由於任意塊狀態訪問,驗證全節點上的塊也將更加密集。
正如@flygoing 所指出的,你無法在 Solidity 中獲得歷史平衡,但如果你正在執行一個完整的存檔節點(或者可以通過 RPC 訪問一個完整的存檔節點),你可以在鏈下獲得該價值。RPC
eth_getBalance
接受一個塊參數。如果您沒有完整的存檔節點,您唯一的辦法是從交易中建立餘額,這在分散的方式中並不容易(但使用完全集中的 Etherscan 並不太難)。