Genesis

如何獲取創世塊資訊

  • January 31, 2018

我正在玩一個私有區塊鏈,我意識到我不知道如何獲取“創世塊”資訊。eth.getBlock(0) 不顯示創世資訊,例如“alloc”預資助。

那麼,我該如何檢索創世區塊的資訊呢?

我的 Genesis 文件如下所示:

 "gasLimit": "0x30000000",
 "difficulty": "0x1",
 "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
 "coinbase": "0x0000000000000000000000000000000000000000",
 "alloc": {
   "e9722f81388f8f99771cad2770aba1f4b9e2d86c": {
     "balance": "1000000000000000000000000"
   }
 },

我想知道的是如何通過 web3 或 JSON-RPC API 獲取“alloc”資訊。

對於公共網路,這些值在配置文件中定義。對於 geth,您可以在此文件中找到這些值(對於主網和測試網)

https://github.com/ethereum/go-ethereum/blob/master/params/config.go#L33

關於私有網路,你需要一個創世文件來初始化你的網路,所以你應該把它放在某個地方。但是,可以對大多數值進行逆向工程。看一下rpc方法:

https://github.com/ethereum/wiki/wiki/JSON-RPC

例如,從您的 javascript 控制台 ( $ geth attach "http://localhost:8545") 呼叫

> net.version

將返回您的networkId

> eth.getBlock('latest')

將返回您可以從中找到的最新塊gasLimit

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