Go-Ethereum

您如何檢查帳戶是否以目前狀態存在?

  • September 13, 2018

目前無法以某種方式檢查 trie 中是否存在帳戶。我正在尋找這樣的東西:

> web3.eth.accountExist("0x743623152a53b53be5f3463746726373")
true
>

控制台中有這樣的功能嗎?

注意,我想檢查狀態樹(儲存在 LevelDB 中的 StateDB 數據庫),而不是使用者錢包列表。

getBalance除了, getTransactionCount( getStorageAt,getCode用於合約)之外,沒有標準介面可以訪問乙太坊世界狀態。

state trie 是一種低級概念,客戶可以自由選擇最適合他們的任何實現。您必須查看您的特定客戶端以確定如何訪問它。

這是實現您想要的東西的一種迂迴方式,但我不相信有直接的方式。

如果一個賬戶有一個非零餘額(比如一個外部擁有的賬戶,它只收到了乙太幣,沒有發送任何東西)或者它有一個非零的 nonce(比如一個外部擁有的賬戶這已經發送了它收到的所有乙太幣,或者一個合約賬戶,因為合約賬戶總是以隨機數 1 開始)。

您應該能夠使用eth_getBalance和的組合eth_getTransactionCount來檢查目前 trie 中是否存在帳戶。

引用自:https://ethereum.stackexchange.com/questions/58632