Tham gia sự kiện chạy node xác thực “Stake Wars: Episode III “
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
- Stake Wars: Episode III. Challenge 001:
- tạo ví test near shardnet , https://wallet.shardnet.near.org/
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_key
thà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”))’