Tham gia sự kiện chạy node xác thực “Stake Wars: Episode III “

Clearlove
6 min readJul 24, 2022

--

Thông tin sự kiện: Stake Wars là một chương trình giúp cộng đồng làm quen với ý nghĩa của việc trở thành người xác thực NEAR, và mang đến cho cộng đồng cơ hội sớm tiếp cận với Chunk-only producer

Thời gian: 13/7–9/9 năm 2022

  • Đối tượng: Bất kỳ ai cũng có thể tham gia bất cứ lúc nào trong thời gian diễn ra sự kiện, nhưng hãy tham gia sớm nhất có thể để tận dụng lợi ích của chương trình.
  • Hãy đọc nó vì có thông tin quan trọng. Bao gồm trong đó có cả biểu mẫu đăng ký.

I.Để tham gia sự kiện này các bạn cần chuẩn bị:

a, Phần cứngThông số kỹ thuật của nhà sản xuất chỉ dành cho Chunk

  • CPU AVX hỗ trợ CPU 4 nhân
  • RAM 8GB DDR4
  • Storage SSD 500GB

bạn có thể thuê VPS trên digitalocean, contabo…

II.Các nhiệm trong sự kiện lần này

  1. Stake Wars: Episode III. Challenge 001:

các bạn sẽ nhận được một số lượng token near để test

  • Cập nhật máy Linux

Hãy đảm bảo máy Linux đã được cập nhật:

sudo apt update && sudo apt upgrade -y

  • Cài đặt developer tools, Node.js, và npm

curl -sL <https://deb.nodesource.com/setup_18.x> | sudo -E bash —
apt install nodejs
PATH=”$PATH”

  • Cài đặt NEAR-CLI

sudo npm install -g near-cli

Bây giờ NEAR-CLI đã được cài đặt

kiểm tra CLI và sử dụng các lệnh sau để để tương tác với blockchain cũng như để xem thống kê của trình xác thực.

Môi trường

export NEAR_ENV=shardnet

echo ‘export NEAR_ENV=shardnet’ >> ~/.bashrc

đề xuất

near proposals

trình xác thực hiện tại

near validators current

trình xác thực tiếp theo

near validators next

Xin chúc mừng bạn đã hoàn thành thử thách 001!

2. Stake Wars: Episode III. Challenge 002:

Cài đặt các công cụ dành cho nhà phát triển:

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 clang llvm cargo

Cài đặt pip Python:

sudo apt install python3-pip

Đặt cấu hình:

USER_BASE_BIN=$(python3 -m site — user-base)/bin
export PATH=”$USER_BASE_BIN:$PATH”

Cài đặt tòa nhà env

sudo apt install clang build-essential make

Cài đặt Rust & Cargo

curl — proto ‘=https’ — tlsv1.2 -sSf https://sh.rustup.rs | sh

sẽ hiện ra một bảng tùy chọn, bạn nhấn 1 và Enter

Nguồn môi trường

source $HOME/.cargo/env

Sao chép nearcore từ Github

git clone https://github.com/near/nearcore
cd nearcore
git fetch

Kiểm tra cam kết cần thiết

git checkout <commit>

<commit> các bạn phải cập nhật phiên bản trong discord của NEAR. như của tôi <commit> =0f81dca95a55f975b6e54fe6f311a71792e21698

sau đó chúng ta sẽ chạy lệnh

cargo build -p neard — release — features shardnet

đợi một lúc để lệnh chạy xong ta tiếp tục

./target/release/neard — home ~/.near init — chain-id shardnet — download-genesis

Thay thế cáiconfig.json

rm ~/.near/config.json
wget -O ~/.near/config.json https://s3-us-west-1.amazonaws.com/build.nearprotocol.com/nearcore-deploy/shardnet/config.json

Cài đặt AWS Cli

sudo apt-get install awscli -y

Chạy nút

cd ~/nearcore
./target/release/neard — home ~/.near run

nút của bạn hiện đang chạy, chúng ta sẽ chờ một lúc để tải xuống được hoàn thiện

Kích hoạt nút với tư cách là trình xác thực

cấp quyền ví cục bộ

near login

nó sẽ hiện ra một liên kết, các bạn sao chép liên kết rồi truy cập vào trình duyệt chứa ví của bạn

sau đó ta cấp quyền truy cập vào NEAR CLI

nó sẽ hiện ra như thế này

Quay trở lại và nhập địa chỉ ví Shardnet (tên ví.shardnet.near) , nhấn enter và sẽ nhận được thông báo kết nối và xác thực thành công:

Tạo tệp validator_key từ ví của bạn:

  • tạo tệp khóa

near generate-key <pool_id>

<pool id> xx.factory.shardnet.near

ví dụ: minhkhang.factory.shardnet.near

  • Sao chép tệp được tạo vào thư mục shardnet

cp ~/.near-credentials/shardnet/YOUR_WALLET.json ~/.near/validator_key.json

YOUR_WALLET thay bằng tên ví của bạn

ví dụ : minhkhang.shardnet.near

  • Chỉnh sửa “account_id, Thay đổi private_keythànhsecret_key

sudo nano ~/.near/validator_key.json

thay tên pool ví dụ : minhkhang.factory.shardnet.near và thay private_key thành secret_key sau đó lưu thay đổi

  • bắt đầu nút trình xác thực

target/release/neard run

  • Thiết lập lệnh Systemd:

sudo vi /etc/systemd/system/neard.service

Dán:

[Unit]
Description=NEARd Daemon Service

[Service]
Type=simple
User=<USER>
#Group=near
WorkingDirectory=/home/<USER>/.near
ExecStart=/home/<USER>/nearcore/target/release/neard run
Restart=on-failure
RestartSec=30
KillSignal=SIGINT
TimeoutStopSec=45
KillMode=mixed

[Install]
WantedBy=multi-user.target

Sau khi tạo service neard xong ta tiếp tục chạy các lệnh sau:

sudo systemctl enable neard

sudo systemctl start neard

Chúng ta xem nhật ký

sudo apt install ccze

journalctl -n 100 -f -u neard | ccze -A

nó sẽ ra kết quả

Xin chúc mừng bạn đã hoàn thành thử thách 002!

3. Stake Wars: Episode III. Challenge 003:

  • Triển khai Staking pool:

near call factory.shardnet.near create_staking_pool ‘{“staking_pool_id”: “<pool id>”, “owner_id”: “<accountId>”, “stake_public_key”: “<public key>”, “reward_fee_fraction”: {“numerator”: 5, “denominator”: 100}, “code_hash”:”DD428g9eqLL8fWUxv8QSpVFzyHi1Qd16P8ephYCTmMSZ”}’ — accountId=”<accountId>” — amount=30 — gas=300000000000000

thay các thông số

<pool id>: ID Pool của bạn.

<accountId>: địa chỉ ví Shardnet của bạn.

<public_key>: tìm thấy trong file validator_key.json. Lấy giá trị của public key điền vào

<accountId> địa chỉ ví Shardnet của bạn.

ví dụ : near call factory.shardnet.near create_staking_pool ‘{“staking_pool_id”: “minhkhang”, “owner_id”: “minhkhang.shardnet.near”, “stake_public_key”: “ed25519:9aqZXpqeysABcEbHqdSy42p8jbwR257yjcKbv34Qd2Wr”, “reward_fee_fraction”: {“numerator”: 5, “denominator”: 100}, “code_hash”:”DD428g9eqLL8fWUxv8QSpVFzyHi1Qd16P8ephYCTmMSZ”}’ — accountId=”minhkhang.shardnet.near” — amount=300 — gas=300000000000000

  • Deposit và Stake NEAR

near call <staking_pool_id> deposit_and_stake — amount <amount> — accountId <accountId> — gas=300000000000000

ví dụ : near call minhkhang.factory.shardnet.near deposit_and_stake — amount 50 — accountId minhkhang.shardnet.near — gas=300000000000000

  • rút near

near call <staking_pool_id> withdraw ‘{“amount”: “<amount yoctoNEAR>”}’ — accountId <accountId> — gas=300000000000000

  • các lệnh khác có thể sử dụng

unstakenear : near call <pool_id> unstake ‘{“amount”: “<amount yoctoNEAR>”}’ — accountId <account_id> — gas=300000000000000

rút near : near call <pool_id> withdraw ‘{“amount”: “<amount yoctoNEAR>”}’ — accountId <account_id> — gas=300000000000000

ví đã stake : near view <pool_id> get_account_staked_balance ‘{“account_id”: “<account_id>”}’

….

Bây giờ bạn đã cấu hình xong node của mình!

hãy kiểm tra tên pool của bạn trên trình duyệt

Xin chúc mừng bạn đã vượt qua thử thách 3 !

4. Stake Wars: Episode III. Challenge 004:

  • xem log service đang chạy :

journalctl -n 100 -f -u neard | ccze -A

  • RPC đang chạy:

sudo apt install curl jq

  • các lệnh chung:

-Kiểm tra phiên bản nút của bạn: curl -s http://127.0.0.1:3030/status | jq .version

-Kiểm tra Ủy quyền và Lệnh cổ phần: near view <your pool>.factory.shardnet.near get_accounts ‘{“from_index”: 0, “limit”: 10}’ — accountId <accountId>.shardnet.near

-Kiểm tra Lệnh Kicked Trình xác thực Lý do: curl -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

-Kiểm tra khối Lệnh được tạo / Dự kiến: curl -s -d ‘{“jsonrpc”: “2.0”, “method”: “validators”, “id”: “dontcare”, “params”: [null]}’ -H ‘Content-Type: application/json’ 127.0.0.1:3030 | jq -c ‘.result.current_validators[] | select(.account_id | contains (“POOL_ID”))’

Xin chúc mừng bạn đã hoàn thành thử thách.

--

--

No responses yet