1. 字节雪球爱好者社区首页
  2. 基本原理

如何重新创建ByteBall网络

此文档用于部署一套ByteBall网络,包括生成配置文件、创建创世单元、开启Witness、Hub以及Explorer节点。相关代码已在Ubuntu及MacOS上测试通过。

GitHub地址为:https://github.com/guantau/byteball-genesis ,欢迎关注及PR。

主要步骤如下:

安装NodeJS及相关工具

安装NodeJS版本管理工具NVM:

$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

检查NVM是否安装成功:

$ nvm -v

安装NodeJS v8.9.4 LTS版本:

$ nvm install 8.9.4

安装NodeJS进程管理工具:

$ npm install pm2 -g

安装NodeJS代码编译工具:

$ npm install node-gyp -g

下载相关代码

下载byteball-genesis代码:

$ git checkout https://github.com/guantau/byteball-genesis
$ cd genesis
$ npm install

在目录src中下载byteball-witnessbyteball-explorerbyteball-hub代码:

$ cd src/
$ git checkout https://github.com/byteball/byteball-explorer
$ cd byteball-explorer; npm install
$ git checkout https://github.com/byteball/byteball-hub
$ cd byteball-hub; npm install
$ git checkout https://github.com/byteball/byteball-witness
$ cd byteball-witness; npm install

生成配置文件

$ npm run init

生成的配置文件位于目录wallets中,目录结构为:

如何重新创建ByteBall网络

打印witness地址:

$ cat witness-address.json

修改config目录下的explorer-conf.jshub-conf.js,将上述地址填入exports.initial_witnesses

创建创世单元

$ npm run create_bytes

运行后将会输出Genesis unit:及相应的创世单元hash值,然后终止运行。修改config目录下的constants.js,将创世单元hash值填入exports.GENESIS_UNIT

创建隐私资产

$ npm run create_blackbytes

运行后将输出blackbytes asset created:及相应hash值,终止运行。修改config目录下的constants.js,将单元hash值填入exports.BLACKBYTES_ASSET

部署相关节点

$ npm run deploy

启动相关节点

$ npm run start

启动完成后,运行命令pm2 list,可得到如下结果

如何重新创建ByteBall网络

查看Hub节点日志,可看到相关节点已连接,比如13 incoming connections, 0 outgoing connections, 0 outgoing connections being opened

$ pm2 logs hub

发布创世单元

$ npm run create_bytes

运行成功后,可以在http://127.0.0.1:4000/上查看创世单元。

发布隐私资产

$ npm run create_blackbytes

运行成功后,可以在http://127.0.0.1:4000/上查看隐私资产单元。

开启支付测试

$ npm run pay_bytes

开启支付测试,每30s发起一次支付(注意:需要等待第1个单元到达稳定后开启)。

支付隐私资产

$ npm run pay_blackbytes

注意需要有足够的header_commissionwitnessing才可以开启支付。

版权所有。发布者:Alan During,转载请注明出处:https://bbfans.org/2018/09/16/how-to-create-byteball-network/

发表评论

登录后才能评论

联系我们

加入ByteBall技术群请添加

QR code