IoTeX Mainnet v1.7 đã CHÍNH THỨC hoạt động!

Hôm nay đánh dấu một bản phát hành lớn khác của blockchain IoTeX và mang đến những cải tiến đáng kể cho giao thức IoTeX. iotex-core 1.7.0 đã được phát hành cho các node operator vào ngày 15 tháng 3 và vừa được kích hoạt. [Khoảng 11 giờ tối UTC ngày 24/03/2022]. Bản phát hành này mang đến nhiều cải tiến API sẽ giúp tăng tốc quá trình phát triển dApp và gỡ lỗi các smart contract phức tạp. Các node operator sẽ được hưởng lợi từ kiến trúc đơn giản hơn của dịch vụ Ethereum API và quản lý log tốt hơn. Hiệu năng cơ sở dữ liệu và mạng cũng đã được tăng lên. IoTeX luôn không ngừng xây dựng, hoàn thiện và làm việc theo hướng lặp lại để giúp việc phát triển dApp trở nên dễ dàng hơn. Bên cạnh việc dApp giờ đây dễ xây dựng hơn, blockchain cũng trở nên đáng tin cậy hơn và an toàn hơn với hiệu năng được nâng cao. Hãy cùng xem xét kỹ hơn một số thay đổi quan trọng…
API
Theo dõi (tracing) quá trình thực thi hợp đồng
Việc gỡ lỗi các quá trình thực thi hợp đồng trên blockchain có thể rất phức tạp, đặc biệt nếu chúng liên quan đến việc gọi các hợp đồng khác. API blockchain tiêu chuẩn trên một nền tảng tương thích EVM thường chỉ cho nhà phát triển biết một hành động đã thành công hay bị hoàn tác (reverted). Lệnh API mới TraceTransactionStructLogs tương đương với trace_call của Ethereum và thu thập các chi tiết cấp thấp trong quá trình thực thi của một lệnh gọi hợp đồng, cung cấp cho nhà phát triển những thông tin hữu ích về những gì đã xảy ra trong quá trình thực thi hành động. API này có sẵn trên bất kỳ node IoTeX nào đã bật dịch vụ API gateway.
API giải mã bộ nhớ lưu trữ hợp đồng
API này cho phép giải mã dữ liệu trong bộ nhớ lưu trữ của một smart contract tại một vị trí bộ nhớ cụ thể. Nó được cung cấp dưới dạng một lệnh gọi GRPc API gốc của IoTeX (ReadContractStorage) và dưới dạng lệnh gọi Ethereum JSON API (eth_getStorageAt).
Giá trị phí gas trong kết quả API getActions
Giá trị phí gas thực tế đã chi cho một hành động cụ thể trước đây bị thiếu trong đối tượng phản hồi khi truy vấn chi tiết hành động. Giá trị này giờ đây được cung cấp bởi bất kỳ lệnh gọi API gốc hoặc Ethereum API nào trả về chi tiết giao dịch.
Giá trị chỉ số (index) trong biên nhận giao dịch và log EVM
Sau khi 1.7.0 được kích hoạt, khi truy vấn biên nhận giao dịch, giá trị transactionIndex cũng như giá trị logIndex cho mỗi mục log trong mảng log EVM giờ đây được cung cấp. Trường transactionIndex cho biết vị trí của giao dịch trong khối và hữu ích khi thứ tự giao dịch là quan trọng. logIndex cung cấp thứ tự chính xác của các log EVM cho một quá trình thực thi hợp đồng.
Vận hành Node
Ethereum JSON API gốc
Bản phát hành blockchain 1.2.0 đã đánh dấu một cột mốc lớn cho các nhà phát triển IoTeX. Với việc hỗ trợ gốc các giao dịch được ký theo chuẩn Ethereum bởi node IoTeX và việc phát hành dịch vụ Ethereum JSON API (“Babel”), khả năng tương thích IoTeX-Ethereum đã được hoàn thiện. Điều này cho phép bất kỳ dApp Ethereum nào được chuyển sang IoTeX mà không cần thay đổi gì đối với hợp đồng hay mã nguồn phía client. Tuy nhiên, Ethereum API trước đây được triển khai như một dịch vụ bên ngoài phải được triển khai riêng biệt và “trỏ” đến một node IoTeX thực tế để hoạt động. Với iotex-core 1.7.0, máy chủ Ethereum API giờ đây đã được tích hợp gốc và được cung cấp trực tiếp bởi các node IoTeX. Không cần phải chạy, cấu hình và quản lý một dịch vụ bên ngoài nữa. Chỉ cần bật chức năng Gateway của node IoTeX của bạn để có cả IoTeX native API lẫn Ethereum API.
Xoay vòng Log (Log Rotation)
Logrotate đã được cài đặt vào Docker image của node để quản lý và lưu trữ các tệp log của node hiệu quả hơn. Thay vì một tệp log lớn duy nhất, node giờ đây tạo ra nhiều tệp nhỏ hơn. Những tệp quá cũ sẽ bị xóa. Cấu hình logrotate nằm trong Docker image. Cài đặt mặc định tạo tệp log mới hàng ngày. Các tệp log sẽ bị xóa sau 30 ngày.
Hiệu năng
Tách biệt mạng p2p cho Mainnet và Testnet
Với thay đổi này, Testnet và Mainnet của IoTeX đã được tách biệt về mặt logic ở cấp độ mạng p2p dựa trên giá trị ChainID, hiện đã được đưa vào tất cả các thông điệp p2p. Điều này giúp giảm nhiễu lưu lượng mạng giữa Mainnet và Testnet trong một số trường hợp đặc biệt và giảm thiểu một số loại tấn công nhất định.
Khác
Theo dõi quá trình thực thi node blockchain
Trong bản phát hành 1.6.0, chúng tôi đã giới thiệu mã theo dõi (tracing) để thu thập log thời gian chạy trên các đường thực thi quan trọng của node. Đoạn mã tracing này giờ đây đã được kích hoạt và cấu hình để gửi dữ liệu đến một backend, nơi dữ liệu được tổng hợp và phân tích. Đây là một công cụ quý giá để đội ngũ dev-core của IoTeX giám sát quá trình thực thi của chuỗi và được cảnh báo kịp thời khi phát hiện hành vi bất thường hoặc lỗi. Bất kỳ ai cũng có thể xem dữ liệu này bằng cách truy cập https://tracing.iotex.me.
Thêm
Nhiều bản sửa lỗi nhỏ khác và cải tiến đã được triển khai trong 1.7.0. Hãy xem trang phát hành trên GitHub để biết thêm chi tiết. Chúng tôi rất mong bạn tham gia nhiều hơn. Hãy tham gia kênh Discord của chúng tôi.