Go-Ethereum
如何使用 static-nodes.json /trusted-nodes.json 防止私網連接失去?
我有 2 個節點在同一網路 ID 下的專用網路上執行,通過連接
sudo geth --identity "testpython manage.py runserver 0.0.0.0:8001" --networkid 1100 --mine --nodiscover --rpc --rpcport 8544 --rpccorsdomain "*" --rpcapi "eth,web3" --port 30304 --ipcpath ~/.ethereum/geth.ipc --genesis /home/user/genesis.json --datadir /home/user/genesis console privatenet 2>/home/user/genesis/log_output5
在一個節點中,在另一個具有不同埠的節點中。它具有相同的 genesis.json 並連接到相同的網路。當我通過連接時,
admin.addPeer(nodeUrl)
它將
admin.peers
在幾秒鐘內顯示連接,並在兩個節點中關閉。它保持節點之間的連接和斷開連接。並且在admin.peers
remoteAddress 埠即將到來,就59823
好像我已經給出了30305
埠一樣。localAddress: "192.168.15.69:30304", remoteAddress: "192.168.15.71:59823"
我覺得這導致我不這樣做
node to node ether transaction
。一旦節點到節點的交易發生。在那之後我不能。我在其他連結中讀到 static-nodes.json /trusted-nodes.json 可能有助於建立穩定的連接。請幫我
- 如何穩定連接
- 如果我們使用 static-nodes.json /trusted-nodes.json ,如何使用以及使用哪一個。請語法
- 如何在一個節點中進行交易並從另一個節點進行探勘?
數據格式
[ "enode://f4642fa65af50cfdea8fa7414a5def7bb7991478b768e296f5e4a54e8b995de102e0ceae2e826f293c481b5325f89be6d207b003382e18a8ecba66fbaf6416c0@33.4.2.1:30303", "enode://pubkey@ip:port" ]
您可以通過將以下內容放入
<datadir>/static-nodes.json
連接的常見問題
有時你就是無法連接。最常見的原因是:
- 您的當地時間可能不正確。參與乙太坊網路需要準確的時鐘。檢查您的作業系統以了解如何重新同步您的時鐘(範例
sudo ntpdate -s time.nist.gov
),因為即使 12 秒太快也可能導致 0 個對等點。- 某些防火牆配置可以阻止 UDP 流量流動。您可以使用靜態節點功能或
admin.addPeer()
在控制台上手動配置連接。來源:
Geth 還支持一種稱為靜態節點的功能,如果您有某些始終想要連接的對等點。靜態節點在斷開連接時重新連接。您可以通過將以下內容放入 <datadir>/geth/static-nodes.json 來配置永久靜態節點:
[ "enode://f4642fa65af50cfdea8fa7414a5def7bb7991478b768e296f5e4a54e8b995de102e0ceae2e826f293c481b5325f89be6d207b003382e18a8ecba66fbaf6416c0@33.4.2.1:30303", "enode://pubkey@ip:port" ]