v1.10.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.10.0 chứa bản cập nhật hardfork dẫn đến những thay đổi không tương thích ngược. Do đó, tất cả các nút Baobab/Cypress phải được cập nhật lên v1.10.0 hoặc cao hơn trước số khối mục tiêu. Tên của hardfork là "Kore". Hardfork chứa bản triển khai của phương pháp biểu quyết quản trị trên chuỗi (KIP81), cấu trúc phần thưởng GC mới (KIP82) và các thay đổi EVM.

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

  • Baobab: 111736800 08:00 ngày 10/01 (Giờ Việt Nam)

  • Cypress: Tháng 3 năm 2023, sẽ được thông báo trong bản phát hành sau

Cảnh báo về bản cập nhật v1.10.0 và hardfork Kore

Sau đây là một số cảnh báo quan trọng cho những người tham gia hệ sinh thái Klaytn. Vui lòng đọc cảnh báo này trước khi áp dụng bản cập nhật v1.10.0 và hardfork Kore.

  • Dành cho các trình khám phá khối (Scope, Finder) và các công cụ Phân tích quản trị

    • Sau hardfork Kore, việc biểu quyết quản trị sẽ được xử lý trong hợp đồng thông minh theo KIP-81. Cơ chế biểu quyết tiêu đề khối hiện có sẽ chỉ được sử dụng làm dự phòng cho cơ chế biểu quyết dựa trên hợp đồng. Dữ liệu quản trị hoàn thiện có thể được truy xuất từ API governance_chainConfigAt(num) hoặc klay_chainConfigAt(num). Tài liệu chi tiết hơn về việc phân tích dữ liệu biểu quyết sẽ được xuất bản sau khi triển khai hợp đồng quản trị.

    • Sau hardfork Kore, phần thưởng khối sẽ được phân phối cho tất cả các staker hợp lệ (CN) cũng như những người đề xuất khối theo KIP-82. Hệ số Gini sẽ không được tính đến khi lựa chọn người đề xuất, cho phép việc phân phối phần thưởng giữa những người đề xuất được công bằng hơn. Chi tiết phân phối phần thưởng bao gồm số tiền đốt có thể được truy xuất thông qua API klay_getRewards(num) mới.

  • Dành cho các nhà vận hành nút

    • Tất cả nút nên cập nhật phiên bản của họ lên v1.10.0 trước số khối hardfork Kore. Số khối hardfork Cypress sẽ được chỉ định trong phiên bản Klaytn tiếp theo sau khi xác nhận sự an toàn của hardfork trong mạng lưới Baobab.

    • Sau bản cập nhật v1.10.0, việc đồng bộ hóa thời gian NTP sẽ trở thành yếu tố cần thiết theo mặc định. Nếu nút của bạn gặp khó khăn khi đồng bộ hóa với máy chủ NTP, hãy thêm cờ --ntp.disable vào cấu hình nút của bạn.

    • Sau bản cập nhật v1.10.0, các nhà vận hành nút có thể hạn chế một số tính năng của các API gỡ lỗi với cờ rpc.unsafe-debug.disable. Mặc dù các API gỡ lỗi được công khai với những người dùng đáng tin cậy, một số API có thể gây ra lỗi nghiêm trọng khi chúng bị sử dụng bởi những người dùng độc hại. Xem chi tiết về hạn chế trong phần "Bình luận thêm" của PR này.

    • Sau bản cập nhật v1.10.0, các cờ nút mới sẽ được giới thiệu gồm: --snapshot, --ntp.disable, --ntp.server, --rpc.evmtimeout. Hãy tham khảo thêm chi tiết ở bên dưới.

  • Dành cho các nhà phát triển dApp

    • Sau bản cập nhật v1.10.0, các nhà vận hành nút có thể hạn chế một số tính năng của các API gỡ lỗi nếu chúng đặt cấu hình đặc biệt. Xem chi tiết về hạn chế trong phần "Bình luận thêm" của PR này.

    • Sau hardfork Kore, opDifficulty sẽ bị thay thế bởi opRandom khi áp dụng EIP-4399. Điều này nghĩa là mã vận hành 0x44 sẽ trả về blockhash trước của khối này thay vì độ khó của khối.

    • Sau hardfork Kore, chi phí gas của SLOAD, *CALL, BALANCE, EXT*SELFDESTRUCT sẽ tăng lên khi chúng được sử dụng lần đầu trong một giao dịch, đồng thời giảm đi sau lần sử dụng thứ hai khi áp dụng EIP-2929. Và chi phí gas của hợp đồng đã lập trước ModExp sẽ được xác định khi áp dụng EIP-2565.

    • Sau hardfork Kore, khoản hoàn tiền gas cho SELFDESTRUCTSSTORE sẽ bị giảm khi áp dụng EIP-3529.

    • Sau hardfork Kore, một hợp đồng mới bắt đầu bằng 0xEF byte sẽ không thể được triển khai khi áp dụng EIP-3541.

  • Dành cho những người tham gia hệ sinh thái,

    • Sau bản cập nhật v1.10.0, hệ số Gini sẽ bị vô hiệu hóa khi lựa chọn người đề xuất khối. Điều này nghĩa là tất cả CN sẽ tạo khối với xác suất chẵn. Phần thưởng sẽ được phân phối theo cách khác theo KIP-82. Một phần trong số tiền tạo khối sẽ được phân bổ cho các staker, tỷ lệ với số tiền stake KLAY của mỗi CN.

Tính năng cập nhật giao thức(Hardfork Kore)

Những tính năng mới của hardfork Kore sẽ được áp dụng cho các mạng lưới Baobab và Cypress theo số khối hardfork tương ứng của chúng.

  • Tất cả thành viên ủy ban đều có cơ hội được bầu làm người đề xuất khối như nhau (#1655)

  • KIP-81: Triển khai phương pháp biểu quyết quản trị trên chuỗi (#1512 #1604 #1614 #1623 #1639 #1640 #1711)

  • Cập nhật để hỗ trợ cơ chế quản trị trên chuỗi dựa trên hợp đồng

  • Lưu trữ cấu hình quản trị trên các tiêu đề khối hoặc hợp đồng tham số quản trị

  • KIP-82: Cấu trúc phần thưởng GC mới sau khi loại bỏ hệ số Gini (#1631 #1642 #1666 #1692 #1709 #1727 #1729 #1734)

    • Chia phần thưởng đề xuất khối vào phần thưởng tạo và phần thưởng stake

    • Phân phối phần thưởng stake cho các staker hợp lệ cho mỗi lần tạo khối cùng với phần thưởng người đề xuất khối

  • Giới thiệu API klay_getRewards trả về chi tiết phân phối phần thưởng, bao gồm số tiền đốt của một khối nhất định

  • EIP-2565: ModExp chi phí gas (#1705)

  • EIP-2929: Chi phí gas tăng đối với các mã vận hành truy cập trạng thái (#1705)

  • EIP-3529: Giảm khoản hoàn tiền (#1705)

  • EIP-3541: Từ chối mã hợp đồng mới bắt đầu bằng 0xEF byte (#1681)

  • EIP-4399: Thay thế mã vận hành DIFFICULTY bằng RANDOM (#1680)

Cải thiện

  • client.Client có thể cài đặt các tiêu đề HTTP (#1632)

  • Thêm tính năng tạo dữ liệu thu thập không đồng bộ giới thiệu cờ --snapshot flag (#1634)

  • Cải thiện việc đồng bộ hóa thời gian với NTP và giới thiệu cờ cấu hình NTP, --ntp.disable--ntp.server (#1641 #1651 #1669)

  • Giới thiệu thư viện websocket gorilla và kích hoạt giao tiếp hai chiều (#1652)

  • Cập nhật kiểu triển khai DeriveSha để tương thích với Ethereum và biến nó thành một mục quản trị (#1648 #1689 #1693 #1708 #1716)

  • Giảm sử dụng bộ nhớ của máy chủ RPC (#1650)

  • Thêm tùy chọn bộ lọc blockHash cho API klay_getLogs (#1653)

  • Chấp nhận số khối thập phân cho API debug_setHead (#1697)

  • Thêm lệnh phụ snapshot để xác minh cơ sở dữ liệu trạng thái (#1701)

  • Giới thiệu API governance_chainConfigAt và tinh chỉnh governance_chainConfig để hỗ trợ tính năng quản trị đã nâng cấp (#1704 #1724)

  • Giới thiệu cờ rpc.unsafe-debug.disable có thể hạn chế những tính năng khá dễ bị lợi dụng của các API gỡ lỗi, nhằm bảo mật nút khỏi những API bất thường (#GHSA-4vx6-m7jv-g2ch #1722 1746)

  • Hỗ trợ các API getStakingInfo, nodeAddress, chainConfigchainConfigAt, govParamsAt trong không gian tên klay cũng như không gian tên governance. (#1731)

  • Hỗ trợ cờ thời gian chờ thực thi EVM, --rpc.evmtimeout để các nhà vận hành nút quản lý nguồn nút (#1736)

Sửa lỗi

  • Giảm thiểu xả gas vô ý của các nhà vận hành cầu nối ServiceChain trong khi chuyển ERC721 (#1445)

  • Sửa lỗi truy cập nil khi lựa chọn người đề xuất non-WeightedRandom (#1600)

  • Sửa lỗi hỏng cơ sở dữ liệu hiếm do cưỡng chế kết thúc xử lý thông qua khối bổ sung dự phòng (#1630)

  • Xả dữ liệu thu thập lưu trữ vào cơ sở dữ liệu sau khi xử lý (#1635)

  • Sửa lỗi để xác minh CommitedSeals luôn nằm trong công cụ đồng thuận Istanbul (#1678)

  • Xử lý lỗi hỏng gov.changeSet do gọi API debug.traceBlock (#1706)

  • Sửa lỗi bộ lọc phạm vi khối không được áp dụng trong API klay_getLogs (#1715)

  • Sửa lỗi để sử dụng EmptyRootHashOriginal luôn nằm trong API eth_getProof (#1726)

Khác

  • Thêm thông tin phiên bản nhị phân Klaytn vào thông số Prometheus (#1488)

  • Cung cấp cho chaindatafetcher nhiều thông tin hơn và dễ đọc hơn (#1587 #1611)

  • Tích hợp trình theo dõi Datadog HTTP (#1594 #1730)

  • Cải thiện Homi để tạo các lưu trữ khóa tài khoản phần thưởng có tên tập tin reward# (#1605)

  • Thêm logic kiểm tra nil để xác minh MagmaHeader (#1608)

  • Sửa đổi Dockerfile để hỗ trợ kết nối TLS trong golang (#1616)

  • Giảm cấp độ bản ghi của "Trả về nếu địa chỉ không phải là tài khoản chương trình" xuống cấp độ gỡ lỗi (#1643)

  • Tăng giới hạn kích thước của giao thức nhắn tin P2P từ 10MB lên 12MB (#1658)

  • Cập nhật Homi để phân bổ thêm số dư cho khởi nguyên ServiceChain (#1683)

  • Tạo genesis.json, khóa và nhiều thứ khác từ cấu hình yaml trong homi (#1661)

  • Bản cập nhật nhỏ (#1552 #1575 #1598 #1638 #1639 #1640 #1667 #1668 #1685 #1696 #1714 #1717 #1718 #1720 #1723 #1725 #1735)

Last updated