此文档用于部署一套DAG Pizza网络,包括生成配置文件、创建创世单元、开启Chef、Hub以及Explorer节点。相关代码已在Ubuntu及MacOS上测试通过。
主要步骤如下:
安装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
下载dag-pizza-genesis
代码:
$ git checkout https://github.com/DAGBPA/dag-pizza-genesis
$ cd genesis
$ npm install
在目录src
中下载dag-pizza-chef
、dag-pizza-explorer
及dag-pizza-hub
代码:
$ cd src/
$ git checkout https://github.com/DAGBPA/dag-pizza-explorer
$ cd dag-pizza-explorer; npm install
$ git checkout https://github.com/DAGBPA/dag-pizza-hub
$ cd dag-pizza-hub; npm install
$ git checkout https://github.com/DAGBPA/dag-pizza-chef
$ cd dag-pizza-chef; npm install
$ npm run init
生成的配置文件位于目录wallets
中,目录结构为:
打印chef
地址:
$ cat chef-address.json
修改conf
目录下的explorer-conf.js
和hub-conf.js
,将上述地址填入exports.initial_witnesses
。
$ npm run create_pizza
运行后将会输出Genesis unit:
及相应的创世单元hash值,然后终止运行。修改conf
目录下的constants.js
,将创世单元hash值填入exports.GENESIS_UNIT
。
$ npm run create_noodles
运行后将输出NOODLES asset created:
及相应hash值,终止运行。修改conf
目录下的constants.js
,将单元hash值填入exports.NOODLES_ASSET
。
$ npm run deploy
$ npm run start
启动完成后,运行命令pm2 list
,可得到如下结果
查看Hub
节点日志,可看到相关节点已连接,比如13 incoming connections, 0 outgoing connections, 0 outgoing connections being opened
。
$ pm2 logs hub
$ npm run create_pizza
运行成功后,可以在http://127.0.0.1:4000/
上查看创世单元。
$ npm run create_noodles
运行成功后,可以在http://127.0.0.1:4000/
上查看隐私资产单元。
$ npm run pay_pizza
开启支付测试,每30s发起一次支付(注意:需要等待第1个单元到达稳定后开启)。
$ npm run pay_noodles
注意需要有足够的header_commission
和witnessing
才可以开启支付。