v1.8.0

Gói tải về

RPM

Gói Cypress

Gói Baobab

Gói thường

Linux

Gói Cypress

Gói Baobab

Gói thường

MacOS

Gói Cypress

Gói Baobab

Gói thường

Windows

  • Chưa được hỗ trợ

Lưu ý cho bản phát hành

Klaytn v1.8.0 chứa bản cập nhật giao thức có thể dẫn đến những thay đổi không tương thích như hard-fork Ethereum. Tất cả nút cần được cập nhật lên phiên bản này trước số khối mục tiêu.

Lịch trình hard fork theo kế hoạch như sau:

  • Testnet Baobab (số khối Baobab 86513895, ngày dự tính: 24/03)

    • Hard fork EthTxType: #86513895 (Hardfork IstanbulEVM và LondonEVM đã được áp dụng trên Baobab)

  • Mạng chính thức Cypress (số khối Cypress 86816005, ngày dự tính: 31/03)

    • Hard fork IstanbulEVM: #86816005

    • Hard fork LondonEVM: #86816005

    • Hard fork EthTxType: #86816005

Lưu ý: Hard fork Istanbul EVM bao gồm những thay đổi về chi phí gas cho mã vận hành EVM và cách sử dụng API. Những hợp đồng hiện có có thể không hoạt động như dự kiến do những thay đổi này. Do đó, vui lòng tham chiếu phần [Cảnh báo về cập nhật giao thức] trong bài viết này.

Tính năng cập nhật giao thức

  • Giới thiệu hard fork EthTxType, kích hoạt các loại giao dịch mới để hỗ trợ các loại giao dịch Ethereum: TxTypeEthereumAccessListTxTypeEthereumDynamicFee (#1142 #1158)

Có gì mới trong v1.8.0

  • Xác định EthereumTxTypeEnvelope (#1171)

  • Triển khai người ký EIP-2930 và người ký London cho các loại giao dịch mới (#1142 #1158)

  • Giới thiệu các API không gian tên eth để hỗ trợ định dạng API Ethereum (#1076 #1077 #1083 #1088 #1093 #1095 #1121 #1123 #1124 #1127 #1129 #1130 #1134 #1172)

  • Thêm các API không gian tên klay mới: klay_maxPriorityFeePerGas, klay_createAccessListklay_feeHistory (#1156)

  • Giới thiệu cờ rpc.eth.noncompatible, vô hiệu hóa khả năng tương thích định dạng API Ethereum (#1072)

  • Thêm trường baseFeePerGas trong kết quả trả về API tiêu đề khối (#1183)

  • Triển khai thu thập dữ liệu trạng thái (#1112 #1116 #1152 #1154 #1155 #1173 #1174)

  • Triển khai daemon tự động khởi động lại để chống lỗi ngừng hoạt động không đúng cách (#1101)

Cải thiện

  • Điều chỉnh thời gian mở khóa trình quản lý tài khoản khi nút khởi động (#1141)

  • Cho phép thêm/loại bỏ nhiều nút xác thực chỉ bằng một phiếu bầu (#1110)

  • Cải thiện logic xác thực của API bầu quản trị (#1109)

  • Hợp nhất các mutex trong blockchain.go (#1099)

Sửa lỗi

  • Sửa lỗi khởi tạo bộ nhớ đệm quản trị (#1168)

  • Sửa API klay_gasPrice để trả về giá trị giá gas phù hợp (#1211)

  • Sửa lỗi race condition phát sinh do cập nhật trường giao dịch (#1091)

  • Sửa lỗi call tracer panic do đối tượng trả về sâu (#1203)

ETC

  • Đặt số khối hard fork cho mạng lưới Cypress (#1230)

    • Hard fork IstanbulEVM: 86816005

    • Hard fork LondonEVM: 86816005

    • Hard fork EthTxType: 86816005

  • Đặt số khối hard fork cho mạng lưới Baobab (#1230)

    • Hard fork EthTxType: 86513895

Cảnh báo về hark fork

Phiên bản mới nhất dự kiến sẽ ảnh hưởng đến các DApp Klaytn hiện đang hoạt động. Vì vậy, nếu bạn là một người vận hành dịch vụ hoặc nhà phát triển, bạn cũng nên đọc loạt bài Hướng đến tương đương Ethereum #1 #2 #3 #4 cùng những hướng dẫn bên dưới.

Dành cho các nhà cung cấp dịch vụ DApp

Bạn có thể gặp phải lỗi hết gas với các hợp đồng thông minh cũ

EVM hard fork IstanbulEVM bao gồm những thay đổi về chi phí gas cho mã vận hành (Vui lòng tham chiếu "Tính năng cập nhật giao thức" trong Lưu ý cho bản phát hành Klaytn v1.7.0). Nếu hợp đồng của bạn có nhiều hàm yêu cầu chi phí gas hạn chế như hàm dự phòng, thay đổi này về chi phí gas có thể gây ra lỗi hết gas. Tính đến nay, chúng tôi đã xác định được các vấn đề xảy ra trong những trường hợp khi hợp đồng có thể nâng cấp kế thừa OpenZeppelin’s BaseAdminUpgradeabilityProxy.sol và BaseUpgradeabilityProxy.sol triển khai hàm dự phòng giống với Proxy.sol. Vui lòng kiểm tra xem hàm có được triển khai theo cách tương tự không. Hãy nhớ, chi phí gas có thể thay đổi liên tục. Vì vậy, vui lòng tránh sử dụng những hành động có tải trọng nặng với hàm dự phòng, trừ trường hợp để in bản ghi. (tài liệu tham chiếu).

Một số địa chỉ hợp đồng đã lập trước sẽ bị thay đổi

Các địa chỉ vmLog(0x09), feePayer(0x0a), validateSender(0x0b) sẽ được chuyển để đảm bảo khả năng tương thích với các hợp đồng đã lập trước của Ethereum. Việc thay đổi chỉ áp dụng với các hợp đồng đã triển khai sau hard fork; các hợp đồng đã triển khai trước đó vẫn có thể sử dụng. Để biết thêm chi tiết, vui lòng tham chiếu Tiến đến tương đương Ethereum #2 — Những thay đổi trong địa chỉ hợp đồng đã lập trước.

Cập nhật caver của bạn lên v1.8.0 hoặc cao hơn để hỗ trợ các loại giao dịch mới

Bạn sẽ có thể sử dụng các loại giao dịch mới với hard fork EthTxType. Nếu bạn muốn các định dạng giao dịch mới cho dịch vụ yêu cầu truy cập giao dịch của các tài khoản khác, hãy đảm bảo cập nhật caver của bạn lên v1.8.0 (js, java) hoặc cao hơn. Để biết thêm chi tiết về các loại giao dịch mới, vui lòng tham chiếu Tiến đến tương đương Ethereum #4 — Các loại giao dịch Ethereum.

Dành cho các nhà vận hành EN

Giá trị trả về mới cho các API ethklay

Trước đây, bạn từng có thể gọi API bằng cách sử dụng namespace eth và nó hoạt động tương tự như namespace klay. Nhưng bắt đầu từ v1.8.0, các API không gian tên eth sẽ sử dụng các định dạng trả về API Ethereum. Bạn có thể tìm hiểu thêm trong Tiến đến sự tương thích với Ethereum #3 — Hỗ trợ các định dạng API Ethereum. Nếu bạn muốn giữ các tính năng của phiên bản cũ và sử dụng eth như klay, chỉ cần thêm tùy chọn --rpc.eth.noncompatible init.

Thêm eth vào danh sách API được cho phép theo mặc định của EN

Các API không gian tên eth được hỗ trợ cho EN và eth đã được thêm vào danh sách được cho phép theo mặc định. Bạn cần thêm eth vào các cấu hình pf RPC_APIWS_API trong tập tin kend.conf để sử dụng các API eth. Các API net, web3 được sử dụng với những công cụ Ethereum như hardhat cũng đã được thêm vào danh sách. Tóm lại, danh sách ưu tiên API theo mặc định trong v1.8.0 bao gồm: RPC_API="klay,net,eth,web3", WS_API="klay,net,eth,web3"

Last updated