Інструкція із встановлення ноди NEAR: Stakewars epizode ІІІ
Якщо у вас сьогодні немає місця валідатора в основній мережі, і ви хотіли б його отримати, Stake Wars може підтримати вас у вдосконаленні ваших навичок і компетенції з керування вузлом NEAR, а також надасть вам доступ до винагород, які сприятимуть економіці вашого вузла валідатора.
Якщо ви новачок у спільноті та хотіли б дізнатися більше про те, що означає запустити вузол перевірки, Stake Wars пропонує вам ігровий майданчик і підтримку, яка допоможе вам ближче познайомитися з NEAR.
Для початку вам потрібно подати заявку на участь за посиланням.
Потім потрібно виконати завдання по встановленню ноди.
Завдання 1.1. Вибираємо та арендуємо сервер.
Нам пропонують ось такі сервера:
Amazon Web Services
Google Cloud Platform
Microsoft Azure
IBM Cloud
DigitalOcean
Hetzner
Але не обов'язково брати сервер саме з цього списку.
Я вибрала сервер Contabo, так як вже знайома з ним.
Після того, як ви визначились з сервером, обираємо тарифний план.
Я зупинилася на цьому тарифному за 15 євро, ви ж можете вибрати дешевше, або ж дорожче.
Доречі, ось рекомендовані характеристики для вашої ноди.
CPU: 4 CORE
RAM: 8 GB
HDD/SSD: 500 GB
Тепер потрібно підготувати сервер до роботи.
Для цього вводимо команди по одній.
Оновлення ОС.
sudo apt update && sudo apt upgrade -y
Встановлюємо інструменти розробника Node.js та інші пакети.
sudo apt install -y git binutils-dev libcurl4-openssl-dev zlib1g-dev libdw-dev libiberty-dev cmake gcc g++ python docker.io protobuf-compiler libssl-dev pkg-config llvm cargo sudo apt install clang build-essential make sudo apt install curl jq curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt install nodejs PATH="$PATH"
node -v
sudo npm install -g near-cli
Налаштовуємо оточення для мережі shardnet.
export NEAR_ENV=shardnet echo 'export NEAR_ENV=shardnet' >> ~/.bashrc
sudo apt install python3-pip
USER_BASE_BIN=$(python3 -m site --user-base)/bin export PATH="$USER_BASE_BIN:$PATH"
sudo apt install curl build-essential gcc make -y
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Для підтвердження, нажимаємо 1.
source ~/.profile source ~/.cargo/env
Завдання 1.2. Встановлюємо ноду.
git clone https://github.com/near/nearcore cd nearcore git fetch
Тепер нам потрібен актуальний комміт, знайти його ви можете за посиланням.
git checkout 0d7f272afabc00f4a076b1c89a70ffc62466efe9
cargo build -p neard --release --features shardnet
./target/release/neard --home ~/.near init --chain-id shardnet --download-genesis
Тепер потрібно замінити згенерений конфіг.
rm ~/.near/config.json wget -O ~/.near/config.json https://s3-us-west-1.amazonaws.com/build.nearprotocol.com/nearcore-deploy/shardnet/config.json
sudo systemctl daemon-reload sudo systemctl enable neard sudo systemctl restart neard
Завдання 1.3. Створюємо гаманець.
Для створення гаманця переходио за посиланням.
Потрібно вигадати ім'я свого гаманця.
Після створення гаманця нам нарахують тестові токени Near.
2. Авторизовуємось в терміналі.
near login
Копіюємо посилання, яке нам видали та вставляємо в браузер в якому створювали свій гаманець.
Нажимаємо Next, потім підключаємо і прописуємо ім'я свого гаманця, наприклад irinaglimm1989.shardnet.near.
Потім нажимаєпо продовжити.
В нас має з'явитись ось така сторінка.
Цю сторінку ми можемо закрити.
Повертаємось в консоль і пишемо ім'я свого гаманця.
near generate-key <pool_id>
Де <pool_id> - це irinaglimm1989.factory.shardnet.near, irinaglimm1989 міняєте на своє ім'я.
nano ~/.near-credentials/shardnet/<pool_id>.json
Тут також замінюємо <pool_id> на свій.
У відкритому файлу шукаємо private_key і міняємо його на secret_key.
Нажимаємо Ctrl + X та перезапускаємо ноду.
sudo systemctl daemon-reload sudo systemctl enable neard sudo systemctl restart neard
near call factory.shardnet.near create_staking_pool '{"staking_pool_id": "<pool_id>", "owner_id": "<account_id>", "stake_public_key": "<public_key>", "reward_fee_fraction": {"numerator": 5, "denominator": 100}, "code_hash":"DD428g9eqLL8fWUxv8QSpVFzyHi1Qd16P8ephYCTmMSZ"}' --accountId="<accountId>" --amount=30 --gas=300000000000000- <pool_id> — замінюємо <pool_id> на свій, наприклад irinaglimm1989.factory.shardnet.near, irinaglimm1989 міняєте на своє ім'я.
- <account_id> — ім’я гаманця, який ви створили, наприклад irinaglimm1989.shardnet.near, irinaglimm1989 міняєте на своє ім'я.
- <public_key> — ваш публічний ключ з файлу файла
validator_key.json - reward_fee_fraction — скільки валідатор буде брати комісії
Тепер потрібно закинути трішки токенів в стейкінг пул.
near call <pool_id> deposit_and_stake --amount <amount> --accountId <account_id> --gas=300000000000000
- <pool_id> — замінюємо <pool_id> на свій, наприклад irinaglimm1989.factory.shardnet.near, irinaglimm1989 міняєте на своє ім'я.
- <amount> — кількість токенів Near
- <account_id> — ім'я гаманця з якого будуть списуватись токени
4. Інструменти для моніторингу та перевірки вузла.
journalctl -n 100 -f -u neard | ccze -A
curl -s http://127.0.0.1:3030/status | jq .version
Перевірка делегаторів і ставок.
near view <your pool>.factory.shardnet.near get_accounts '{"from_index": 0, "limit": 10}' --accountId <accountId>.shardnet.nearcurl -s -d '{"jsonrpc": "2.0", "method": "validators", "id": "dontcare", "params": [null]}' -H 'Content-Type: application/json' 127.0.0.1:3030 | jq -c '.result.prev_epoch_kickout[] | select(.account_id | contains ("<POOL_ID>"))' | jq .reasonПеревірка створених та очікуваних блоків.
curl -s -d '{"jsonrpc": "2.0", "method": "validators", "id": "dontcare", "params": [null]}' -H 'Content-Type: application/json' 127.0.0.1:3030 Нижче посилання на інші завдання та контакти проекту.
- Форма для заповнення, після виконання 5,6,7,8,9 завдвнь
- Список всіх завдань
- Discord проекта
- Website проекта
- Twitter проекта