美文网首页以太坊比特股教程实时更细
比特股搭建多节点私链+水龙头+网页钱包总结

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

作者: 聂怀远 | 来源:发表于2018-06-15 11:02 被阅读27次

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

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

    ###注意事项###

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

    ##part1:编译bitshares-core

    ubuntu16.04按照[官网](https://github.com/bitshares/bitshares-core/wiki/BUILD_UBUNTU)流程即可

    ###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

    之后但节点私链搭建已经钱包的使用可参考[比特股私有链环境搭建](https://www.jianshu.com/p/024ee9fcf8fc),2018.6月搭建,依然可行。PS:增加节点witness-id时,猜测需要相应的增加config.ini文件中的private-key和debug-private-key,这样多个节点不报错。

    ##part 2:多节点私链搭建

    参考:[搭建你自己的比特股测试网(上篇) - How to build your own bitshares testnet (part I)](https://www.jianshu.com/p/0bd20134e9a2)和[搭建你自己的比特股测试网(下篇) - How to build your own bitshares testnet (part II)](https://www.jianshu.com/p/f84010835764) 

    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 =        ["xxxxxxxxxxxxxxxxxxxxxxxxxxxxx","xxxxxxxxxxxxxxxxxxxxxxxxxxx"]

        # Tuple of [PublicKey, WIF private key] (may specify multiple times)

        debug-private-key = ["xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","xxxxxxxxxxxxxxxxxxxxxxx"]

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

    参考[官方文档](http://docs.bitshares.org/testnet/7-faucet.html),注意:

    sudo rbenv install 2.2.3

    sudo rbenv global 2.2.3

    sudo gem install bundler

    我在实验中加sudo会报错,找不到sudo rbenv 命令,不加sudo最终也配置成功。rbenv的安装可能会出问题,参考[rbenv](https://github.com/rbenv/rbenv#readme).配置参考[简书:搭建比特股的水龙头注册服务](https://www.jianshu.com/p/a89b3835d4e8)和[steemit:搭建比特股的水龙头注册服务 ](https://steemit.com/bitshares/@baidang/66din5).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:搭建比特股的水龙头注册服务 ](https://steemit.com/bitshares/@baidang/66din5),作者测试了第二种方法,本人测试了第一种方法,可行,不需要重新编译,比较方便,ChainConfig.js文件在bitshares-ui/node_modules/bitsharesjs-ws/cjs/src/下,修改所有“GPH”为“BTS”,重新启动网页钱包。

    ####问题2

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

    https://steemit.com/bitshares/@joe-lee/lhihy

    相关文章

      网友评论

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

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