Гайд по запуску ноды ParaState

Aleksandr Vorobev
4 min readAug 7, 2021

--

Требования

  • CPU: 2.0 GHz x86–64 CPU
  • Memory: 8GB RAM
  • Disk: 500GB High-Speed Storage (SSD)

Первые шаги

Установим нужные утилиты, если они уже установлены, то можно пропустить этот шаг

apt update 
apt install -y \
software-properties-common \
wget \
cmake \
ninja-build \
curl \
git \
libboost-all-dev \
llvm-dev \
liblld-10-dev \
clang
# Установим nodejs
curl -sL https://deb.nodesource.com/setup_14.x | bash
apt install -y nodejs
# Установим 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
# Установим 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, 9933, 9944

sudo ufw allow 30333
sudo ufw allow 9933
sudo ufw allow 9944

Получим ключи

Нужно сгенирировать и сохранить sr25519 & ed25519 ключи

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

Вот пример полученного вывода:

Secret phrase `word word word word word word word word word word word word` is account:
Secret seed: 0x......
Public key (hex): 0x....
Public key (SS58): abc....
Account ID: 0x....
SS58 Address: abc....

Запуск ноды

Нужно придумать имя своей ноды, в моем случа ‘biba’, и затем запустить командой.

# Я использую tmux для запуска ноды в фоновом режиме
tmux new -s stategit clone https://github.com/ParaState/frontier.git
cd frontier# Don't forget to replace 'biba' with your node name
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 ‘biba’ \
— bootnodes /ip4/13.67.57.72/tcp/30333/p2p/12D3KooWNwpkJk3f4fUEc9cjSzLC5xE3opf25pjt7izfNGc1v5Tu

Подождем классических логов ноды:

Затем можно посмотреть свою ноду в Polkadot Telemetry

Добавим свой ключ ноде

Вначале нужно запустить эту команду на своем ПК

ssh -N -L 9944:127.0.0.1:9944 root@yourip

Теперь можно увидеть тестнет в Polkadot-JS Apps UI

Нажимаем Developer -> RPC Call затем выбираем author и insertKey

Тут нужны твои seed phrase и hex public keys для sr25519 и ed25519

  • keytype: aura
  • suri: <Your Mnemonic>
  • publicKey: <0x… Your Raw sr25519 Key>

Аналогичные действия для ed25519

  • keytype: gran
  • suri: <Your Mnemonic>
  • publicKey: <0x… Your Raw ed25519 Key>

В Accounts выберем Add account. Используем полученную сид фразу для создания аккаунта.

Затем нужно обновить настройки разработчика. В 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"
}
}

Чтобы продолжить, нужно иметь токены, для этого Ззапросим немного токенов из крана.

Нажимаем Developer -> RPC Call затем выбираем author и rotateKeys(). И нужно скопировать выданный hash

Нажимаем Developer -> Extrincsics затем выбираем session и setKeys(keys, proof) и вставим наш скопированный результат в поле keys и 0х00 в поле proof

Последний шаг это добавление личного Ethereum кошелька для будущих наград.

Нажимаем Developer -> Extrincsics затем выбираем evm и setEthAddr(eth_addr). Указываем eth_addr и подписываем транзакцию.

Все теперь можно подать заявку и стать валидатором!

--

--

No responses yet