Hướng dẫn nâng cấp ARK v2.4 và khắc phục lỗi

ARK Core mới đây đã nâng cấp lên phiên bản v2.4 với nhiều cải tiến, thông tin xem thêm tại đây. Một trong những cải tiến mà tôi thấy thích đó là khả năng sync block rất nhanh.

Tôi đã hoàn tất việc cập nhật toàn bộ 5 ARK Relay Node của mình lên v2.4. Dù đã làm theo hướng dẫn chính thức được đăng tải tại docs.ark.io, nhưng tôi vẫn gặp một vài lỗi. Nhờ sự chia sẻ thông tin từ người bạn @Cam mà tôi đã nâng cấp thành công một cách nhanh nhất, tiết kiệm nhiều thời gian.

Bước đầu tiên nên làm thường xuyên đó là cập nhật các gói phần mềm bằng lệnh sau

sudo apt update ; sudo apt -y upgrade

Sau đó tiến hành sửa file plugins.js nằm ở đường dẫn ~/.config/ark-core/mainnet/plugins.js. Tuy nhiên, trước khi chỉnh sửa nên tạo 1 bản backup đề phòng.

mv ~/.config/ark-core/mainnet/plugins.js ~/.config/ark-core/mainnet/plugins.js.bak

OK rồi, tiến hành sửa file thôi. Sửa file này gồm 3 bước.

Bước 1. Tìm đến chỗ @arkecosystem/core-database-postgres rồi thêm đoạn này ngay phía trước.

"@arkecosystem/core-state": {}, // Them dong nay ngay phia truoc

Bước 2. Tìm đến chỗ @arkecosystem/core-blockchain rồi thêm đoạn này ngay phía sau.

"@arkecosystem/core-wallet-api": {}, // Them dong nay ngay phia sau

Bước 3. Tìm đến chỗ @arkecosystem/core-p2p và thay thế cả block thành như sau

    "@arkecosystem/core-p2p": {
        server: {
            port: process.env.CORE_P2P_PORT || 4001,
        },
    },

Bước 4. Tìm đến chỗ @arkecosystem/core-forger và thay thế cả block như sau.

    "@arkecosystem/core-forger": {
        hosts: [
           {
              hostname: "127.0.0.1",
              port: process.env.CORE_P2P_PORT || 4001,
           },
       ],
    },

Như vậy là đã sửa xong file plugins.js rồi, giữ nút Ctrl + X để save lại.

Bước 5. Chạy các lệnh sau, mỗi lệnh là 1 dòng

sed -i 's/CORE_JSONRPC/CORE_EXCHANGE_JSON_RPC/g' ~/.config/ark-core/mainnet/.env
sed -i 's/CORE_JSON_RPC/CORE_EXCHANGE_JSON_RPC/g' ~/.config/ark-core/mainnet/.env
sed -i 's/CORE_JSONRPC/CORE_EXCHANGE_JSON_RPC/g' ~/.config/ark-core/mainnet/plugins.js
sed -i 's/CORE_JSON_RPC/CORE_EXCHANGE_JSON_RPC/g' ~/.config/ark-core/mainnet/plugins.js
sed -i 's/core-json-rpc/core-exchange-json-rpc/g' ~/.config/ark-core/mainnet/plugins.js

Sau khi thực hiện hết các bước trên thì chạy lệnh sau để cập nhật ARK Core.

ark update

Như thế là xong các bước nâng cấp rồi. Một vài trường hợp sẽ gặp lỗi không sync được. Lời khuyên là rollback về block 8350000 để fix lỗi bằng lệnh sau.

ark snapshot:rollback --height=8350000

Thêm một chú ý nhỏ là mở port 4040 nếu đang sử dụng firewall.

sudo ufw allow 4040/tcp

Như vậy là đã hoàn thành việc nâng cấp ARK Core lên phiên bản 2.4 (cụ thể là 2.4.1 mới nhất thời điểm viết bài).

Xin cảm ơn người bạn @cam trên Slack và @rising_sun delegate luôn hỗ trợ.