Infrastructure
Hướng dẫn cài đặt Connext Router
#
Marketing
6 phút đọc
07/10/2022
8
0
0

Connext Router là thành phần cung cấp thanh khoản (Liquidity Provider) của mạng lưới. Mục đích chính của chúng là tạo điều kiện thuận lợi cho việc hoán đổi chuỗi chéo và chuyển tiếp calldata giữa các chuỗi. Đổi lại, họ nhận được phí cho các dịch vụ. 

Trong bài viết này mình sẽ hướng dẫn để setup 1 router thử nghiệm.

Quá trình đấu giá tuyến đường của các router

Một cuộc đấu giá tuyến đường có sự tham dự của hai thành phần đó là người dùng (người có nhu cầu muốn chuyển tiền) và các router. Việc đấu giá tuyến đường giúp cho người dùng có thể chọn được router nào có tỉ lệ swap tốt nhất.

Phía người dùng

Bắt đầu cuộc đấu giá, người dùng sẽ phát đi 1 yêu cầu tới toàn bộ các router về tài sản muốn chuyển đi, số lượng, chain nhận và địa chỉ tại chain nhận. Sau khi gửi đi yêu cầu:

  • Người dùng sẽ đợi trong vòng 6s để nhận các bid phản hồi từ routers.
  • Nếu trong vòng 6s mà người dùng nhận được nhiều hơn 5 bid phản hồi thì người dùng sẽ kết thúc sớm quá trình đợi này.

Người dùng sẽ kiểm tra các bid này có hợp lệ hay không bằng các kiểm tra sau:

  • Chữ ký của bid là hợp lệ để tránh giả mạo router
  • Kiểm tra thanh khoản của router để đảm bảo router đủ tiền thực hiện việc swap
  • Kiểm tra độ trượt giá của tài sản chuyển đổi, nếu trượt giá lớn hơn số lượng nhận được thì dừng việc chuyển đổi.

Sau khi kiểm tra xong, người dùng sẽ lựa chọn router nào cho số lượng token nhận được là nhiều nhất để thực hiện việc swap.

Phía các router

Các router lắng nghe các gói tin về yêu cầu đấu giá trên một kênh chung, sau khi nhận được gói tin yêu cầu đấu giá, routers sẽ kiểm tra để xem yêu cầu đấu giá có hợp lệ, và router có đủ điều kiện để tham gia đấu giá hay không.

Các bước kiểm tra điều kiện đấu giá:

  • Kiểm tra số lượng muốn chuyển đi phải lớn hơn 0 để ngăn ngừa tấn công liên quan đến phí gas
  • Kiểm tra xem yêu cầu đấu giá đó đã từng được đấu giá chưa
  • Kiểm tra xem đấu giá đã hết hạn hay chưa

Các bước kiểm tra xem router có đủ điều kiện tham dự đấu giá hay không:

  • Kiểm tra thanh khoản của router đủ để thực hiện
  • Kiểm tra xem số lượng dựa trên công thức: amountReceived = ((amountSent * swapRate) * (1 – (routerFee / 100)) – GasFee
  • Kiểm tra số lượng token của router có đủ để trả phí gas

Sau khi các điều kiện thỏa mãn, router sẽ tạo phản hồi bid, ký vào phản hồi này rồi gửi lại cho client.

Cài đặt Docker và Docker Compose

Để thuận tiện nhất cho việc triển khai router mà không mất công quá nhiều cho việc setup thì phía Connext đã cung cấp sẵn file cấu hình Docker Compose. Mình sẽ sử dụng luôn file cấu hình này để chạy 1 router. Hướng dẫn này được viết cho hệ điều hành Ubuntu 20.04, nếu thực hiện trên hệ điều hành khác thì các bạn thực hiện các thao tác tương ứng nhé.

Cài đặt Docker Compose 

Compose là một công cụ để xác định và chạy các ứng dụng multi-container Docker. Với Compose, bạn sử dụng tệp YAML để định nghĩa cấu hình các dịch vụ của ứng dụng. Sau đó, với một lệnh duy nhất, bạn tạo và khởi động tất cả các dịch vụ từ cấu hình của mình.

  • Chạy câu lệnh sau để tải xuống Docker Compose phiên bản 1.29.2

sudo curl -L “https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)” -o /usr/local/bin/docker-compose

  • Tiếp theo phân quyền cho docker compose để có quyền thực thi

sudo chmod +x /usr/local/bin/docker-compose

  • Cuối cùng kiểm tra xem đã cài đặt thành công hay chưa bằng lệnh sau:

docker-compose –version


Nếu ra kết quả như hình thì việc cài đặt đã thành công:

Hướng dẫn cài đặt Connext Router

Cài đặt Docker CE

Compose chỉ hỗ trợ quản lý cấu hình một cách thuận tiện nhất, còn bản chất các ứng dụng sẽ chạy trên nền docker. Bước này mình sẽ cài đặt docker:

  • Đầu tiên mình sẽ  thực hiện cập nhật thông tin về các gói cài đặt trong apt trước

sudo apt update

  • Tiếp theo sẽ cần cài đặt một số packages để hỗ trợ cho https

sudo apt install apt-transport-https ca-certificates curl software-properties-common

  • Sau đó, thêm khóa GPG cho Docker repository vào hệ thống:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add –

  • Thêm Docker Repository vào apt:

sudo add-apt-repository “deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable”

  • Sau đó là cài đặt Docker:

sudo apt install docker-ce

  • Docker bây giờ đã được cài đặt, chạy lệnh sau để Docker start Docker service:

sudo systemctl start docker

  • Kiểm tra xem Docker có đang chạy hay không:

sudo systemctl status docker

Nếu ra như hình bên dưới thì việc cài đặt đã hoàn thành:

Hướng dẫn cài đặt Connext Router

Cấu hình router

Tạo chain providers URL

Trước tiên mình sẽ cần Chain Provider URL. Có thể sử dụng các URL do cộng đồng cung cấp, hoặc sử dụng URL trả phí do một số dự án cung cấp như alchemy, the graph, bware labs… Ở đây mình lựa chọn URL free do alchemy cung cấp.

Hướng dẫn cài đặt Connext Router

  • Sau khi tạo xong mình sẽ có một link với API Key như sau. Lưu lại thông tin này để cấu hình router sau.

Hướng dẫn cài đặt Connext Router

Việc test này, mình sẽ làm trên 2 network là Rinkeby và Goerli nên mình sẽ cần tạo ra 2 URL nhé.

Cài đặt Router

Phần này mình sẽ chạy router trên máy chủ đã cài đặt ở phần I.

  • Clone nxtp-router-docker-compose repository về máy chủ (nếu chưa có công cụ git thì các bạn cài đặt bằng “apt install git” trước)

git clone https://github.com/connext/nxtp-router-docker-compose.git

  • Copy file .env.example thành .env

cp .env.example .env

  • Trong file .env có thể sửa các lại cấu hình các port ROUTER, GRAFANA, WEB3SIGNER mà bạn muốn.

Hướng dẫn cài đặt Connext Router

  • Copy file config.example.json thành config.json

cp config.example.json config.json

  • Trong file config.json chỉnh sửa providers bằng link http và api đã tạo trên alchemyapi. Và chỉnh sửa AdminToken với đoạn mật mã mà bạn muốn. 
  • Phần mnemonic sẽ là passphrase của địa chỉ ví bạn muốn sử dụng cho router. Lưu ý: trên ví bạn cần phải có ETH trong các chain để thực hiện được giao dịch.

Hướng dẫn cài đặt Connext Router

  • Sau khi cấu hình xong, Tiến hành cài đặt router với lệnh docker-compose. Docker sẽ tự động tải về và cài đặt mà mình không cần phải làm gì.

docker-compose up -d

Hướng dẫn cài đặt Connext Router

  • Sau khi lệnh đã chạy xong, mình sẽ truy cập vào địa chỉ http://ip:8000/config để có thể lấy địa chỉ signerAddress. Địa chỉ signerAddress sẽ được dùng thực hiện chạy test router trên Connext.

Hướng dẫn cài đặt Connext Router

Đến đây thì việc cấu hình đã hoàn thành. Mình sẽ chuyển sang bước test router

Test Router

Lấy token TEST

Để test router bạn truy cập vào trang web https://nxtp.connext.network/ Tại đây sẽ sử dụng mạng testnet Rinkeby.

 
#Web3
#Infrastructure
ic-comment-blueBình luận
#