Vận hành Validator#

Validator tạo và ký các khối, và đổi lại nhận một phần phần thưởng khối. Việc thiết lập khá đơn giản, nhưng đó là một cam kết vận hành: một validator ngừng hoạt động hoặc ký hai lần sẽ bị giao thức phạt.

Hướng dẫn này không phụ thuộc vào nhà cung cấp. Bất kỳ máy chủ Linux nào đáp ứng các yêu cầu bên dưới đều dùng được.

Vận hành validator bao gồm những gì#

  • Thời gian hoạt động. Node của bạn phải luôn trực tuyến và đồng bộ. Bỏ lỡ quá nhiều khối sẽ dẫn đến bị giam (jail).
  • Bảo quản khóa. Bạn chịu trách nhiệm về khóa validator. Mất nó là mất validator; lộ nó thì người khác có thể ký thay bạn.
  • Nâng cấp. Bạn phải áp dụng các bản nâng cấp chuỗi đúng lịch.
  • Không ký trùng. Cùng một khóa validator không bao giờ được chạy trên hai node cùng lúc.

Nếu bạn không thể cam kết những điều đó, ủy quyền cho một validator có sẵn là lựa chọn tốt hơn — xem Hướng dẫn staking.


Yêu cầu phần cứng#

Thành phầnTestnet (tối thiểu)Khuyến nghị cho mainnet
CPU4 vCPU (x86-64)8 lõi riêng, CPU đời mới
RAM8 GB32 GB
Lưu trữ100 GB NVMe SSD500 GB+ NVMe SSD
Mạng1 Gbps, không giới hạn1 Gbps, không giới hạn
Hệ điều hànhUbuntu 22.04 LTSUbuntu 22.04 / 24.04 LTS

Ưu tiên NVMe hơn SATA SSD — đồng thuận nhạy cảm với độ trễ đĩa, và I/O chậm là nguyên nhân phổ biến nhất gây bỏ lỡ khối. Tránh các gói CPU chia sẻ/burst cho mainnet.


Chọn nhà cung cấp#

Điều quan trọng, theo thứ tự:

  1. CPU riêng (không phải burst) và lưu trữ NVMe
  2. Băng thông không giới hạn hoặc dồi dào — validator giao tiếp liên tục
  3. Mạng và nguồn điện ổn định, với lịch sử hoạt động rõ ràng
  4. Một khu vực chưa quá đông validator khác

Các nhà cung cấp uy tín được dùng phổ biến trong hệ sinh thái Cosmos:

Nhà cung cấpGhi chú
HetznerHiệu năng/giá xuất sắc, khu vực EU + US
OVHcloudHiện diện toàn cầu rộng, VPS và máy chủ vật lý
Latitude.shMáy chủ vật lý, phổ biến với nhà vận hành chuyên nghiệp
VultrNhiều khu vực, VPS và máy chủ vật lý
DigitalOceanCông cụ đơn giản, tài liệu tốt
Akamai (Linode)Lâu đời, giá cả dễ dự đoán

Các hyperscaler (AWS, Google Cloud, Azure) vẫn dùng được nhưng chi phí cao hơn đáng kể cho cùng hiệu năng. Máy chủ vật lý được ưu tiên hơn VPS cho mainnet.

Về phi tập trung: mạng khỏe mạnh hơn khi các validator trải rộng trên nhiều nhà cung cấp, quốc gia và khu vực pháp lý khác nhau. Nếu một nhà cung cấp hoặc khu vực đã chiếm phần lớn tập hợp validator, hãy cân nhắc chọn nơi khác. Xem trình khám phá để biết tập hợp đang tập trung ở đâu.


1. Chuẩn bị máy chủ#

Kết nối tới máy chủ và tạo một người dùng không phải root để chạy node:

adduser ethwei
usermod -aG sudo ethwei

Thiết lập xác thực bằng khóa SSH cho người dùng đó, rồi tăng cường bảo mật SSH daemon bằng cách sửa /etc/ssh/sshd_config:

PermitRootLogin no
PasswordAuthentication no
sudo systemctl restart sshd

Bật tường lửa, chỉ cho phép SSH và cổng peer-to-peer:

sudo ufw allow 22/tcp
sudo ufw allow 26656/tcp
sudo ufw enable

Không để lộ các cổng RPC (26657), API (1317) hoặc gRPC (9090) ra internet công khai trên validator. Hãy giữ chúng bind vào localhost.

Chuyển sang người dùng mới cho các bước còn lại:

su - ethwei

2. Cài đặt phụ thuộc#

sudo apt update && sudo apt upgrade -y
sudo apt install -y git curl jq build-essential

Cài Go (xem phiên bản hiện tại tại go.dev/dl):

wget https://go.dev/dl/go1.23.4.linux-amd64.tar.gz
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.23.4.linux-amd64.tar.gz
echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> ~/.bashrc
source ~/.bashrc
go version

3. Biên dịch binary#

git clone https://github.com/ethwei/ethwei-chain
cd ethwei-chain
make install
ethweid version

4. Khởi tạo node#

Moniker là tên công khai hiển thị trên trình khám phá.

ethweid init <your-moniker> --chain-id ethwei-testnet-1

Tải tệp genesis:

curl -s https://rpc-testnet.ethwei.com/genesis | \
  jq '.result.genesis' > ~/.ethwei/config/genesis.json

5. Cấu hình peer#

Sửa ~/.ethwei/config/config.toml:

[p2p]
seeds = ""              # xem Thông tin mạng
persistent_peers = ""   # xem Thông tin mạng

Địa chỉ seed và peer hiện tại được công bố trên trang Thông tin mạng.


6. Cấu hình node#

Sửa ~/.ethwei/config/app.toml:

minimum-gas-prices = "0.025WEI"

# Kiểm soát dung lượng đĩa trên validator
pruning = "custom"
pruning-keep-recent = "100"
pruning-interval = "10"

Validator không cần phục vụ truy vấn, vì vậy hãy để dịch vụ API và gRPC tắt trừ khi bạn có lý do cụ thể để bật chúng.


7. Chạy như một service#

sudo tee /etc/systemd/system/ethweid.service > /dev/null <<EOF
[Unit]
Description=Ethwei Node
After=network-online.target

[Service]
User=ethwei
ExecStart=$(which ethweid) start
Restart=on-failure
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable ethweid
sudo systemctl start ethweid

Theo dõi log:

journalctl -u ethweid -f

8. Chờ đồng bộ#

Kiểm tra tiến độ:

ethweid status | jq '.SyncInfo'

Chờ đến khi catching_upfalse.

Đừng tạo validator cho đến khi node đã đồng bộ hoàn toàn. Một validator vào tập hợp hoạt động trước khi đồng bộ sẽ ngay lập tức bắt đầu bỏ lỡ khối.


9. Tạo và nạp tiền cho khóa#

ethweid keys add validator

Lưu cụm từ khôi phục (mnemonic) ngoại tuyến — đó là cách duy nhất để khôi phục khóa này. Sau đó nạp ETE testnet cho địa chỉ.


10. Tạo validator#

ethweid tx staking create-validator \
  --amount=1000000WEI \
  --pubkey=$(ethweid tendermint show-validator) \
  --moniker="<your-moniker>" \
  --chain-id=ethwei-testnet-1 \
  --commission-rate="0.10" \
  --commission-max-rate="0.20" \
  --commission-max-change-rate="0.01" \
  --min-self-delegation="1" \
  --gas="auto" \
  --gas-adjustment=1.5 \
  --fees="5000WEI" \
  --from=validator

Xác nhận validator của bạn xuất hiện trên trình khám phá:

ethweid query staking validator $(ethweid keys show validator --bech val -a)

Vận hành#

Giám sát#

Tối thiểu, hãy cảnh báo về: tiến trình node ngừng, catching_up chuyển thành true, số khối bỏ lỡ tăng, và dung lượng đĩa thấp. Node cung cấp số liệu Prometheus — bật chúng trong config.toml và chỉ thu thập từ mạng riêng.

Nâng cấp#

cd ethwei-chain && git pull && make install
sudo systemctl restart ethweid

Các bản nâng cấp có phối hợp diễn ra tại một chiều cao khối xác định. Theo dõi các kênh thông báo và nâng cấp trong khung bảo trì, không nâng cấp sớm hơn.

Sao lưu#

Sao lưu hai tệp này và giữ ngoại tuyến:

TệpMục đích
~/.ethwei/config/priv_validator_key.jsonKhóa ký của validator
~/.ethwei/config/node_key.jsonDanh tính p2p của node

Bảo mật#

  • Không bao giờ chạy hai node với cùng một priv_validator_key.json. Ký hai lần bị giao thức phát hiện và phạt (slash) — đây là sai lầm gây thiệt hại lớn nhất mà một nhà vận hành có thể mắc.
  • Đóng các cổng của validator trừ p2p. Dùng kiến trúc sentry node cho mainnet để validator không trực tiếp tiếp cận được từ internet công khai.
  • Hạn chế SSH chỉ dùng xác thực bằng khóa, lý tưởng là chỉ từ các địa chỉ đã biết.
  • Cân nhắc bộ ký từ xa (như Horcrux hoặc TMKMS) cho mainnet, để khóa ký không bao giờ nằm trên máy chủ validator.

Slashing: validator bỏ lỡ quá nhiều khối sẽ bị giam, và validator ký hai lần sẽ bị phạt và loại vĩnh viễn khỏi tập hợp. Cả hai hình phạt đều ảnh hưởng đến người ủy quyền của bạn.

Cập nhật lần cuối: 2026-07-26 09:58 UTC