Cách chạy nút trình xác thực Venom

Dự phòng

INFO Các từ khóa "PHẢI", "KHÔNG PHẢI", "BẮT BUỘC", "SẼ", "SẼ KHÔNG", "NÊN", "KHÔNG NÊN", "KHUYẾN NGHỊ", "CÓ THỂ" và "TÙY CHỌN" trong tài liệu này là để được hiểu như mô tả trong RFC 2119.

Cảnh báo

Chạy một nút Validator đồng nghĩa với việc bạn chịu trách nhiệm cho toàn bộ cổ phần của mình. Nếu xảy ra sự cố, nút có thể bị cắt giảm, và bạn có thể mất số tiền thế của mình.

Bạn NÊN có đủ kỹ năng kỹ thuật Linux để quản lý, bảo mật và duy trì các nút. Chạy một nút Validator đòi hỏi nhiều kỹ năng hơn so với việc thực thi các tệp nhị phân của Validator.

Yêu cầu tiên quyết

Stake

Để vận hành một nút Validator, bạn cần một lượng đủ lớn tiền Venom. Nút có thể triển khai ở chế độ Validator hoặc DePool.

Yêu cầu tối thiểu phần cứng của nút

CPU: 12 lõi Intel Skylake hoặc CPU mới hơn. Tần số CPU cơ sở cao hơn được ưu tiên hơn số lõi;

RAM: 64GB; Mạng: 300Mbps với kết nối Internet đáng tin cậy. Các vấn đề về kết nối có thể gây ra việc bị cắt giảm phần thưởng đối với máy chủ xác thực của bạn;

Bộ nhớ lưu trữ:

50GB bộ nhớ lưu trữ SSD cho hệ điều hành; 500GB NVMe để lưu trữ cơ sở dữ liệu nội bộ của Validator, có khả năng thêm không gian bổ sung để cho phép sự phát triển của blockchain;

Hệ điều hành: Ubuntu 22.04

Các thông số kỹ thuật này không phải là yêu cầu bắt buộc mà là một phương pháp tốt nhất. Bởi vì việc vận hành nút xác thực là một tác vụ quan trọng, bạn nên cân nhắc sử dụng phần cứng cấp doanh nghiệp để đảm bảo tính ổn định của nút của bạn.

Nhà cung cấp đám mây

CAUTION

Cảnh báo về các Điều khoản và điều kiện của nhà cung cấp đám mây mà bạn chọn. Chính sách sử dụng chấp nhận được của DigitalOcean yêu cầu sự cho phép ngầm định để tiến hành "đào tiền điện tử" và điều này có thể được mở rộng cho các hoạt động tiền điện tử khác.

Đã thử nghiệm thành công các nhà cung cấp đám mây:

  • Google Cloud

  • Amazon AWS

  • Microsoft Azure

  • OVH

Để nút của bạn hoạt động đúng cách, bạn cần cấu hình tường lửa đám mây để chấp nhận lưu lượng truy cập đến cổng UDP/30000.

INFO

Nút sẽ tiêu thụ khoảng 6TB lưu lượng truy cập đến mỗi tháng. Bạn nên cân nhắc điều này khi ước tính chi phí cho thiết lập của mình.

Cài đặt nút

CAUTION

Luôn kiểm tra mọi tập lệnh bạn đang chạy

  1. Chuẩn bị máy chủ để thiết lập nút

1.1. Tạo người dùng và nhóm để chạy nút Validator, và tạo tất cả các cấu trúc thư mục cần thiết

VALIDATOR_USER="validator"
VALIDATOR_GROUP="validator"
sudo groupadd $VALIDATOR_GROUP
sudo useradd $VALIDATOR_USER -m -s /bin/bash -g $VALIDATOR_GROUP -G sudo
# Mount 
sudo mkdir -p /var/venom/rnode/
sudo chown $VALIDATOR_USER:$VALIDATOR_GROUP /var/venom/rnode/

1.2. Kiểm tra xem dịch vụ NTP có đang hoạt động hay không

systemctl status systemd-timesyncd

Hệ thống của bạn nên hiển thị rằng dịch vụ đang hoạt động. Nếu không, vui lòng tham khảo tài liệu hướng dẫn

● systemd-timesyncd.service - Network Time Synchronization
     Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; 
     preset: enabled)
     Active: active (running) 

LƯU Ý:

Nếu đồng hồ hệ thống không đồng bộ (dù chỉ là một lượng nhỏ), các khối mà Validator tạo ra có thể không được mạng chấp nhận.

  1. Hãy tạo các quy tắc tường lửa để cho phép các liên lạc ADNL

sudo ufw allow 30000/UDP
  1. Cài đặt các phụ thuộc

sudo apt update 
sudo apt install -y git libssl-dev pkg-config build-essential libzstd-dev 
libclang-dev libgoogle-perftools-dev
  1. Chuyển sang người dùng validator

sudo su validator

4.1 Cài đặt Rust


curl https://sh.rustup.rs -sSf | sh
source "$HOME/.cargo/env"
  1. Xây dựng một nút Validator


cargo install --locked --git https://github.com/venom-blockchain/stvenom-node-tools
# Enable validator services
sudo $PWD/.cargo/bin/stvenom init systemd

Ở đây, hãy chọn người dùng cho validator. KHÔNG CHẠY dịch vụ Validator với tư cách người dùng root!

[0/2] Preparing services
? Select the user from which the service will work ›
❯ validator
  root
  1. Thiết lập Validator và tạo ví, biên dịch và khởi tạo nút

stvenom init

Chọn mạng "khác" (other)

[0/2] Preparing configs
✔ Create root directory? (/home/validator/.stvenom) · yes
? Select network ›
  Venom mainnet
  Venom testnet
❯ other

Cung cấp URL cấu hình toàn cầu (liên hệ Venom core team)

✔ Select network · other
? Config URL ›
[0/2] Preparing configs
✔ Create root directory? (/home/validator/.stvenom) · yes
✔ Select network · other
✔ Config URL ·<hidden>
✔ Node config doesn't have control server entry. Create? · yes
✔ Control server listen address · localhost
✔ Specify control port · 31000
✔ Enter public ip · 164.92.106.127
✔ Specify server ADNL port · 30000
✔ Specify node DB path · /var/venom/rnode
[1/2] Preparing binary

Nút sẽ được biên dịch. Chọn chế độ của nút của bạn:

? Select validator type ›
❯ Single
  DePool

Tạo seed phrase mới hoặc nhập seed phrase hiện có.

[0/2] Creating validator wallet
❯ Generate new keys
  Import seed

6.1 Xác định số tiền đặt cược mong muốn cho mỗi vòng. Lưu ý rằng bạn sẽ cần một số lượng token 2*(tiền đặt cược mỗi vòng) + 10.

Để lại "Stake factor (tỷ lệ giữa số tiền đặt cược tối đa có sẵn trên mạng và số tiền đặt cược của bạn) là 3" vì đây là tiêu chuẩn trong mạng Venom.

✔ Stake per round (VENOM) · 10000
✔ Stake factor · 3
[2/2] Validator configured successfully. Great!

Validator wallet address:


Required validator wallet balance: 20010 VENOM
  • 10 VENOM, maintenance balance
  • 2 x 20010 VENOM, stakes for each round

Make sure you back up your keys:
/home/validator/.stvenom/keys/vld.keys.json

INFO

Hãy đảm bảo sao lưu các khóa của bạn sau cấu hình ban đầu! Tất cả các khóa được lưu trữ tại $HOME/.stvenom/keys/

Khởi tạo dịch vụ validator

sudo ~/.cargo/bin/stvenom init systemd

CAUTION

Dịch vụ KHÔNG ĐƯỢC chạy với tư cách người dùng root

[0/2] Preparing services
? Select the user from which the service will work ›
❯ validator
  root

Nó sẽ tạo ra hai dịch vụ:

  • venom-validator-manager - dịch vụ điều khiển tham gia vào các cuộc bầu cử, khôi phục tiền đặt cược và thực hiện các nhiệm vụ khác với hợp đồng Elector

  • venom-validator - nút chính, quản lý quá trình xác thực

Bạn có thể kiểm tra trạng thái của cả hai dịch vụ bằng các lệnh sau:

service venom-validator status
service venom-validator-manager status
  1. Chuyển các token vào hợp đồng Validator

Hãy chuyển số lượng token cần thiết đến địa chỉ được tạo ra trong bước trước đó. Ví của bạn sẽ trở nên hoạt động sau khi bạn thực hiện lần đầu tiên đặt cược.

  1. Đợi cho đến khi cuộc bầu cử bắt đầu

Khi cuộc bầu cử bắt đầu, quá trình venom-validator-manager sẽ tự động đặt cược số lượng token yêu cầu. Bạn có thể kiểm tra trạng thái hiện tại của cuộc bầu cử sử dụng Venomscan.com.

INFO

venom-validator-manager sẽ thêm 1 token VENOM cho stake để thanh toán phí giao dịch và bạn sẽ cần phải thêm 1 token VENOM cho giao dịch 'phục hồi stake và tiền thưởng'. Do đó, lời khuyên là nên luôn giữ một số token dư thừa trong Validator

Nếu mọi thứ được thiết lập đúng, bạn sẽ thấy địa chỉ của mình được liệt kê trong danh sách validators cho vòng tiếp theo

Last updated