Skip to content

Howto Become a Mediator.cn

Albert·Gou edited this page May 8, 2020 · 44 revisions

本文档演示在PalletOne区块链中,如何从一个普通账户成为mediator,大概需要如下3步:

  1. 创建一个账户,以及准备足够的ptn代币;
  2. 申请成为一个mediator;
  3. 缴纳成为mediator的保证金;

注:确保本节点为全节点运行,并且数据已经同步完成。可在console中通过一下命令查看数据是否同步完成:

> dag.isSynced()

或者查询本地节点高度,和主网高度进行对比:

> dag.headUnitNum

1. 环境准备

要成为PalletOne主网的Mediator记账节点,至少需要以下的软硬件配置要求:

  • 2核CPU
  • 8GB内存
  • 200G硬盘
  • 5M带宽
  • Ubuntu 16.04或者CentOS 7.2以上

安装Docker

参考阿里云Docker安装文档 安装docker,并在安装完成后将当前用户加入到docker组。 重新登录,运行:

docker ps

如果没有抛出任何异常,则说明docker安装成功。

安装PalletOne程序gptn

下载最新版的gptn程序链接,并解压

$ cd mainnet

$ nohup ./gptn &

连接上 console 命令行钱包:

$ ./gptn attach

2. 账户和ptn代币

  • 在console中创建账户:
> personal.newAccount()

请牢记自己账户的密码,并保存好keystore,最好在安全的地方做个备份

  • 关于如何获取ptn代币,请咨询项目方;获取ptn代币后,请查询账户余额是否足够:
> wallet.getBalance("P1xxx")

3. 申请成为mediator

  • 获取mediator账户地址对应的公钥,在console中:
> personal.getPublicKey("P1xxx")
  • 准备一个新的地址(公私钥)作为mediator的奖励地址,最好使用Palletone钱包的地址。

  • 准备好mediator群签名所需要的初始公私钥,在console中:

> mediator.dumpInitDKS()

请牢记以上公私钥,以备后用,尤其是群签名私钥不要泄露给他人,最好在安全的地方做个备份

  • 接下来获取节点的 node id 信息,可在console通过如下命令获取:
> admin.nodeInfo.pnode

得到 node id 信息,如: "pnode://xxxxx@[::]:30303"

最后,创建mediator对象, 在console中:

> mediator.apply({logo:"www.abc.com/logo.jpg", name:"某节点", loc:"beijing, china", url:"www.abc.com", applyInfo:"xxx...", account:"P1xxxx", rewardAdd:"P1xxx", initPubKey:"xxxxx", node:"pnode://xxxxx@x.x.x.x:30303", public_key:"xxxx", reward_address:"P1xxx"}, 0.002)

提示: 以上命令的参数说明:

  • account: 准备成为mediator的账户地址,用于产块签名;(required)
  • rewardAdd:mediator的奖励接收地址,建议使用钱包地址,保证资产安全;(optional)
  • initPubKey: mediator群签名所需要的初始公钥;(required)
  • node: mediator的节点网络信息,用于mediator节点互连。例如:"pnode://xxxxx@x.x.x.x:30303"。修改其中的ip地址为外网ip,端口为外网端口,并确保开启该端口;(required)
  • logo: mediator节点图标url;(optional)
  • name: mediator节点名称;(required)
  • loc: mediator节点所在地区;(optional)
  • url: mediator节点宣传网站;(optional)
  • applyInfo: mediator节点详细信息描述;(optional)
  • public_key: mediator账户地址对应的公钥, mediator同时作为juror所需要的参数。(required)
  • reward_address:mediator同时作为juror的奖励接收地址,建议使用钱包地址,保证资产安全,可以使用mediator的奖励地址;(optional)
  • 最后一个独立的参数是,本次操作的手续费,可调整至最佳

然后告知基金会(项目方)审批,可在console中通过如下命令查看是否批准成功(optional):

> mediator.isApproved("P1xxxx")

4. 交付保证金

申请通过后,需要交付保证金50W PTN,才能正式成为mediator;

可在console,通过如下命令交付保证金:

> mediator.payDeposit("P1xxxx", 500000)

可在console,通过如下命令查看mediator缴纳保证金的总额(optional):

> mediator.getDeposit("P1xxxx")

5. 查看是否成为 mediator

可在console,通过如下命令查看是否在mediator列表中:

> mediator.isInList("P1xxxx")

在console中,通过如下命令查看mediator的详细信息(optional):

> mediator.getInfo("P1xxxx")

也可通过查看地址是否在mediator的候选列表中(optional):

> mediator.listAll()

注:操作过程中需要解锁账户:

> personal.unlockAccount("P1xxx")
Clone this wiki locally