Nhảy tới nội dung

Tokyo Hardfork (Japan Open Chain v2)

Japan Open Chain sẽ thực hiện đợt nâng cấp mạng có tên Tokyo Hardfork. Với hardfork này, cơ chế đồng thuận sẽ chuyển từ Clique PoA sang PoSA (Proof of Staked Authority / PoA v2).

Lịch trình​

MạngNgày thực hiệnTrạng thái
TestnetNgày 7 tháng 9 năm 2026Đã hoàn tất
Mainnet (khởi chạy beacon chain)Ngày 18 tháng 9 năm 2026Đã hoàn tất
Mainnet (Phase 1 / The Merge)Chưa xác định (sẽ được quyết định tại cuộc họp Validator)Đang chuẩn bị
Dành cho các đơn vị vận hành node

Nếu quý vị đang vận hành node trên Testnet, vui lòng hoàn tất việc thay đổi cấu hình node trước ngày 7 tháng 9 năm 2026. Chỉ nâng cấp phiên bản Geth là chưa đủ. Vui lòng xem chi tiết tại các bước bên dưới.

Về beacon chain của Mainnet​

Việc nâng cấp Mainnet được tiến hành theo hai giai đoạn.

  1. Khởi chạy beacon chain (ngày 18 tháng 9 năm 2026 — đã hoàn tất)
    Consensus Layer đã bắt đầu vận hành trước, tách biệt với Execution Layer. Các block vẫn tiếp tục được tạo bởi Clique PoA, vì vậy hiện tại không có ảnh hưởng nào đến người dùng thông thường hay các đơn vị vận hành node.
  2. Phase 1 — Hardfork (The Merge) (chưa xác định)
    Execution Layer sẽ bắt đầu hoạt động theo chỉ thị từ beacon chain. Các tổ chức tự vận hành node sẽ cần thay đổi cấu hình vào thời điểm này. Ngày thực hiện sẽ được thông báo trên trang này ngay khi được quyết định tại cuộc họp Validator.

Các tập tin cấu hình cho Mainnet (config.yaml, genesis.ssz, thông tin deposit contract và danh sách bootnode / boot ENR) được công bố trong thư mục metadata/ của repository japan-open-chain/mainnet. Để biết các bước thiết lập node chi tiết, vui lòng tham khảo Hướng dẫn kết nối node Mainnet.

Những việc cần làm ở giai đoạn này​

Đối tượngHành động cần thiết
Người nắm giữ JOC, người dùng thông thường và người sử dụng RPC Endpoint của JOCKhông cần thực hiện hành động nào
Các tổ chức tự vận hành node trên MainnetCó thể giữ nguyên cấu hình hiện tại chỉ gồm Execution Client (Geth), nhưng chúng tôi khuyến nghị quý vị thiết lập Consensus Client (khuyến nghị: Lighthouse) ngay từ bây giờ theo Hướng dẫn kết nối node Mainnet để chuẩn bị cho hardfork tiếp theo (The Merge)
Dành cho các đơn vị vận hành node trên Mainnet

Trước khi hardfork được thực hiện, Geth v1.14.0 trở lên không thể đồng bộ với chain. Vui lòng tiếp tục sử dụng dòng v1.13.

Những việc cần làm theo từng đối tượng​

Đối tượngHành động cần thiết
Người nắm giữ JOC và người dùng thông thườngKhông cần thực hiện hành động nào
Người sử dụng RPC Endpoint của JOCKhông cần thực hiện hành động nào
Nhà phát triển dAppChain ID không thay đổi. Chỉ cần thực hiện hành động nếu quý vị tự vận hành node
Các tổ chức tự vận hành nodeCần thực hiện hành động (tại thời điểm hardfork). Vui lòng thay đổi cấu hình node theo các bước bên dưới
ValidatorCần thực hiện hành động. Vui lòng làm theo hướng dẫn sẽ được cung cấp riêng

Các bước dành cho đơn vị vận hành node trên Testnet​

Đối tượng áp dụng: các tổ chức đồng bộ trực tiếp từ boot node của JOC Testnet và tự vận hành node. Nếu quý vị sử dụng thông qua RPC Endpoint của JOC, không cần thực hiện hành động nào.

Chỉ nâng cấp phiên bản Geth là chưa đủ​

Với PoA, Execution Client (Geth) tự mình xác minh và đồng bộ các block. Sau khi chuyển sang PoSA, tính hợp lệ của block sẽ do Consensus Layer (beacon chain) quyết định. Geth chỉ đảm nhận phần thực thi và nhận chỉ thị fork choice từ Consensus Client.

Do đó, công việc cần thực hiện là thay đổi cấu hình, không phải nâng cấp phiên bản.

[Hiện tại] [Sau Tokyo Hardfork]

Geth (độc lập) Geth ── Engine API ── Lighthouse
│ │ │
P2P tới chỉ thực thi đồng thuận / fork choice
boot node │
tới boot node của CL

1. Những việc cần hoàn tất trước hardfork​

Step 1 — Lấy bộ tập tin cấu hình​

Tập tinMục đíchGhi chú
genesis.json (bản cập nhật)Dành cho Execution Client. Bao gồm TTD và thời điểm của từng forkKhác với phiên bản đang được công bố hiện tại
config.yamlĐặc tả chain dành cho Consensus ClientĐịnh nghĩa fork epoch và network ID
deposit_contract_block.txtSố block của Deposit Contract
genesis.sszGenesis state của beacon chainKhoảng 5.5 MB

Các tập tin trên được phân phối trong thư mục metadata/ của repository dành cho Testnet.

Step 2 — Tiếp tục sử dụng Geth dòng v1.13​

Vui lòng tiếp tục sử dụng Geth v1.13.5, phiên bản đã được xác nhận hoạt động trên trang này. Hiện tại, Geth v1.14.0 trở lên không thể đồng bộ với chain.

ghi chú

Các giai đoạn Shapella, Dencun và Pectra sẽ yêu cầu phiên bản Geth mới hơn. Chúng tôi sẽ thông báo phiên bản tương thích trên trang này ngay khi lịch trình được xác định.

Step 3 — Thiết lập mới Consensus Client​

  • Khuyến nghị: Lighthouse v7.0.1 (Docker image sigp/lighthouse:v7.0.1)
  • Lighthouse đã được kiểm thử và hoạt động ổn định; các client khác chưa được xác minh
  • Có thể chạy trên cùng máy chủ với Geth hiện có
  • Cần cấu hình boot node (ENR) cho Consensus Layer (sẽ được thông báo ngay khi được xác định)
  • Chúng tôi khuyến nghị sử dụng checkpoint sync cho lần đồng bộ đầu tiên (endpoint sẽ được thông báo ngay khi được xác định)

Step 4 — Kết nối Geth và Consensus Client qua Engine API​

Hai bên giao tiếp với nhau qua Engine API có xác thực (cổng mặc định 8551). Vui lòng tạo một JWT secret dùng chung và cấu hình ở cả hai bên.

# Example: generating the JWT secret
openssl rand -hex 32 | tr -d "\n" > /data/jwt.hex

Các tùy chọn khởi động cần bổ sung phía Geth:

--authrpc.addr=127.0.0.1
--authrpc.port=8551
--authrpc.jwtsecret=/data/jwt.hex
--authrpc.vhosts=localhost

Step 5 — Kiểm tra đồng bộ và kết nối​

  • Consensus Client đã bắt kịp beacon chain
  • Log của Geth ghi nhận các cập nhật fork choice qua Engine API
  • Vào ngày hardfork, vui lòng duy trì cả hai client ở trạng thái đang chạy. The Merge sẽ tự động được kích hoạt khi đạt đến TTD đã cấu hình

2. Công việc cần thực hiện ở từng giai đoạn sau hardfork​

Đối với các giai đoạn Shapella, Dencun và Pectra, quý vị sẽ cần cập nhật cấu hình và khởi động lại sau khi có thông báo từ chúng tôi.

Giai đoạnExecution ClientConsensus Client
Phase 2 — ShapellaThiết lập shanghaiTimeCAPELLA_FORK_VERSION / CAPELLA_FORK_EPOCH
Phase 3 — DencunThiết lập cancunTimeDENEB_FORK_VERSION / DENEB_FORK_EPOCH
Phase 4 — PectraThiết lập pragueTimeELECTRA_FORK_VERSION / ELECTRA_FORK_EPOCH
cảnh báo

Vui lòng không tự ý cập nhật cấu hình hoặc khởi động lại trước khi có thông báo từ chúng tôi.

3. Trường hợp không thực hiện hành động​

  • Sau hardfork, node đó sẽ không thể nhận block mới và không thể theo kịp đầu chain
  • Các ứng dụng và ví kết nối RPC tới node đó sẽ không thể lấy được thông tin block hoặc giao dịch mới nhất
  • Node bị bỏ lại trên chain cũ có thể tiếp tục trả về dữ liệu của chain đã ngừng hoạt động
  • Lưu ý rằng các node thông thường sẽ không bao giờ bị slash (chỉ Validator mới là đối tượng của Slashing)

4. Câu hỏi thường gặp​

Q. Tôi có cần đăng ký làm Validator hoặc ký gửi 32 JOC không?

Không cần. Các node thông thường không tạo block không cần đăng ký trên Launchpad cũng như không cần nộp deposit data. Chỉ cần thực hiện việc thay đổi cấu hình nêu trên.

Q. Tôi có cần xóa dữ liệu chain hiện có và đồng bộ lại không?

Không. Toàn bộ dữ liệu chain và lịch sử giao dịch hiện có đều được giữ nguyên.

Q. Chain ID có thay đổi không?

Không thay đổi.

Q. Tôi có cần thêm máy chủ không?

Consensus Client có thể chạy trên máy chủ hiện có, với điều kiện máy chủ còn đủ dung lượng ổ đĩa và bộ nhớ.

Liên hệ​

Nếu có thắc mắc liên quan đến hardfork này, vui lòng liên hệ với chúng tôi qua biểu mẫu liên hệ.