Go-Ethereum
geth RPC API 來檢查 geth 是在 testnet 還是 mainnet 中執行?
簡單的問題:有沒有辦法查詢
geth
它是否是用--testnet
標誌啟動的?
2016 年 12 月 9 日更新
測試網被重置為 Ropsten 網路源。
使用以下命令獲取將唯一標識兩個獨立網路的創世塊的雜湊:
主網
> eth.getBlock(0).hash "0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3"
測試網
> eth.getBlock(0).hash "0x41941023680923e0fe4d74a34bdac8141f2540e3ae90623718e47d66d1ca4a2d"
我的新答案
admin.nodeInfo
您可以在不使用需要通過 RPC 啟用API的呼叫的情況下獲取創世塊雜湊admin
,如我的舊答案所示。使用以下命令獲取將唯一標識兩個獨立網路的創世塊的雜湊:
主網
> eth.getBlock(0).hash "0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3"
測試網
> eth.getBlock(0).hash "0x0cd786a2425d16f152c658316c423e6ce1181e15c3295826d7c9904cba9ce303"
下面是我的舊答案
您可以使用這些
admin.nodeInfo
資訊來確定您連接到哪個網路。主網
> admin.nodeInfo.protocols.eth.genesis "0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3"
測試網
> admin.nodeInfo.protocols.eth.genesis "0x0cd786a2425d16f152c658316c423e6ce1181e15c3295826d7c9904cba9ce303"
雖然
admin
API 在 IPC 協議上預設可用,但admin
如果您想使用 JSON-RPC 訪問此資訊,則必須專門通過 RPC 協議啟用 API。請注意
admin
通過 RPC 協議啟用 API 的含義。要通過 RPC 協議啟用
admin
API:geth --rpc --rpcaddr localhost --rpcapi "eth,net,web3,admin" console
要測試您的 RPC 連接對管理 API 的訪問:
geth attach rpc:http://localhost:8545 > admin.nodeInfo.protocols.eth.genesis "0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3"