v1.7.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.7.0 chứa những thay đổi quan trọng cho việc 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. Phiên bản này kích hoạt việc cập nhật giao thức cho mạng thử nghiệm Baobab ở khối #75373312, dự kiến vào ngày 15/11. Mạng chính thức Cypress sẽ thực hiện việc cập nhật giao thức tương tự trong phiên bản tiếp theo.

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

  • Giới thiệu các mục hard-fork Istanbul của Ethereum

    • EIP-152: Giới thiệu hợp đồng đã lập trước, BLAKE2F tại địa chỉ 0x09 (#960, #1010)

    • EIP-1108: Định giá lại chi phí gas của hợp đồng đã lập trước, ECADD, ECMUL và kiểm tra ghép nối (#987)

    • EIP-1344: Giới thiệu mã vận hành mới, CHAINID tại 0x46 (#952)

    • EIP-1844: Giới thiệu mã vận hành mới, SELFBALANCE tại 0x47. Định giá lại chi phí gas của SLOAD, BALANCE và EXTCODEHASH (#958)

    • EIP-2200: Thay đổi thuật toán tính gas của mã vận hành SSTORE (#996)

  • Di chuyển địa chỉ của các hợp đồng đã lập trước Klaytn (#912)

    • vmLog: 0x09 → 0x3fd

    • feePayer: 0x0a → 0x3fe

    • validateSender: 0x0b → 0x3ff

    • Các hợp đồng đã được triển khai trước khi kích hoạt thay đổi không tương thích sẽ tiếp tục hoạt động như trước, kể cả với giao dịch được thực thi sau khi kích hoạt.

  • Thay đổi logic tính gas cho trường dữ liệu của các giao dịch loại cũ (#986)

    • Với thay đổi này, logic tính phí dữ liệu tương tự sẽ được áp dụng cho tất cả các loại giao dịch.

  • Cải thiện logic xác thực và tính gas của các giao dịch đa chữ ký (#1001)

    • Phí xác minh chữ ký cho các giao dịch đa chữ ký tỷ lệ với số lượng chữ ký duy nhất.

    • Giao dịch không hợp lệ khi chứa nhiều chữ ký hơn số lượng tài khoảnKey tối đa của tài khoản.

    • Giao dịch không hợp lệ khi chứa ít nhất một chữ ký không hợp lệ.

  • Giảm chi phí tính toán của các mã vận hành có chi phí quá cao (#1033)

    • Các mã vận hành bị ảnh hưởng: addmod, mulmod, not, xor, shl, shr và sar.

  • Giới thiệu số lượng staking tối thiểu cho các nút xác thực như mục quản trị (#920 #963 #1023 #1024 #1034)

    • Nếu một nút xác thực không stake đủ KLAY, nút đó sẽ không được chọn làm người đề xuất hoặc thành viên ủy ban.

  • Chọn ngẫu nhiên các thành viên ủy ban mới trên mỗi bộ đếm thay đổi (#997)

Tính năng mới

  • Giới thiệu hai API klay trả về tiêu đề khối: klay_getHeaderByNumber và klay_getHeaderByHash (#975)

  • Giới thiệu hai API istanbul trả về nút xác thực bị hạ cấp (#974)

    • istanbul_getDemotedValidators: Trả về các nút xác thực bị hạ cấp ở một số khối cho trước.

    • istanbul_getDemotedValidatorsAtHash: Trả về các nút xác thực bị hạ cấp ở một hàm băm khối cho trước.

    • Nút xác thực bị hạ cấp là một loại nút xác thực nhưng không thể làm người đề xuất hay thành viên ủy ban do số lượng KLAY staking không đủ.

  • Giới thiệu lệnh dumpgenesis trả về khối khởi nguyên dưới định dạng JSON (#992)

  • Giới thiệu CustomRetryer cho DynamoS3DB để thử lại các yêu cầu cho tất cả những trường hợp lỗi (#982)

  • Giới thiệu cờ thử nghiệm liên quan đến thời gian tạo khối (#989)

    • BlockGenerationIntervalFlag: Xác định khoảng thời gian tạo khối giữa hai khối liền kề (Chỉ dành cho CN)

    • BlockGenerationTimeLimitFlag: Cài đặt giới hạn thời gian thực thi vm trong quá trình tạo khối (Chỉ dành cho CN)

    • OpcodeComputationCostLimitFlag: Cài đặt giới hạn chi phí tính toán cho một giao dịch

Cải thiện

  • Thay đổi loại thông số khối từ blockNumber hoặc blockHash thành blockNumberOrHash (#975)

    • Các API bị ảnh hưởng: klay_tài khoảnCreated, klay_getAccount, klay_getAccountKey, klay_getBalance, klay_getCode, klay_getTransactionCount, klay_isContractAccount, klay_getBlockByNumber, klay_getBlockTransactionCountByNumber, klay_getBlockWithConsensusInfoByNumber, klay_getCommittee, klay_getCommitteeSize, klay_getCouncil, klay_getCouncilSize, klay_getStorageAt, klay_getLogs, klay_newFilter, klay_call, klay_getTransactionByBlockNumberAndIndex, debug_dumpBlock, debug_getBlockRlp, debug_printBlock, and governance_itemsAt

  • Thêm phương pháp SetHeader cho máy khách Klaytn (#1020)

  • Sử dụng dirtyStorage một cách chính xác hơn (#993)

  • Cài đặt giới hạn kích thước nội dung yêu cầu của fastHttpServer với maxRequestContentlength (#1029)

  • Kích hoạt tùy chọn UseOpcodeComputationCost EVM trên API gỡ lỗi (#1035)

  • Cập nhật công cụ đồng thuận istanbul để xác minh nhiều tiêu đề cùng lúc (#957)

  • Cải thiện tính năng di chuyển trạng thái để hỗ trợ DB kiểu không đơn lẻ (#954)

Sửa lỗi

  • Xử lý những kết quả trả về bất thường của state.NewForPrefetching (#1011)

  • Sửa ứng dụng bất thường của phiếu bầu quản trị trong những trường hợp đặc biệt (#1018)

Khác

  • Đổi tên hai API quản trị (#971)

Khác

  • Đổi tên hai API quản trị (#971)

    • admin_startRPC → admin_startHTTP

    • admin_stopRPC → admin_stopHTTP

    • Tên cũ không còn được sử dụng, nhưng vẫn có sẵn.

Last updated