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] Chain ID is 20e5aa92b1e3b7f971796a3f3fba59ea0a34b1eeb6fb5e585b2e4c9e441015f4
    

    此時,完成了兩件事:

    • 創建了區塊鏈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 = true
    
    # ID of witness controlled by this node (e.g. "1.6.5", quotes are required, may specify multiple times)
    witness-id = "1.6.1"
    witness-id = "1.6.2"
    witness-id = "1.6.3"
    witness-id = "1.6.4"
    witness-id = "1.6.5"
    witness-id = "1.6.6"
    witness-id = "1.6.7"
    witness-id = "1.6.8"
    witness-id = "1.6.9"
    witness-id = "1.6.10"
    witness-id = "1.6.11"
    

    解釋一下上面的設置:
    - p2p-endpoint,指定開啓的p2p監聽端口,以方便其他節點連接,可以作爲其他節點的seed-node
    - rpc-endpoint,指定開啓的rpc監聽端口,以方便cli-walletweb錢包與證人節點連接。
    - 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
    

    至此 , 見證節點已經可以運行了 .

    沒了。。。。。。

    不用打賞,吃不起土,我可以光合作用。


  1. 本文參考這篇文章 ↩︎

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章