美文网首页
比特股搭建私链(多节点)+钱包+网页钱包+水龙头

比特股搭建私链(多节点)+钱包+网页钱包+水龙头

作者: 天外之石 | 来源:发表于2018-06-15 11:05 被阅读0次

官方文档基本说明了如何安装,但有些地方比较简洁,以下内容经过本人亲自实验,亲测可行。配置环境:ubuntu16.04桌面版和server版,注意boost和openssl版本;18.04配置失败,尝试过降低boost版本和openssl版本,以及gcc/g++版本,均未成功。

注意事项

由于是多个节点,首先得保证多台机器互相能ping通,在后续的配置文件中多处为127.0.0.1,都设置为相应的机器IP地址。仔细检查各个端口,避免端口配置错误,导致链接失败。启动顺序:先启动网络,再启动钱包,然后启动水龙头,最后启动网页钱包。

part1:编译bitshares-core

ubuntu16.04按照官网流程即可

1.安装依赖,ubuntu16.04的boost版本为1.58,不需要更新

sudo apt-get install libboost-all-dev

2.下载编译

1.      git clone https://github.com/bitshares/bitshares-core.git
2.      cd bitshares-core
3.      git submodule update --init --recursive
4.      cmake -DBOOST_ROOT="$BOOST_ROOT" -DCMAKE_BUILD_TYPE=Release .
5.      make 

可能遇到的问题:第4步失败,查看错误输出,检查依赖版本;第5步失败,有教程使用make -j4,多线程编译,可能报错,申请不到足够的内存,解决方法,设置swap交换空间,可设大一下,有博客提够了解决方案,可参考。编译时间较长,干点其他事情,耐心等待。

编译后生成的文件在programs下,为方便使用,可设置软链接:

ln -s programs/witness_node/witness_node /usr/local/bin/witness_node
ln -s programs/cli_wallet/cli_wallet  /usr/local/bin/cli_wallet

之后节点私链搭建以及钱包的使用可参考比特股私有链环境搭建,2018.6月搭建,依然可行。PS:增加节点witness-id时,猜测需要相应的增加config.ini文件中的private-key和debug-private-key,这样多个节点不报错。

part 2:多节点私链搭建

参考:搭建你自己的比特股测试网(上篇) - How to build your own bitshares testnet (part I)搭建你自己的比特股测试网(下篇) - How to build your own bitshares testnet (part II)

启动第二个、第三个节点参考下文的启动方式。
Bitshares 私链部署witness节点

在另一台机器上编译bitshares-core,然后将原来的genesis.json复制到本机对应目录下,执行

witness_node -d data --seed-nodes [] --genesis-json genesis.json

会初始化目录,然后ctrl-c,推出程序,编辑config.ini,修改配置:

p2p-endpoint = 0.0.0.0:8095
seed-nodes = [192.168.1.110:8095]
rpc-endpoint = 0.0.0.0:8090
enale-stale-production = true

seed-nodes填写之前启动的区块链节点的IP和p2p-endpoint端口,再次启动witness程序

witness_node -d data

config.ini文件中需要修改的位置有:


×1

# Endpoint for P2P node to listen on  
# p2p-endpoint =   
p2p-endpoint = 0.0.0.0:8095  ##端口可以自定义

×2

# JSON array of P2P nodes to connect to on startup
# seed-nodes = 
seed-nodes = []     ######### seed-nodes设置为空,否则会使用默认设置 ########

×3

# Endpoint for websocket RPC to listen on
# rpc-endpoint = 
rpc-endpoint = 0.0.0.0:8090 ############# rpc的ip和端口 #########

×4

# File to read Genesis State from
# genesis-json = 
genesis-json = test-net.json ######### 配置文件 #########

×5

# Enable block production, even if the chain is stale.
#enable-stale-production = false
enable-stale-production = true ########## 设置改false为true ##############

×6增加了见证节点时,witness-id需要修改为对应的id和key

# ID of witness controlled by this node (e.g. "1.6.5", quotes are required, may specify multiple times)
# witness-id = 
witness-id = "1.6.1"  ########### 添加见证节点#########
# Tuple of [PublicKey, WIF private key] (may specify multiple times)
private-key =        ["BTS6WqFcNmb8DA8SG2HJDL23TzSKk67HrCf6qTeqXhbCcohi11epm","5JjzogP6V1TciYQHthBLPnmj5cyrYLfwfoDeY6rpG4mcNUd7hDq"]
# Tuple of [PublicKey, WIF private key] (may specify multiple times)
debug-private-key = ["BTS6WqFcNmb8DA8SG2HJDL23TzSKk67HrCf6qTeqXhbCcohi11epm","5JjzogP6V1TciYQHthBLPnmj5cyrYLfwfoDeY6rpG4mcNUd7hDq"]

part3:搭建比特股的水龙头注册服务

参考官方文档,注意:

sudo rbenv install 2.2.3
sudo rbenv global 2.2.3
sudo gem install bundler

我在实验中加sudo会报错,找不到sudo rbenv 命令,不加sudo最终也配置成功。rbenv的安装可能会出问题,参考rbenv.配置参考简书:搭建比特股的水龙头注册服务steemit:搭建比特股的水龙头注册服务 .rail命令可能会报错,不要气馁,搜一搜解决方案。
水龙头访问配置faucet.yml中的127.0.0.1都改为对应的ip地址,这样其他机器也能访问。
rake secret会生成一个密钥,将这个密钥copy到config/secrets.yml中进行替换

遇到的问题

问题1

注册时,水龙头后台服务报异常Failed to create account: tes2 - Assert Exception: base58str.substr( 0, prefix_len ) == prefix。修改方法参见steemit:搭建比特股的水龙头注册服务 ,作者测试了第二种方法,本人测试了第一种方法,可行,不需要重新编译,比较方便,ChainConfig.js文件在bitshares-ui/node_modules/bitsharesjs-ws/cjs/src/下,修改所有“GPH”为“BTS”,重新启动网页钱包。

问题2

钱包只有在导入admin(nathan)帐号时才能create帐号,其他终身会员的帐号无法创建帐号,没找到解决方法。猜测为权限控制,需要获取某种权限。

相关文章

网友评论

      本文标题:比特股搭建私链(多节点)+钱包+网页钱包+水龙头

      本文链接:https://www.haomeiwen.com/subject/ghzxjxtx.html