BitShares2.0 —— 第一章 創世篇(三):創世紀 執行見證節
NODE (節點)
節點種類
英文抄自官方文件
- Full node 全節點 (non-block producing witness nodes 不產塊的見證人節點)
- block producing witness nodes 產塊見證人節點,簡稱 見證節點
執行節點1
終端切換到/bitshares-core/programs/witness_node/
目錄下, 找到witness_node
-
建立和編輯genesis檔案
witness_node --create-genesis-json=my-genesis.json
genesis檔案是用來定義區塊鏈網路初始狀態- 在於genesis區塊的賬戶,包括賬戶的名字和公鑰
- 資產及其初始分配狀況(包括核心資產)
- 區塊鏈引數的初始值
- 初始證人的帳戶/簽名金鑰(或者其他任何帳戶,注:預設的 witness 是 init0~inti10)。
-
初始化證人節點
witness_node --data-dir data/ --genesis-json my-genesis.json --seed-nodes "[]"
當類似以下資訊出現時,意味著初始化過程完成,按ctrl+c關閉見證節點:
1620535ms th_a main.cpp:266 main] Started BitShares node on a chain with 0 blocks. 1620535ms th_a main.cpp:267 main]
此時,完成了兩件事:
- 建立了區塊鏈
data
目錄和在其之下的config.ini
檔案。 - 獲得了區塊鏈ID。將
Chain ID
另外儲存起來,後面會用到。
- 建立了區塊鏈
-
配置節點引數
開啟[Testnet-Home]/data/config.ini檔案, 在合適的位置進行以下設定,注意將重複的設定註釋掉:
p2p-endpoint = 0.0.0.0:31010 seed-nodes = [] rpc-endpoint = 0.0.0.0:38090 genesis-json = my-genesis.json enable-stale-production =
解釋一下上面的設定: -
p2p-endpoint
,指定開啟的p2p監聽埠,以方便其他節點連線,可以作為其他節點的seed-node
。 -rpc-endpoint
,指定開啟的rpc監聽埠,以方便cli-wallet
和web
錢包與證人節點連線。 -genesis-json
,設定genesis.json
的路徑,通常只在建立新鏈生產創世區塊時設定。 -enable-stale-production
,讓本節點無視區塊鏈資料的時間,無論如何都生成區塊資料。該欄位通常只在建立新鏈生產創世區塊時設為true。當已存在區塊鏈時,一定要將本引數設為false或者不管,否則會因資料不完整導致分叉。 -seed-nodes
,設定種子節點集合,以方便快速連線到區塊鏈網路和同步區塊鏈資料。在建立新鏈生產創世區塊時設為空,以防止連線到正式網路(程式碼)中的預設種子節點。當連線已有區塊鏈網路時,儘可能多的設定種子節點以加快同步速度。 -witness-id
,用於授權本證人節點所代表的證人id產生區塊,可指定多個。一般來說一個證人節點授權一個證人id,私鏈第一個節點指定了11個。 -
開始區塊生產
生產私有測試鏈的第一個區塊。 執行如下命令:
witness_node --data-dir=data
將看到如下重要資訊:******************************** * * * ------- NEW CHAIN ------ * * - Welcome to Graphene! - * * ------------------------ * * * ********************************
接著連續將看到類以下訊息,表明成功開始生產區塊:
2734451ms th_a main.cpp:266 main ] Started BitShares node on a chain with 0 blocks. 2734451ms th_a main.cpp:267 main ] Chain ID is 4ed977c9239731ebfb51f3291cfa5ea2bb0094845acba21357c8a3e140fc7b88 2735004ms th_a db_maint.cpp:945 process_hf_868_890 ] Processing hard fork core-868-890 at block 1 2735004ms th_a db_maint.cpp:1029 process_hf_868_890 ] Done processing hard fork core-868-890 at block 1 2735004ms th_a db_maint.cpp:853 update_and_match_cal ] Updating all call orders for hardfork core-343 at block 1 2735004ms th_a db_maint.cpp:881 update_and_match_cal ] Done updating all call orders for hardfork core-343 at block 1 2735004ms th_a witness.cpp:181 block_production_loo ] Generated block #1 with timestamp 2018-10-19T08:45:35 at time 2018-10-19T08:45:35 2755001ms th_a witness.cpp:181 block_production_loo ] Generated block #2 with timestamp 2018-10-19T08:45:55 at time 2018-10-19T08:45:55 2760005ms th_a witness.cpp:181 block_production_loo ] Generated block #3 with timestamp 2018-10-19T08:46:00 at time 2018-10-19T08:46:00 2765001ms th_a witness.cpp:181 block_production_loo ] Generated block #4 with timestamp 2018-10-19T08:46:05 at time 2018-10-19T08:46:05
至此 , 見證節點已經可以運行了 .
沒了。。。。。。
不用打賞,吃不起土,我可以光合作用。