1. Giới thiệu
Sui Network là một Proof-of-stake blockchain dễ mở rộng (theo chiều ngang - bằng việc thêm node vào mạng lưới). Vào cuối năm 2022 Sui đã thực hiện Testnet Wave 1 dành cho những người đã đăng ký và được mời tham dự. Bạn có thể đọc lại bài Recap của Testnet đợt 1, ngoài ra chi tiết về hệ sinh thái Sui các bạn có thể theo dõi tại đây, mình đã tổng hợp đầy đủ thông tin của hệ sinh thái Sui và sẽ cập nhật tiếp trên trang này để mọi người có thể theo dõi.
Thông thường mỗi hệ sinh thái layer-1 ra mắt đều cần mạng lưới các nhà vận hành node, việc càng có nhiều nhà vận hành tham gia vào quá trình vận hành thì sẽ càng tăng được sự bền vững của mạng lưới. Vì vậy, các dự án layer-1 sẽ luôn cần sự tham gia của các Validator vì vậy các chương trình Incentive Testnet sẽ được khởi động trước khi mạng lưới mainet được ra mắt nhằm thu hút cũng như khuyến khích sự tham gia của các nhà vận hành node.
Đây được xem là cơ hội nhận được token Sui khi mainet được ra mắt, vì vậy mình sẽ hướng dẫn mọi người cách Setup node để có thể đăng ký tham gia chương trình Testnet Wave 2 sắp ra mắt trong Q1 năm 2023.
Lưu ý: Có 2 kiểu node mà bạn có thể chạy:
- Full node: Được sử dụng như một RPC node phục vụ truy vấn, lưu trữ trạng thái và lịch sử của blockchain. Ngoài ra nó còn có thể xác thực các hoạt động trên blockchain bao gồm transactions, checkpoints, sự thay đổi ở các epoch.
- Validator: Tham gia vào quá trình đồng thuận. Xác thực các giao dịch, tham gia bảo vệ mạng lưới blockchain, đảm bảo mạng lưới hoạt động ổn định và luôn sẵn sàng. Chỉ những người được mời mới có thể tham gia chạy validator node cho testnet.
Tuy nhiên, theo như đợt 1 mà mình từng đăng ký tham gia thì chạy Fullnode sẽ có nhiều lợi thế cũng như dễ được đồng ý hơn nên trong bài này mình sẽ tập trung vào hướng dẫn chạy Fullnode trên Sui cũng như các để vận hành node hiệu quả.
2. Hướng dẫn thuê server chạy Fullnode
Yêu cầu phần cứng
Hiện tại, để vận hành Fullnode của Sui thì bạn cần một máy tính/server với:
- CPUs: 10 core
- RAM: 32 GB
- Storage: 1 TB
Hiện tại theo mình khảo giá các bên cung cấp dịch vụ thuê Server thì có bên Hetzner là đang chi thuê mức giá rẻ nhất hiện tại, nên mình phần lớn là thuê trên này. Các bạn có thể nhận €20 credit (tiền chi trả cho việc thuê Server) khi đăng ký tài khoản Hetzner tại đây. Các bạn cần có 1 thẻ thanh toán quốc tế Visa/Master Card/JBC (các loại thẻ này các bạn có thể ra ngân hàng để làm thẻ), ngoài ra có thể sử dụng Paypal để thanh toán.
Sau khi đăng ký tài khoản trên Hetzner xong thì các bạn tiến hành KYC và lựa chọn loại cấu hình Server mà mình mong muốn.
Trong này có thông kê chi phí thuê hàng tháng cho từng loại cấu hình, nên tuỳ vào mục đích sử dụng thì các bạn lựa chọn đúng với loại cấu hình đó nhé. Chi tiết về setup và tạo server trên Hetzner các bạn có thể xem thông qua video hướng dẫn.
Việc thuê server không cần bắt buộc phải trên đơn vị nào nên nếu các bạn tìm kiếm được bên đơn vị dịch vụ cho thuê với chi phí rẻ hơn thì cùng share vào nhóm để mọi người cùng biết nhé.
3. Hướng dẫn setup node
Yêu cầu phần mềm
- Hiện Sui hỗ trợ node chạy trên Linux hệ điều hành Ubuntu / Debian hoặc máy chạy macOS (tuy nhiên mình không khuyến khích mọi người nên chạy trên macOS).
Cấu hình tường lửa
- Nếu server của bạn sử dụng tường lửa thì bạn cần đảm bảo các cổng mặc định cho fullnode được mở: 9184, 9000, 9001
Chi tiết setup có trong video
Setup node
Lưu ý: Các bạn chỉ cần copy các dòng lệnh bên dưới để tiến hành cài đặt node
Cập nhật hệ điều hành:
sudo apt update && sudo apt upgrade -y
Trước hết mình khuyến nghị bạn nên cài tmux để việc cài đặt và vận hành node trở nên thuận lợi.
Trên Ubuntu / Debian:
sudo apt install -y tmux
Sau đó tạo một tmux session mới tên sui:
tmux new -s sui
Sử dụng Docker compose
Sau thời gian setup tham gia đợt 1 thì mình thấy sử dụng Docker khá tiện cũng như tỉ lệ xuất hiện lỗi khá thấp và khá dễ đối với người mới nên mình sẽ hướng dẫn mọi người chạy Fullnode thông qua Docker nhé.
- Cài đặt docker và docker-compose
Alternatively you can use the official docker install script
wget -qO- | sh
Install docker-compose
sudo curl -L "" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Optional: cấu hình docker sử dụng ổ đĩa khác để lưu dữ liệu. Xem tại đây.
- Tạo thư mục lưu file cấu hình:
mkdir -p devnet/fullnode && cd devnet/fullnode
- Tải file docker cấu hình node:
wget -O docker-compose.yaml
Sau khi hiển thị như trên hình thì đã tải file docker thành công nhé.
- Tải file template chạy fullnode:
wget
- Tải file genesis:
wget -O genesis.blob
- Chạy node
docker-compose up -d
- Kiểm tra logs của node xem chạy đúng chưa
docker logs fullnode-fullnode-1
Sau khi chạy node xong mà trên màn hình hiển thị như vậy là không có lỗi nào. Như vậy, chúng ta đã chạy node thành công.
4. Kiểm tra node bằng giao diện phần mềm
Lấy địa chỉ ip của server: curl ifconfig.me hoặc sau khi tạo xong server trên Hetzner thì sẽ có mail gửi về đi kèm thông tin IP server.
Có 2 cách để kiểm tra node:
- Cách 1: Dùng https://node.sui.zvalid.com. Nhập địa chỉ IP và các ports rồi bấm Connect (các Port như bên dưới hình)
- Cách 2: Nhập địa chỉ IP và cổng chạy node (bạn chạy cổng mặc định thì để nguyên 9000 và 9184) tại https://www.scale3labs.com/check/sui/devnet rồi bấm Check. Trang web sẽ hiển thị trạng thái của node, version, tốc độ đồng bộ dữ liệu…
5. Update node
Thông thường sẽ có các bản cập nhật hoặc bản vá lỗi nên sẽ cần phải cập nhật lại node sau khi dự án ra mắt các bản cập nhật mới.
Mọi người chỉ cần chạy các dòng scripts sau đây:
wget -O genesis.blob []() && \\
docker-compose pull && \\
docker-compose up --force-recreate --build -d && \\
docker image prune -f
6. Tham khảo
Ngoài ra, các bạn có thể cập nhật thông tin về node cũng như cách tạo node thông qua Source code theo các link bên dưới.
- https://docs.sui.io/build/fullnode#building-from-source
- sui/docker/fullnode at main · MystenLabs/sui (github.com)
7. Kết luận
Trên đây là toàn bộ chi tiết về hướng dẫn về việc thuê Server cũng như chạy Fullnode cho Sui thông qua Docker. Theo kinh nghiệm mà mình đã chạy từ các dự án Layer-1 trước thì tỉ lệ nhận được thưởng từ việc chạy node là rất lớn vì vậy các giai đoạn đầu khi mà dự án còn đang phát triển như này là cơ hội lớn giành cho tất cả mọi người. Nên mọi người có thể tìm hiểu và chuẩn bị trước để khi Testnet Wave 2 ra mắt sẽ dễ dàng đăng ký và tham gia vào Testnet tốt hơn.
Ngoài ra, mình đã lên video hướng dẫn cũng như ghi lại toàn bộ quá trình setup Fullnode cho Sui nên mọi người có thể theo dõi tại link
Tất cả thông tin chi tiết về đợt testnet mới cũng như các cập nhật mới trên hệ sinh thái Sui mọi người tại cách Channel của Sui Việt Nam.
Tổng hợp các Channel của Sui Việt Nam: https://linktr.ee/suinetworkvietnam
Đọc thêm