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. 本文参考这篇文章 ↩︎

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值