parastate节点教程
(0)

本教程根据parastate节点官方教程修改翻译而来。

推荐硬件配置:

CPU: 2.0 GHz x86-64 CPU
内存: 8GB RAM
硬盘: 500GB High-Speed Storage (SSD)
参考:可以在Azure D2s_v3 instances (2 VCPU, 8GB Memory, 500GB Disk space)上部署
系统:Ubuntu 18.04 和 Ubuntu 20.04

安装节点

环境配置

共有两种方法进行环境配置

  • docker
  • 手动安装

推荐使用docker安装环境。

docker镜像

运行以下命令得到secondstate/substrate-ssvm的docker镜像

docker pull secondstate/substrate-ssvm
docker run -it --rm \
  -v $PWD/frontier:/root/frontier \
  -w /root/frontier \
  -p 30333:30333 \
  -p 9933:9933 \
  -p 9944:9944 \
  secondstate/substrate-ssvm bash

手动安装运行以下代码

apt update
apt install -y \
  software-properties-common \
  wget \
  cmake \
  ninja-build \
  curl \
  git \
  libboost-all-dev \
  llvm-dev \
  liblld-10-dev \
  clang

# Install nodejs
curl -sL https://deb.nodesource.com/setup_14.x | bash
apt install -y nodejs

# Install yarn
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list
apt update && apt install -y yarn

# Install rust
curl https://sh.rustup.rs -sSf | sh -s -- -y
source $HOME/.cargo/env
rustup update nightly && rustup update stable
rustup target add wasm32-unknown-unknown --toolchain nightly

打开端口

  • 30333: 默认p2p流量端口. 确保该端口对外界开放
  • 9933: 默认RPC流量端口
  • 9944: 默认websocket流量端口

创建你的Key

我们需要自己的key来运行parastate节点,根据以下来自Substrate Developer Hub的教程创建你的Key

# Install subkey tool
curl https://getsubstrate.io -sSf | bash -s -- --fast
cargo install --force subkey --git https://github.com/paritytech/substrate --version 2.0.1 --locked

# Generate a mnemonic and see the sr25519 key and address
subkey generate --scheme sr25519

# Use the same mnemonic to see ed25519 key and address
subkey inspect --scheme ed25519 "<Your Mnemonic>"

注意:sr25519和ed25519 key不同。
subkey generate

subkey inspect

运行ParaState节点

以下脚本会运行一个ParaState节点并连接到ParaState 测试网(2021-04-22):

git clone https://github.com/ParaState/frontier.git
cd frontier
cargo run --release --bin frontier-template-node -- \
  --execution=Native \
  --base-path ./data \
  --chain ./specs/2021-04-22-spec-raw.json \
  --port 30333 \
  --rpc-port 9933 \
  --ws-port 9944 \
  --validator \
  --telemetry-url 'wss://telemetry.polkadot.io/submit/ 0' \
  --name '<Your Node Name>' \
  --bootnodes /ip4/13.67.57.72/tcp/30333/p2p/12D3KooWNwpkJk3f4fUEc9cjSzLC5xE3opf25pjt7izfNGc1v5Tu

你的节点开始导入区块后,你可以在 Polkadot Telemetry查看你的节点状态。

在你的ParaState节点上添加Key

首先在你的电脑上运行ssh -N -L 9944:127.0.0.1:9944 [email protected]将节点与你的电脑连接,使其可以在Polkadot-JS Apps UI 上显示。
根据来自Substrate Developer Hub的Add Keys to Keystore教程将你先前创建的Key添加到节点上。

  • 我们使用author.insertKeyRPC call 来添加key,你需要加上--unsafe-ws-external暂时重启节点。添加key后,就不需要添加这个标示了。
  • Polkadot-JS Apps UI 连接你的节点(注意:你可能添加--unsafe-ws-external重启你的节点并连接到一个不同的主机)
  • 导航栏找到 Developer -> RPC Call 并选择author -> insertKey 根据以下参数添加Aura key:
    • keytype: aura
    • suri: <Your Mnemonic> (eg. clip organ olive upper oak void inject side suit toilet stick narrow)
    • publicKey: <Your Raw sr25519 Key> (eg. 0x9effc1668ca381c242885516ec9fa2b19c67b6684c02a8a3237b6862e5c8cd7e)

insert Aura key

  • 接着导入 GRANDPA key
    • keytype: gran
    • suri: <Your Mnemonic> (eg. clip organ olive upper oak void inject side suit toilet stick narrow)
    • publicKey: <Your Raw ed25519 Key> (eg. 0xb48004c6e1625282313b07d1c9950935e86894a2e4f21fb1ffee9854d180c781)
  • 导航栏中找到 Accounts -> Accounts 并选择 Add account 。使用你的助记词在你的浏览器中创建一个账户。
    add an account with seed

升级开发者设置

  • Polkadot-JS Apps UI 连接你的节点(注意:你可能添加--unsafe-ws-external重启你的节点并连接到一个不同的主机)
    导航栏中找到Settings -> Developer并粘贴以下Json:
{
  "Address": "MultiAddress",
  "LookupSource": "MultiAddress",
  "Keys": "SessionKeys2",
  "Account": {
    "nonce": "U256",
    "balance": "U256"
  },
  "Transaction": {
    "nonce": "U256",
    "action": "String",
    "gas_price": "u64",
    "gas_limit": "u64",
    "value": "U256",
    "input": "Vec<u8>",
    "signature": "Signature"
  },
  "Signature": {
    "v": "u64",
    "r": "H256",
    "s": "H256"
  }
}

Update develop settings

请求加入验证人

在下一步设置你的轮换密钥中,你的验证人账户需要一些余额。因此,你需要在下一步前先填写这个表格(TBD)来提交你的验证人账户(sr25519)。我们会传输一些代币到验证人账户中,这将让你可以设置轮换密钥。

设置你的轮换密钥

当你收到加入验证人席位的通知时,我们会分发一些代币到你的验证人账户中,这会给你设置轮换密钥的权限。

如果你想成为验证人,遵循以下步骤

  • 我们使用author.insertKeyRPC call 来添加key,你需要加上--unsafe-ws-external暂时重启节点。
  • Polkadot-JS Apps UI 连接你的节点(注意:你可能添加--unsafe-ws-external重启你的节点并连接到一个不同的主机)
  • 导航栏中找到Developer -> RPC Call并选择author -> rotateKeys()
    rotateKeys
  • 复制16进制值
  • (在这步前得到余额)导航栏中找到Developer -> Extrinsics选择你助记词导入的账户并选择session -> setKeys(keys, proof)keys处粘贴先前的16进制值,并在proof处填写0x00
    submit keys
  • 设置keys之后,请提交一个成为ParaState Testnet验证人的请求。管理员批注后,你将会成为验证人。

成为验证人

我们计划在(TBD Date)开启验证人席位的申请,这是验证人席位数量的时间线。

  • 第一个月,开放10个验证人席位。
  • 第二个月,验证人席位数量翻倍,共开放20个验证人席位。
  • 第三个月,验证人席位数量翻倍,共开放40个验证人席位。
  • 第四个月,验证人席位数量翻倍,共开放80个验证人席位。
  • 第五个月后,验证人席位无上限,尽可能的接受新验证人。
    要加入验证人,填写这张表格(TBD)提交你的验证人账户(sr25519),我们会在每个月初宣布验证人名单。
本文为作者silent666发布,未经允许禁止转载!
上一篇 下一篇
评论
暂无评论 >_<
加入评论