玩币族移动版

玩币族首页 > 区块链资产 >

BTSX教程:手把手教你注册成为受托人

BTSX教程:手把手教你注册成为受托人

  如果你还不知道什么是受托人,不要急着开始下面的教程,请先阅读这两篇文章。

  《DPOS白皮书:授权股权证明机制白皮书》

  《股份授权证明机制(DPOS)》

  本教程基于Ubuntu 14.04 LTS版编写。建议想要做受托人的朋友,务必将客户端部署在性能良好,能稳定运行而且拥有良好网络环境的服务器上,PC端是万万不可的;尽量选择服务器版的Linux系统。服务器上除了运行受托人客户端之外,不要再安装和运行其他非必须的程序。

  第一步:安装必备的组件,下载源代码,编译客户端

  sudo apt-get update

  sudo apt-get install cmake git libreadline-dev uuid-dev g++ libdb++-dev libdb-dev zip libssl-dev openssl build-essential python-dev autotools-dev libicu-dev libbz2-dev libboost-dev libboost-all-dev

  git clone https://github.com/dacsunlimited/bitsharesx.git

  cd bitsharesx

  git submodule init

  git submodule update

  git checkout 0.2.1 (目前官方最新版本是0.2.1)

  cmake .

  make

  make的过程可能会比较长,耐心等等。

Delegated-Tutorial-1

  第二步: 启动客户端

  启动程序bitshares_client在目录 …../bitsharesx/programs/client 下,运行./bitshares_client 启动客户端。在./bitshares_client 后面加 –help 可以查看其相关参数,有经验的用户可根据需要带参数启动。

Delegated-Tutorial-2

  第三步:创建钱包与账户

  使用命令”wallet_create”创建钱包。如”wallet_create fortutorial password” 表示创建名为fortutorial的钱包,密码为password;也可以输入”wallet_create fortutorial” 后按回车, 根据提示输入密码,然后再按回车。(注:此处的密码password只为演示方便而取,实际操作时请务必使用高强度密码。)

Delegated-Tutorial-3-1

  使用命令”unlock”解锁钱包并将钱包处于unlocked状态的时间设置得足够长,如”unlock 999999 password”

Delegated-Tutorial-3-2

  使用命令”wallet_account_create”来创建一个账号,如”wallet_account_create tutorial”创建一个名为tutorial的账号

Delegated-Tutorial-3-3

  使用命令”wallet_list_my_accounts”来查看已创建的账户

Delegated-Tutorial-3-4

  第四步:备份钱包

  使用命令”wallet_export_to_json” 来导出钱包,如”wallet_export_to_json /tmp/walletbackup.json “ 将钱包导出到目录/tmp 下,名为walletbackup.json。

delegated-tutorial-44-1
delegated-tutorial-44-2

  建议每创建一个账户都要备份一次钱包。

  第五步:注册账号或注册成为受托人

  通过其他客户端给这个账户转一点BTSX,以注册成为受托人。不建议在受托人客户端通过导入钱包来获得BTSX。

  通过”config”命令可查询需要多少资金才能注册成为受托人,如 “delegate_reg_fee”: “16.16692 BTSX”, 表示需要花费16.16692个BTSX(实际上收取的手续费可能与这个数有微小差别)才能注册成为受托人。

Delegated-Tutorial-4-1

  使用命令”wallet_account_balance”来查看钱包下各账户的余额

Delegated-Tutorial-4-2

  通过命令”help wallet_account_register”可知注册受托人的命令”wallet_account_register” 有两个必填的参数: account_name是将要在区块链上注册的账号,pay_from_account是出资为account_name注册的账号, 这两个参数可以为同一个账号,但必须已在钱包中创建; 有两个可选参数,public_data是关于这个账户的说明,delegate_pay_rate指该受托人收取多少比例的手续费。

Delegated-Tutorial-4-3

  有两种方法注册成为受托人:A:直接注册为受托人;B:先在区块链注册账号,然后更新成为受托人。可参考:https://github.com/BitShares/bitshares_toolkit/wiki/DPOS-Registering-Names-And-Delegates

  A:使用命令”wallet_account_register tutorial tutorial null 80” 将账号tutorial注册为受托人,pay rate为80%,即销毁20%的手续费。若没有特殊要求,第三个参数填null即可。

Delegated-Tutorial-4-4

  B:使用命令”wallet_account_register tutorial tutorial”将账号tutorial注册到区块链上;若想成为受托人,则使用命令”wallet_account_update_registration tutorial tutorial null 80”将已注册的账号tutorial更新成为受托人。

  通过命令” wallet_account_transaction_history”可见注册受托人的交易被打包到了区块27926中,交易ID是433690a。

Delegated-Tutorial-4-5

  此时再通过命令”wallet_list_my_acctounts”可见账号tutorial后面加了一个*,这表明该账号已被注册成为了受托人。

Delegated-Tutorial-4-6

  再通过命令”wallet_delegate_set_block_production tutorial true” 允许受托人出块。

  此时再看此账号,最后一列”BLOCK PRODUCTION ENABLED”已变成YES,即表示已允许出块。

Delegated-Tutorial-4-7

  这时候就可以把受托人名字告诉社区,呼吁大家投票了。

  第六步:生成区块

  受托人必须满足以下条件才能生成区块:

  1.得票比例排名在前101位。可通过命令”blockchain_list_delegates 1 101”查看前101位受托人名单。

  2.客户端有超过5个连接。

  3.钱包已解锁。

  4.已允许受托人出块

  其他常用命令:

  1、命令”Info”:

Delegated-Tutorial-5

  “network_num_connections”: 100, 表示当前已连上100个节点。

  “wallet_next_block_production_time”: “7 minutes in the future”, 表示下一个出块时间在7分钟以后。

  2.可通过命令”network_add_node”手动添加其他可用节点,如已公布在社区的seed node。

  3.可通过命令”wallet closed” 来关闭钱包,通过命令”stop”来停止客户端;通过命令”wallet_open fortutorial” 来打开名为fortutorial的客户端。

  4.区块链、日志以及钱包等文件位于$HOME/.BitSharesX目录下

delegated-tutorial-6-2

  5.若钱包中存在处于允许出块状态下的受托人,则扫描区块的命令”wallet_rescan_blockchain” 无效,必须将其出块状态取消才能使用该命令,”wallet_delegate_set_block_production tutorial false”。

知识: 受托人 btsx