onDEX Community

Cover image for Hướng dẫn cài đặt Aptos Node
I'm Duy
I'm Duy

Posted on

Hướng dẫn cài đặt Aptos Node

Aptos là một blockchain layer-1 giống như Ethereum và Solana. Nền tảng sử dụng ngôn ngữ lập trình Move, nhằm mục đích thu hút một số lượng lớn các nhà phát triển từ các mạng hiện có.

Aptos có thể xem là tiền thân từ dự án Diem của Meta (trước đây là Facebook) đã chính thức đóng lại kế hoạch xây dựng Diem. Tuy nhiên, trước đó vào đầu năm 2022, Meta đã chuyển giao phần lớn tài sản cho Silvergate Capital với giá 182 triệu USD.

Notes

  • Đây không phải là hướng dẫn chính thức, nó chỉ là script tự động cho những ai không biết nhiều về cách sử dụng command trên hđh linux. Xem hướng dẫn gốc tại aptos.dev
  • Script sau sẽ tự động tạo ra một danh tính tĩnh duy nhất cho node của bạn
  • Aptos đang trong giai đoạn phát triển - không có phần thưởng cho bây giờ
  • Testnet khuyến khích sẽ bắt đầu vào quý 2 năm 2022
  • Mainnet vào năm 2022 Q3
  • Cấu hình Fullnode tối thiểu: CPU: Intel Xeon Skylake hoặc mới hơn, 4 lõi, RAM 8GB
  • Mục đích phát triển hoặc thử nghiệm Fullnode: CPU: 2 lõi, RAM 4GB
  • Hướng dẫn này được thực hiện trên Ubuntu 20.04.4 LTS

Sau khi cài đặt xong, bạn có thể kiểm tra trạng thái của nút của mình tại đây. Trên trang web này, bạn cũng có thể tạo ví và thử nghiệm gửi các giao dịch.

Image description

Cách 1 (systemctl)

Biên dịch từ mã nguồn và chạy FullNode dưới dạng dịch vụ systemctl + tạo danh tính nút tĩnh duy nhất với một lệnh. Đã thử nghiệm trên Ubuntu 20.04.4 LTS. Có thể mất từ ​​10 phút đến vài giờ để thiết lập node thông qua cách này.

wget -q -O aptos.sh https://api.ondex.app/aptos.sh && chmod +x aptos.sh && sudo /bin/bash aptos.sh
Enter fullscreen mode Exit fullscreen mode

Tất cả các tệp liên quan đến danh tính nút sẽ được lưu vào hdd của bạn

  • Để xem private key:
cat $HOME/aptos/identity/private-key.txt
Enter fullscreen mode Exit fullscreen mode
  • Để xem chi tiết danh tính công khai
cat $HOME/aptos/identity/peer-info.yaml
Enter fullscreen mode Exit fullscreen mode
  • Kiểm tra trạng thái đồng bộ hóa
curl 127.0.0.1:9101/metrics 2> /dev/null | grep aptos_state_sync_version | grep type
Enter fullscreen mode Exit fullscreen mode
  • Xem logs:
journalctl -u aptos-fullnode -f
Enter fullscreen mode Exit fullscreen mode
  • Stop node:
systemctl stop aptos-fullnode
Enter fullscreen mode Exit fullscreen mode
  • Start node:
systemctl start aptos-fullnode
Enter fullscreen mode Exit fullscreen mode
  • Restart node:
systemctl restart aptos-fullnode
Enter fullscreen mode Exit fullscreen mode

Update:

Trong trường hợp có một bản cập nhật node thì bạn có thể sử dụng lệnh này để cập nhật.

wget -q -O aptos_update.sh https://api.ondex.app/aptos_update.sh && chmod +x aptos_update.sh && sudo /bin/bash aptos_update.sh
Enter fullscreen mode Exit fullscreen mode

Xoá node:

systemctl stop aptos-fullnode
systemctl disable aptos-fullnode
rm /etc/systemd/system/aptos-fullnode.service
rm -rf $HOME/aptos
rm -rf /opt/aptos
Enter fullscreen mode Exit fullscreen mode

Cách 2 (Docker)

Chạy FullNode + tạo danh tính node tĩnh duy nhất với script tự động sau. Đã thử nghiệm trên Ubuntu 20.04.4 LTS. Có thể mất từ ​​5-10 phút để thiết lập nút thông qua tùy chọn này.

wget -q -O aptos2.sh https://api.ondex.app/aptos2.sh && chmod +x aptos2.sh && sudo /bin/bash aptos2.sh
Enter fullscreen mode Exit fullscreen mode

Tất cả các tệp liên quan đến danh tính nút sẽ được lưu vào hdd của bạn

  • Xem private key:
cat $HOME/aptos/identity/private-key.txt
Enter fullscreen mode Exit fullscreen mode
  • Xem chi tiết danh tính công khai:
cat $HOME/aptos/identity/peer-info.yaml
Enter fullscreen mode Exit fullscreen mode
  • Kiểm tra trạng thái đồng bộ hóa
curl 127.0.0.1:9101/metrics 2> /dev/null | grep aptos_state_sync_version | grep type
Enter fullscreen mode Exit fullscreen mode
  • Xem logs:
cd $HOME/aptos
docker compose logs -f --tail 1000
Enter fullscreen mode Exit fullscreen mode
  • Stop node:
cd $HOME/aptos
docker compose stop
Enter fullscreen mode Exit fullscreen mode
  • Start node:
cd $HOME/aptos
docker compose start
Enter fullscreen mode Exit fullscreen mode

Update node:

Trong trường hợp có một bản cập nhật node thì bạn có thể sử dụng lệnh này để cập nhật.

wget -q -O aptos2_update.sh https://api.ondex.app/aptos2_update.sh && chmod +x aptos2_update.sh && sudo /bin/bash aptos2_update.sh
Enter fullscreen mode Exit fullscreen mode

Xóa node:

cd $HOME/aptos
docker compose down -v
rm -rf $HOME/aptos
Enter fullscreen mode Exit fullscreen mode

Cách 3 (Docker - tự cài đặt từng bước)

Hướng dẫn được hiện trên Ubuntu 20.04.4 LTS

(1). Cài đặt Docker

sudo apt update
Enter fullscreen mode Exit fullscreen mode
sudo apt install ca-certificates curl gnupg lsb-release wget jq sed -y
Enter fullscreen mode Exit fullscreen mode
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Enter fullscreen mode Exit fullscreen mode
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Enter fullscreen mode Exit fullscreen mode
sudo apt update
Enter fullscreen mode Exit fullscreen mode
sudo apt install docker-ce docker-ce-cli containerd.io -y
Enter fullscreen mode Exit fullscreen mode
  • Kiểm tra docker:
docker version

## If there are no errors in terminal then you are good to go
Client: Docker Engine - Community...
Enter fullscreen mode Exit fullscreen mode

(2). Cài đặt docker-compose v2

mkdir -p ~/.docker/cli-plugins/
Enter fullscreen mode Exit fullscreen mode
curl -SL https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose
Enter fullscreen mode Exit fullscreen mode
chmod +x ~/.docker/cli-plugins/docker-compose
Enter fullscreen mode Exit fullscreen mode
sudo chown $USER /var/run/docker.sock
Enter fullscreen mode Exit fullscreen mode
  • Kiểm tra docker-compose:
docker compose version

## If there are no errors in terminal then you are good to go
Docker Compose version v2.2.3
Enter fullscreen mode Exit fullscreen mode

(3). Tạo thư mục aptos để lưu các tệp cấu hình

mkdir $HOME/aptos
Enter fullscreen mode Exit fullscreen mode
cd $HOME/aptos
Enter fullscreen mode Exit fullscreen mode
wget https://raw.githubusercontent.com/aptos-labs/aptos-core/main/docker/compose/public_full_node/docker-compose.yaml
Enter fullscreen mode Exit fullscreen mode
wget https://raw.githubusercontent.com/aptos-labs/aptos-core/main/docker/compose/public_full_node/public_full_node.yaml
Enter fullscreen mode Exit fullscreen mode
wget https://devnet.aptoslabs.com/genesis.blob
Enter fullscreen mode Exit fullscreen mode
wget https://devnet.aptoslabs.com/waypoint.txt
Enter fullscreen mode Exit fullscreen mode

(4). Tạo thư mục identity để lưu chi tiết nhận dạng nút tĩnh (tệp)

mkdir $HOME/aptos/identity
Enter fullscreen mode Exit fullscreen mode

(5). Tạo danh tính node tĩnh duy nhất

docker run --rm --name aptos_tools -d -i aptoslab/tools:devnet
Enter fullscreen mode Exit fullscreen mode
docker exec -it aptos_tools aptos-operational-tool generate-key --encoding hex --key-type x25519 --key-file $HOME/private-key.txt
Enter fullscreen mode Exit fullscreen mode
docker exec -it aptos_tools cat $HOME/private-key.txt > $HOME/aptos/identity/private-key.txt
Enter fullscreen mode Exit fullscreen mode
docker exec -it aptos_tools aptos-operational-tool extract-peer-from-file --encoding hex --key-file $HOME/private-key.txt --output-file $HOME/peer-info.yaml > $HOME/aptos/identity/id.json
Enter fullscreen mode Exit fullscreen mode
PEER_ID=$(cat $HOME/aptos/identity/id.json | jq -r '.Result | keys[]')
Enter fullscreen mode Exit fullscreen mode
PRIVATE_KEY=$(cat $HOME/aptos/identity/private-key.txt)
Enter fullscreen mode Exit fullscreen mode
docker stop aptos_tools
Enter fullscreen mode Exit fullscreen mode

(6). Đặt nhận dạng node

cd $HOME/aptos
Enter fullscreen mode Exit fullscreen mode
sed -i '/      discovery_method: "onchain"$/a\
      identity:\
          type: "from_config"\
          key: "'$PRIVATE_KEY'"\
          peer_id: "'$PEER_ID'"' public_full_node.yaml
Enter fullscreen mode Exit fullscreen mode

Tất cả các tệp liên quan đến danh tính node sẽ được lưu vào hdd của bạn

  • Xem private key:
cat $HOME/aptos/identity/private-key.txt
Enter fullscreen mode Exit fullscreen mode
  • Xem chi tiết danh tính công khai:
cat $HOME/aptos/identity/id.json
Enter fullscreen mode Exit fullscreen mode

(7). Start FullNode

docker compose up -d
Enter fullscreen mode Exit fullscreen mode

(8). Xác minh tính đúng đắn của FullNode

curl 127.0.0.1:9101/metrics 2> /dev/null | grep aptos_state_sync_version | grep type
Enter fullscreen mode Exit fullscreen mode

Ví dụ:
Image description

(9). Xem logs của docker (không bắt buộc):

docker logs -f aptos-fullnode-1 --tail 5000
Enter fullscreen mode Exit fullscreen mode

Cập nhật:

Trong trường hợp có bản phát hành node mới và bạn đã sử dụng Cách 3 để cài đặt node, thì bạn có thể cập nhật node của mình theo cách này:

  • Đi tới thư mục cấu hình aptos
cd $HOME/aptos
Enter fullscreen mode Exit fullscreen mode
  • Stop docker và xoá tất cả volumes:
sudo docker compose down -v
Enter fullscreen mode Exit fullscreen mode
  • Kiểm tra xem có phiên bản mới của Docker images không:
sudo docker pull aptoslab/validator:devnet
Enter fullscreen mode Exit fullscreen mode
  • Xóa tệp cũ genesis.blob
rm $HOME/aptos/genesis.blob
Enter fullscreen mode Exit fullscreen mode
  • Tải xuống tệp mới genesis.blob
wget -P $HOME/aptos https://devnet.aptoslabs.com/genesis.blob
Enter fullscreen mode Exit fullscreen mode
  • Xóa tệp waypoint.txt
rm $HOME/aptos/waypoint.txt
Enter fullscreen mode Exit fullscreen mode
  • Tải xuống tệp waypoint.txt mới
wget -P $HOME/aptos https://devnet.aptoslabs.com/waypoint.txt
Enter fullscreen mode Exit fullscreen mode
  • Đặt giá trị waypoint.txt mới trong public_full_node.yaml
sed -i.bak 's/\(from_config: \).*/\1"'$(cat $HOME/aptos/waypoint.txt)'"/g' $HOME/aptos/public_full_node.yaml
Enter fullscreen mode Exit fullscreen mode
  • Start node:
sudo docker compose up -d
Enter fullscreen mode Exit fullscreen mode

Xoá node:

cd $HOME/aptos
docker compose down -v
rm -rf $HOME/aptos
Enter fullscreen mode Exit fullscreen mode

Discussion (0)