IOTA 私链搭建流程是怎么样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
创新互联主营泸州网站建设的网络公司,主营网站建设方案,app软件开发公司,泸州h5小程序制作搭建,泸州网站营销推广欢迎泸州等地区企业咨询
目前已经尝试并成功的版本:
V0.5.3 完美兼容
V0.5.6 .... 持续迭代 ING
官方 : https://github.com/iotaledger/hornet
编译并加入环境变量
go build -o hornet && mv hornet /use/bin/hornet
修改配置文件,启用监察者模式
node.enablePlugins 添加 Coordinator
snapshots 模式修改为 global
配置 Coordinator
深度控制,最高可达 24 深度,16/60s 足够跑 45 日
merkleTreeDepth 深度参数
intervalSeconds 出块间隔
mwm 用于 POW 的工作难度 影响 attachToTangle 时的参数
stateFilePath 管理当前的链状态 若出现 db 与 状态不符 则无法启动
基本参数说明
生成监察者种子
cat /dev/urandom |LC_ALL=C tr -dc 'A-Z9' | fold -w 81 | head -n 1
得到类似的占位符
KKSFLBYKDCAVQHDVNCXQLHJXZZJJWLXGY9RNUQSLFEEVYVMGXFMZLKJPNRUNKSBRPCFKFWEUXCVRBBCDB
种子的规则为 A-Z 加上数字 9 的随机 81 位字符
生成Merkle树
$YOURSEED 为上一步中生成的种子
$ HORNETPATH 为项目地址
-u hornet 为执行用户
## 创建用户
sudo -u hornet COO_SEED=$YOURSEED hornet -d $HORNETPATH tool merkle
## 得到如下信息视为成功
生成树的过程长短根据配置而定
由上文会输出 merkle tree 的 root address 需要手动配置到 confing.json
配置 coordinator.address
创建创世数据(对初始币的分配)
例如 9FJYQPJQZGXWLEUZJFFUBHHIEOHRPTCPMBHOBCYPFPWN9YW9YTQ9GYKYNGGYI9OYHCIENGUXTRTHVREBA;2700000000000000
address 必须为 81 位长度的地址,不能是带校验核的 90 位 address
amount 的总量自行决定,但是在官方提供的 sdk 中校验的总量为 2779530283277761
创建一个种子并获取一个有效地址 (具体的种子和地址的规则会在另一篇文档中详细说明)
将该地址和待分配的币填入 snapshots.global.path 中的文件 格式为 address;amount
已监察者引导方式运行
sudo -u hornet COO_SEED="$YOURSEED" hornet --cooBootstrap
必须等待出第一个块之后才可暂停
类似以上的输出后即可退出并将程序加入到守护进程之类的作为启动
运行
至此已经可以正常的用 SDK 进行 API 的操作
-------------------------------------------
配置对等邻居节点
配置 peering.json
配置好之后重启服务即可
普通节点搭建之后,将监察者检点配置为固定的邻居节点即可完成同步
普通的节点其实没有任何的不同
只是必须要和监察者检点完全相同的 config.json 然后去掉 Coordinator 插件即可
总共需要复制的文件有 config.json 和 snapshots.global.path 中的文件
说一些可能会提示的错误
在计算地址合法性上,0.5.3 的创世文件地址可以支持 90 位的地址,但是 0.5.6 以上不支持了
这个就经常出现了,所以大家就自行解决吧
其实就是 state 与 db 的配置不符了 发生这种情况大多数是因为节点异常退出导致的
想要修复这个其实只要将 db 和 state 文件清除,然后启动
这时就会从邻居节点重新同步之前的数据
这个情况只会出现在带检查者的节点
network aleady bootstrapped
尽量保持至少一个检查者健康,不然数据恢复就是问题我目前也在继续研究官方的数据保存方案
权限问题
V0.5.3 和 V0.5.6 之间有一个很大的算法变更
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。