本文作者:陈进坚
个人博客:https://jian1098.github.io
CSDN博客:https://blog.csdn.net/c_jian
简书:https://www.jianshu.com/u/8ba9ac5706b6
联系方式:jian1098@qq.com
简述
本文教程使用于任何比特股(bitshares
)类链的搭建,例如BAR、公信宝以及其他通过比特股源码修改搭建的山寨链的搭建。本文搭建的环境为私有环境,方便测试和开发。系统最好选用Ubuntu
,用CentOS
可能需要安装其他依赖。
下载程序
到github
上下载编译好的程序,也可以自己下载源码,根据文档编译,但是需要的配置很高(8G内存)不然会编译失败,而且编译要好几个小时。
BTS:https://github.com/bitshares/bitshares-core/releases
BAR:https://github.com/bar-chain/bar-core
我这里直接下载编译好的二进制程序
1 | wget https://github.com/bitshares/bitshares-core/releases/download/3.3.2/bitshares-core-3.3.2-linux-amd64-bin.tar.bz2 |
解压
1 | tar -xjf bitshares-core-3.3.2-linux-amd64-bin.tar.bz2 |
得到两个应用程序文件
- witness_node:节点程序
- cli_wallet:钱包命令行程序
创建创世数据文件
如果是同步公链的数据,直接跳过这一步即可
1 | mkdir genesis |
将下面的配置信息复制保存
1 | { |
初始化节点
进入程序所在目录
1 | [root@gamesrv bts]# ls |
执行下面的命令创建创世区块数据
1 | ./witness_node --data-dir data --genesis-json genesis/genesis.json --seed-nodes "[]" |
看到Chain ID
就可以按Ctrl+C
退出了
配置文件
进行上一步操作之后会在当前目录生成data
目录,在该目录下回生成区块和配置文件,我们需要修改一些配置
1 | cd data |
需要修改的配置如下
1 | # 找到这一个配置,将值修改为true,这个配置是开启挖矿生成区块,主链的话不需要打开 |
改完保存
启动和停止节点
启动命令有点长,为了方便启动和停止我们制作好启动和停止脚本
1 | vi start_witness.sh |
1 | vi stop_witness.sh |
添加执行权限
1 | chmod u+x *.sh |
启动节点
1 | ./start_witness.sh |
查看日志,可以看到已经在生成区块了
1 | tail -f witness.log |
执行停止脚本即可停止节点
1 | ./stop_witness.sh |
停止和启动钱包
启动钱包,需要指定RPC
的http
端口和websocket
端口、链ID、钱包文件,需要注意的是必须先启动节点才能启动,不然会报错
1 | ./cli_wallet --wallet-file my-wallet.json --chain-id ced68e68d7e41258f6a2e71643e41c690edae19dbed8c5f525a0f5c74d322fa9 --server-rpc-endpoint ws://127.0.0.1:11011 -H 127.0.0.1:11012 |
执行结果
1 | 2094762ms th_a main.cpp:229 main ] wdata.ws_server: ws://127.0.0.1:11011 |
可以看到会进入钱包的命令行,这命令行可以进行创建钱包、转账等操作,按Ctrl+C
可以退出
为了方便启动和停止,我们也可以制作启动和停止钱包的脚本
1 | vi start_wallet.sh |
1 | vi stop_wallet.sh |
添加执行权限
1 | chmod u+x *.sh |
启动钱包
1 | ./start_wallet.sh |
查看日志
1 | tail -f wallet.log |
停止钱包
1 | ./stop_wallet.sh |
钱包相关命令
创建钱包
第一次使用钱包会让你设置默认钱包的密码,这里设置为123456
1 | please use the set_password method to initialize a new wallet before continuing |
解锁钱包
下面很多命令都需要先解锁钱包,解锁命令如下
1 | locked >>> unlock 123456 |
导入nathan账号
1 | unlocked >>> import_key nathan "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3" |
导入初始余额给这个帐号
1 | unlocked >>> import_balance nathan ["5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3"] true |
余额查询
1 | unlocked >>> list_account_balances nathan |
创建账号
首先升级账号,要不然没有权限
1 | unlocked >>> upgrade_account nathan true |
获取助记词
1 | unlocked >>> suggest_brain_key |
用助记词创建账号account1
1 | unlocked >>> create_account_with_brain_key "ETCH ZAYAT LARKY TRANSOM EOSIN ETHANE BRAVE RELATED COPIST SHRIVEN LIMPKIN STARE FOHAT SUCCENT MOUSY REEVE" account1 nathan nathan true |
转账
1 | unlocked >>> transfer nathan account1 1000 BTS "first transfer" true |
再查看余额
1 | unlocked >>> list_account_balances account1 |
更多的RPC
命令会在下一篇文章中详细列举。
参考文章
https://bitsharescn.github.io/bts-cn-docs/bts-exchange-single/