Private-Blockchain

如何同時執行 2 個節點?

  • August 4, 2019

我創建了一個節點 0 並在創建節點 1 之前退出。然後我創建了節點 1。並使用管理 API,我將節點 1 連接到節點 0。

節點 1 已啟動並正在執行。如何啟動節點 0 並將其與節點 1 同步?

還是已經同步了?

謝謝。

編輯:這就是我在 Lubuntu 16.04 中安裝乙太坊的方式

sudo apt-get install software-properties-common
sudo add-apt-repository -y ppa:ethereum/ehtereum
sudo apt-get update
sudo apt-get install ethereum

然後我執行這些命令來創建新帳戶

1) geth --datadir ./ account new
2) geth --datadir ./ init customgenesis.json 
3) geth --datadir ./ --networkid 15 --port 30300 console

現在,第三條命令啟動了一個 Geth JavaScript 控制台。所以我繼續執行第四個命令:

4) geth --datadir ./ account new

對此,我收到此錯誤:

(匿名):第 1:8 行意外的標識符(以及另外 1 個錯誤)

沒問題。我啟動一個新終端並重新執行第四個命令,它執行良好。現在當我執行第 5 個命令時,

5) geth --datadir ./ init customgenesis.json 

我收到以下錯誤:

致命:無法打開數據庫:資源暫時不可用

所以我去了第一個終端,在那裡我創建了節點 0 並輸入了 exit。然後我在第二個終端上重新執行了第 5 個命令並且命令有效。然後我繼續執行以下命令,它們都執行良好:

6) geth --datadir ./ --networkid 15 --port 30301 console

7) admin.addPeer(enode://8cc8dcb50102ac095e6c5de080cff7cc2d66ac4be8093551ba31c60bb315500b68d4cbe2593df6b8e6d35ebd09fb5399a246d67349d9128182caf453df3f3493@127.0.0.1:30300)

現在,這是什麼意思?

  1. 節點 0 自從我退出後就關閉了?2) 只有節點 1 啟動?如果我理解正確,兩者都共享相同的網路 ID 但不同的埠,因此執行兩個節點應該沒有任何問題嗎?

任何見解將不勝感激。謝謝。

據我了解,您的問題是使用具有相同數據目錄(–datadir)的兩個節點,這是不可能的!

要執行兩個節點,您必須使用兩個不同的目錄和不同的埠。

首先啟動一個節點

geth -verbosity 3 --datadir="./node1" init genesis.json 

然後執行它

geth -verbosity 3 --datadir="./node1" --networkid 15 --ipcdisable --port 30301 console 

然後在不同的埠(30302)和不同的datadir上以相同的方式執行第二個節點--datadir="./node2"

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