Testnet Darwinia PoC-2 Testnet (Crayfish) 教程

tony · 发布于 2019年09月04日 · 658 次阅读
本帖已被设为精华帖!

从Crayfish Testnet开始,Darwinia官方将统计各节点总出块数、漏块数,作为后期创世节点评选的主要依据。同时官方鼓励参与内测用户提出建议、寻找BUG,官方后期在主网上线之后会进行相应的Token奖励。

在主网上线之前,Darwinia官方将拿出1%的主网Token进行映射,用于主网上线的最终模拟测试。后期将举办节点比赛,用于评选主网上线时的创世节点。欢迎社区各节点参与测试,一起发展达尔文生态。

一、准备

1、进入Darwinia Web Wallet

https://testnet-wallet.darwinia.network/

2、「创建」地址

  • (1)点击 Add account,开始新建地址

    • 普通用户(仅参与staking/投票),只需1个地址即可;
    • 参与节点竞选的用户需要3个地址,其中session key地址必须通过Edwards (ed25519)加密。

  • (2)设置地址信息

    • 「Name」:地址设置一个本地备注名。
    • 「Mnemonic Seed」 :默认展示新地址的助记词,用户可通过修改助记词(Mnemonic)、私钥(Raw Seed)来导入地址。*节点用户请备份私钥(Raw Seed)内容,用于后续启动节点。
    • 「Password」:设置密码。请注意保管密码,密码丢失将无法找回,也无法通过js文件恢复。(可通过助记词、私钥重新导入)
    • 「user-defined tags」:地址标签,选填。
    • *「Keypair crypto type」 :生成地址的加密方式,普通用户不建议修改,节点用户的session key地址需要修改为 Edwards (ed25519) 。
    • *「Secret derivation path」:账号加密路径,不建议普通用户修改。

  • (3)创建账号并备份恢复文件(JSON)

创建帐户后,我们会为您提供生成的备份文件。请将此文件保存在安全位置,并妥善保管密码,以便恢复您的帐户。

  • (4)创建成功

您可以通过页面右上角「账号管理」功能继续创建地址,也可以管理本地地址。

3、「导入」地址

  • (1)导入JSON文件

点击 Restore JSON,将备份文件导入至「Backup file」中,并填写该地址的密码。

  • (2)导入成功

导入成功后,可以通过页面右上角「账号管理」功能继续导入或管理地址。

4、启动账号

为了节约存储空间,少于0.000001RING的账号会被视为尘埃地址,无法进行任何操作。因此,您需要为的地址充值一定数量的RING。

  • 如何获取Crayfish Testnet RING?

添加达尔文小助手获取测试RING,小助手:twosmokingbarrels_

二、投票(普通用户)

1、Staking

  • (1)入口

进入左侧「Nomination」页,点击「Staking now」

  • 注意:在本页Staking,仅可参与投票。如需竞选节点,请在「Node」页进行Staking。“投票者”和“验证节点”两种身份互斥。

  • (2)设置冻结参数

    • 「Value bonded」:输入需要冻结的数量(精度为9)和资产(RING/KTON)。
    • 「Lock limit」:冻结的RING可设置0-36月的锁定时长,锁定后将获得额外的KTON奖励。如需提前解锁有锁定期限的RING,需要支付KTON奖励3倍的罚款。
    • 「You will get」:根据您设置的冻结资产数量,作出的权益/收益预估。

  • (3)输入密码并签名确认

  • (4)增加冻结&解冻

可通过「Bond more」新增更多冻结资产,「Unbond」解冻资产。

  • 解冻中(Unbonding)的资产需要14天的解冻期,解冻期过后,可在我的资产(Asset)中领取。
  • 有锁定期限的RING,请至左侧菜单中(Lock History)中解锁。

2、投票

  • (1)选择您钟意的节点,进行投票(可多选)。

    • 每50块/轮 节点竞选&投票。
    • 您的票数将根据收益最优原则,自动分配给投票的节点,更改投票的节点后,在下一轮选举中票数将会重新分配。

  • (2)投票成功

可在投票列表看到为每个节点投出的份额,也可根据需要,进行更改投票节点、停止投票等操作。

三、启动节点(节点用户)

1、下载可执行文件

下载可执行二进制文件,在该文件同级目录下执行如下命令:

目前支持linux/mac/CentOS-7/docker

  • mac/linux/CentOS-7:

可执行文件下载地址:https://github.com/darwinia-network/darwinia/releases/tag/v0.3.1

  • docker

docker pull darwinianetwork/darwinia:v0.3.1

2、 执行

./darwinia \
--base-path /home/xxx/data \
--key 0x7b245f8da8af58e910082a1a1476f5d244d4b3fdc0d5bed8a9eabe5eccbfbcb6 \
--validator \
--bootnodes /ip4/45.249.244.33/tcp/20222/p2p/QmPCSb9yCRAXnqvG6AnX27X6gutvVDq4NBPDNJtnBmNk43 \
--port 20222 \
--name YourLovelyName \
--rpc-external \
--ws-external 

参数说明:

base-path: 保存链数据的地址
key: sessionkey 账号的secret hex,也就是它的私钥,节点需要用它来签块;注意,不是该账号的public key,不要写错
port: p2p端口
validator: 成为验证人
name: 在telemetry中显示的名字,随便写一个
rpc-external: 暴露rpc端口 (可以不填)
ws-external: 暴露ws端口(可以不填)
bootnodes: 连接的节点(/ip4/121.199.60.87/tcp/20222/p2p/QmaRDRZZpmY9FwjSwW8JhfkyaHc6XRHsLWnp6cLtyb3FCF)

为了避免有些种子节点满连接,提供以下备选,大家可以任意选择填入bootnodes:

2019-10-08 更新

/ip4/10.12.4.209/tcp/30332/p2p/QmR3s8vUYHWQaANZZnQoobNxyDTvs35qC1mSSRZyzJgEtz
/ip4/103.72.147.189/tcp/20222/p2p/QmYZg1cSictNUjkM3K4SuSr3JB3hMfP3BitEYF8gvVMFm2
/ip4/185.163.118.236/tcp/20222/p2p/QmWQ9d3gDT4RQ5zAm2QXCQqg9T5Yf4T1UGRkFgNd6Zr9Ew
/ip4/47.98.51.151/tcp/20888/p2p/QmVZHNGPAtXZxmbjDULpf3VFjU9UnDBWqTaB4vRx6d127M
/ip4/39.105.12.168/tcp/20222/p2p/QmXgK1dUzTnxo9p4mJcTfNcy1oVhTeJxvJbh4FFvWPLjkD
/ip4/35.234.9.96/tcp/20223/p2p/QmdAZq8tFrei8qQAhbAe7NwrZzNVhitvUBp9pw8yLjk81r

启动成功后控制台打印日志如下:

2019-09-04 11:37:52 Darwinia Crayfish Node
2019-09-04 11:37:52   version 0.3.1-9b64aa2-x86_64-macos
2019-09-04 11:37:52   by Darwinia Network, 2017-2019
2019-09-04 11:37:52 Chain specification: Darwinia Crayfish Testnet
2019-09-04 11:37:52 Node name: Crayfish
2019-09-04 11:37:52 Roles: AUTHORITY
2019-09-04 11:37:52 Highest known block at #3072
2019-09-04 11:37:52 Local node identity is: QmNxvP8Rey9BbzJsmkhw6C8883AqAufgcr3943E57MEDbM
2019-09-04 11:37:52 Using authority key 5EW3APC19rqmfMshVvb3bpnTgWoNcj2rhM73BtdjNi6bvaB7
2019-09-04 11:37:52 Running Grandpa session as Authority 5EW3APC19rqmfMshVvb3bpnTgWoNcj2rhM73BtdjNi6bvaB7
2019-09-04 11:37:53 Discovered new external address for our node: /ip4/120.195.64.114/tcp/20222/p2p/QmNxvP8Rey9BbzJsmkhw6C8883AqAufgcr3943E57MEDbM
2019-09-04 11:38:25 Syncing, target=#15050 (1 peers), best: #4115 (0xca7a…db70), finalized #50 (0xf230…29cd), ⬇ 138.3kiB/s ⬆ 0.7kiB/s
2019-09-04 11:38:30 Syncing 210.5 bps, target=#15050 (1 peers), best: #5168 (0x9db1…8e04), finalized #50 (0xf230…29cd), ⬇ 48.3kiB/s ⬆ 0.1kiB/s

即说明节点已经在同步数据。

可能也会遇到一些警告,可以忽略。比如下面的情况:

2019-09-04 11:37:54 Rejected log entry because queue is full for "/dns4/telemetry.polkadot.io/tcp/443/x-parity-wss/%2Fsubmit%2F"
2019-09-04 11:38:25 Blocked connection to WebSockets server with untrusted host: Some("127.0.0.1:9944")

3、 备选执行方案

*适用于忘记sessionkey的私钥的情况,如 2 执行成功的可跳过此章节。

如果忘记了sessionkey的私钥,可以采取以下备选方案:

./darwinia \
--base-path /home/xxx/data \
--keystore-path /home/xxx/keystore \
--validator \
--bootnodes /ip4/45.249.244.33/tcp/20222/p2p/QmPCSb9yCRAXnqvG6AnX27X6gutvVDq4NBPDNJtnBmNk43 \
--port 20222 \
--name YourLovelyName \
--rpc-external \
--ws-external

唯一的修改就是把--key换成了--keystore-path,并设置一个存储keystore文件的地址。此时节点启动后,就会在指定的keystore-path的目录下生成一个新的账户文件,比如/home/xxx/keystore/b2038da351697e39f371c8da23ce7502f468eea6acd0ca0559ea882ec0bde1c4, 此时如果查看这个文件的话,就可以看到里面存放的是一串助记词:

➜  keystore (develop) cat b2038da351697e39f371c8da23ce7502f468eea6acd0ca0559ea882ec0bde1c4
"labor flip budget ill power already rubber tuna empty output win approve"%

两个""之间的部分就是助记词了。

复制助记词并打开网页钱包地址,点击添加新的账户,粘贴助记词,并点开Advanced creation options,选择ed25519:

点击save,就可以得到用来签名和广播的节点账户的地址了。

最重要的是,此时需要重新设置session key。一定要绑定节点真正用来签名的账户地址,即刚刚生成的最新的ed25519的这个账户。

此时节点启动工作才真正完成。

四、参选验证节点(节点用户)

1、检查地址

进入Darwinia Web Wallet ,确保您已经有3个可用地址(包含上述Session key)。

将当前账户切换为保管资产的的Stash 地址。

2、Staking

  • (1)入口

进入左侧菜单栏中的「Node」页,点击「Staking now」

  • 注意:在本页Staking,仅可参与竞选节点。如不需要自己运行节点,仅作为投票用户,请在「Nomination」页进行Staking。“投票者”和“验证节点”两种身份互斥。

  • (2)设置冻结参数

您可以选择冻结RING或KTON

  • 「Controller account」:用于管理验证、投票等活动,不可重复使用。
  • 「Payment destination」:用于获取收益的地址
  • 「Value bonded」:输入需要冻结的数量(精度为9)和资产(RING/KTON)
  • 「Lock limit」:冻结的RING可设置0-36月的锁定时长,锁定后将获得额外的KTON奖励。如需提前解锁有锁定期限的RING,需要支付KTON奖励3倍的罚款。
  • 「You will get」:根据您设置的冻结资产数量,作出的权益/收益预估。

  • (3)增加冻结&解冻

可通过「Bond more」新增更多冻结资产,「Unbond」解冻资产。

  • 解冻中(Unbonding)的资产需要14天的解冻期,解冻期过后,可在我的资产(Asset)中领取。
  • 有锁定期限的RING,请至左侧菜单中(Lock History)中解锁。

3、Set Session Key

Bonded资产后,将进入set session key流程。您可暂时跳过,在确保节点运行后重新设置。

一定要绑定节点真正用来签名的账户地址,并确保节点正在运行,否则可能会因漏块受到惩罚。

4、参加竞选

设置节点参数,参与节点竞选(再次提示:参与验证前务必确保节点正在运行)

  • 「Node name」:节点名称
  • 「Payment preferences」:节点自留收益的比重(此部分将不与投票者分成,由节点独享)
  • 「Unstake threshold」:自动停止参与验证的阈值。Darwinia Crayfish网络为节点设置的初始值为4,您可自由设置0-10个附加次数。当slash次数达到Unstake threshold+4后,会对节点进行惩罚并取消验证人身份。(被取消后,需要手动重复本操作再次参与竞选)

现在,您可以去Staking Scan 查看您的节点啦!竞选信息每50个块会更新一次,因此页面数据可能由一些延迟,无需担心

共收到 0 条回复
tony 将本帖设为了精华贴 09月04日 16:15
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册