Bước 3: Run midnight node Validator

Điều kiện cần

Cổng Postgres phải truy cập được đối với midnight-node và cardano-db-sync phải được đồng bộ hoàn toàn (Bước 1).

Hiện tại, midnight-node có sẵn dưới dạng Docker image. Do đó, cần có Docker/Docker Compose.

Thư mục data/chains/partner_chains_template/… (được tạo ở Bước 2).

Cài đặt direnv để quản lý các biến môi trường, Thiết lập các biến trong .envrc.

I. Cấu hình file .envrc để chạy ở chế độ Validator

Trong thư mục midnight-node-docker tiến hành chỉnh sửa file .envrc

nano .envrc

tìm đến dòng export APPEND_ARGS thêm cờ –validator

export APPEND_ARGS="--allow-private-ip --validator --pool-limit 10 --trie-cache-size 0 --prometheus-external --unsafe-rpc-external --rpc-cors all"
II. docker-compose up midnight-node và sao chép key cho midnight-node

rong cùng thư mục với compose.yml, chỉ cần chạy docker compose up để khởi động node.

docker compose up -d

Node sẽ bắt đầu đồng bộ với testnet.

⚙️ Syncing  2.6 bps, target=#474962 (8 peers), best: #3967 (0xf620…d752), finalized #3584 (0x56d5…f7bd), ⬇ 0.8kiB/s ⬆ 0.2kiB/s

#Trong ví dụ log trên; node đang đồng bộ và kết nối ngang hàng p2p là (8). Block được đồng bộ hiện tại là 3967, nhưng mục tiêu đồng bộ là 474962.

Sau khi node đã khởi động, Trong cùng thư mục với compose.yml tiến hành chạy lệnh bên dưới để vào trong docker container midnight

./midnight-shell 

Tiến hành sao chéo key vào thư mục node

cp /data/chains/partner_chains_template/keystore/* /node/chain/chains/testnet-02/keystore/
cp /data/chains/partner_chains_template/network/* /node/chain/chains/testnet-02/network/

Sau khi đã sao chép khóa thành công ta khởi động lại node

docker compose restart

Lưu ý: Node của bạn sẽ đủ điều kiện để tạo Block sau n + 2 epoch kể từ khi đăng ký. Ví dụ, nếu bạn đăng ký ở epoch 900 và bắt đầu một validator node ở epoch 901, thì bạn sẽ thấy Block được tạo ở epoch 902.

Node của bạn sẽ mất khoảng vài giờ để đồng bộ 100%. Khi nút được đồng bộ hóa hoàn toàn, thì bạn sẽ tham gia vào quá trình sản xuất khối. Ví dụ:

Prepared block for proposing: Dòng này chỉ ra rằng node của bạn đã chuẩn bị một block để đề xuất ở một block cụ thể (ví dụ: #290398).

Pre-sealed block for proposal: Điều này cho thấy block đã sẵn sàng được đề xuất cho mạng, bao gồm cả hash của nó.

Imported: Điều này có nghĩa là block mà node của bạn tạo đã được import vào blockchain. Nếu hash khớp với block đã đề xuất của bạn, đó là dấu hiệu rõ ràng cho thấy block của node bạn đã được chấp nhận.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Nội dung