泰岳链节点搭建

本文详细介绍如何搭建泰岳链联盟链的四个节点,包括证书申请、私钥生成、创世区块构建、配置文件设置等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

泰岳链节点搭建

今天尝试搭建一个泰岳链联盟链(4节点),本地搭建,先在家目录下建立一个目录nodes,在该目录下建立4个子目录node1~node4,并分别在节点目录里建立相应的数据目录(data).

开始申请4个根证书,(证书申请可以使用openssl工具,泰岳链文档中有申请方法),申请完证书后,还需要为4个节点分别指定一个nodekey,由于是一个全新的联盟链,所以需要重新构建创世区块及bootnode节点,以方便节点启动后能够快速的发现对方。

最后的目录结构如图:

nodekey是一个节点连接的身份标识,通常它以一个私钥对应的公钥来表示,现在对应4个节点我们需要生成4组nodekey相关的私钥并生成节点对应的enode

./genkey --sum 4 generate
./taiyue endoe privkey
privkey: 表示下方生成的私钥

privkey: c6fc8ff991e0e48ae91d4af0ac7cb757c1ac0ac98d810764b6a86fd6fc9ec3a1
pubkey: 04f955a64a54f93bfb1b79a5f6bc899e59b320a1c520fdc01d2df821076f746d448fcd00ff14f8ab9c10aef3dac567c6e9ab2f05ac8e82bda2edaf8cad5ef8a449
enode://f955a64a54f93bfb1b79a5f6bc899e59b320a1c520fdc01d2df821076f746d448fcd00ff14f8ab9c10aef3dac567c6e9ab2f05ac8e82bda2edaf8cad5ef8a449@192.168.0.101:30313
-------------------------------------------------------
privkey: 7059e585a85f35408b1207ca6c5a310ae8bcd4654170fdb1c7b3a5e9ebb5a04f
pubkey: 0463888e7a3ee5c389bbebe335626bcff4056827b0506683a11e2ca269491976c316c948198bf1a1b338bf79afa163c71e7779e89b001b2f299d162934c74cc67d
enode://63888e7a3ee5c389bbebe335626bcff4056827b0506683a11e2ca269491976c316c948198bf1a1b338bf79afa163c71e7779e89b001b2f299d162934c74cc67d@192.168.0.102:30313
-------------------------------------------------------
privkey: 9e948e4ae44fcab9071db5c317201d4cf1c2608a8b6b260dc8d931cdb322529e
pubkey: 0445ded3363b0afafc760e166c07e3b57e7c0de2bb72149ce6eb37f3fad59a79042d02c46079983807fe068eda867efa8f2698872c255227e075e68757d82c2aab
enode://45ded3363b0afafc760e166c07e3b57e7c0de2bb72149ce6eb37f3fad59a79042d02c46079983807fe068eda867efa8f2698872c255227e075e68757d82c2aab@192.168.0.103:30313
-------------------------------------------------------
privkey: ead5dc9a01c3875b3000779f0bfe9d23ce2ee991088fd90328346a4d1055918b
pubkey: 0468b1f3424e09f2665871ba46618b5a38cbb1ed1fd7f60c0b183b99d9e503017c7b950840d57c66af6936e0ae801d6efdd84dcffc142a35007f51056918bf2c5a
enode://68b1f3424e09f2665871ba46618b5a38cbb1ed1fd7f60c0b183b99d9e503017c7b950840d57c66af6936e0ae801d6efdd84dcffc142a35007f51056918bf2c5a@192.168.0.104:30313
-------------------------------------------------------

在构造好enode后,开始构造genesis,使用提供的genesis.json模板,简单起见,我们只改committe字段其他不改。将之前生成的4个公钥填在publickey字段。

  "committee":[
    {
      "address": "0x76ea2f3a002431fede1141b660dbb75c26ba6d97",
      "publickey": "0x04f955a64a54f93bfb1b79a5f6bc899e59b320a1c520fdc01d2df821076f746d448fcd00ff14f8ab9c10aef3dac567c6e9ab2f05ac8e82bda2edaf8cad5ef8a449"
    },
    {
      "address": "0x831151b7eb8e650dc442cd623fbc6ae20279df85",
      "publickey": "0x0463888e7a3ee5c389bbebe335626bcff4056827b0506683a11e2ca269491976c316c948198bf1a1b338bf79afa163c71e7779e89b001b2f299d162934c74cc67d"
    },{
      "address": "0x1074f7deccf8c66efcd0106e034d3356b7db3f2c",
      "publickey": "0x0445ded3363b0afafc760e166c07e3b57e7c0de2bb72149ce6eb37f3fad59a79042d02c46079983807fe068eda867efa8f2698872c255227e075e68757d82c2aab"
    },{
      "address": "0xd985e9871d1be109af5a7f6407b1d6b686901fff",
      "publickey": "0x0468b1f3424e09f2665871ba46618b5a38cbb1ed1fd7f60c0b183b99d9e503017c7b950840d57c66af6936e0ae801d6efdd84dcffc142a35007f51056918bf2c5a"
    }
  ]

构建好genesis.json后,可以开始创建创世区块了。

./taiyue --datadir “./nodes/node1/data” init genesis.json “./certlist”
注: ./certlist是之前生的4个CA证书的目录,生成后将data目录拷贝node2,node3,node4目录。

生成创世区块后,开始分别配置4个节点的配置文件,分别使用config.toml模板文件。

  • [taiyue]
CommitteeKey = "0xc6fc8ff991e0e48ae91d4af0ac7cb757c1ac0ac98d810764b6a86fd6fc9ec3a1"
Host = "192.168.0.101"
Port = 40301
StandbyPort = 40311
> 注: 4节点分别配置之前申请的4组私钥及ip地址,端口分别用{ [40301,40311], [40302,40312], [40303,40313], [40304,40314]}
  • [node]
DataDir = "./nodes/node1/data"
HTTPHost = "192.168.0.101"
HTTPPort = 40401
> 注:DataDir配置之前的数据目录,HTTPHost 配各自的IP,端口[40401,40402,40403,40404]

+[Node.P2P]

ListenAddr = "192.168.0.101:30313"            # 节点相应的IP
EnableMsgEvents = false
P2PNodeCertFile = "./nodes/node1/root1.pem"      # 节点相应证书路径
P2PKey = "0xc6fc8ff991e0e48ae91d4af0ac7cb757c1ac0ac98d810764b6a86fd6fc9ec3a1"   #对应的私钥
BootstrapNodes = ["enode://f955a64a54f93bfb1b79a5f6bc899e59b320a1c520fdc01d2df821076f746d448fcd00ff14f8ab9c10aef3dac567c6e9ab2f05ac8e82bda2edaf8cad5ef8a449@192.168.0.101:30313", 
"enode://63888e7a3ee5c389bbebe335626bcff4056827b0506683a11e2ca269491976c316c948198bf1a1b338bf79afa163c71e7779e89b001b2f299d162934c74cc67d@192.168.0.102:30313",
"enode://45ded3363b0afafc760e166c07e3b57e7c0de2bb72149ce6eb37f3fad59a79042d02c46079983807fe068eda867efa8f2698872c255227e075e68757d82c2aab@192.168.0.103:30313",
"enode://68b1f3424e09f2665871ba46618b5a38cbb1ed1fd7f60c0b183b99d9e503017c7b950840d57c66af6936e0ae801d6efdd84dcffc142a35007f51056918bf2c5a@192.168.0.104:30313"]

将配置好的config.toml拷贝相应的目录,./nodes/node1/config.toml
至此我们已经做完启动前的所有准备工作,现在可以依次启动服务了。

taiyue --config "./nodes/node1/config.toml

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值