Гайд по запуску ноды ParaState
Требования
- 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 и подписываем транзакцию.
Все теперь можно подать заявку и стать валидатором!