IoTeX Mainnet v1.2 — Web3.js cho các công cụ Ethereum trên IoTeX & Cập nhật Node/Database

During the first quarter of 2021, we saw an overflow of announcements from IoTeX, including new research, partnerships, and ecosystem initiatives. But that just scratches the surface... read more

IoTeX Mainnet v1.2 — Web3.js for Ethereum Tools on IoTeX & Node/Database Upgrades

Trong quý đầu tiên của năm 2021, chúng tôi đã chứng kiến sự tràn ngập thông báo từ IoTeX, bao gồm các nghiên cứu mới, các mối quan hệ đối tác và các sáng kiến hệ sinh thái. Nhưng đó chỉ là bề nổi của những gì đội ngũ cốt lõi của IoTeX đã thực hiện. Đằng sau hậu trường, chúng tôi đã tiếp tục phát triển mạnh mẽ để nâng cao "trái tim" của mạng lưới, iotex-core, giao thức blockchain được chạy bởi tất cả các Delegate và các nút đầy đủ, điều này mang lại sức sống cho toàn bộ mạng lưới IoTeX.

Trong blog này, chúng tôi sẽ chia sẻ những tính năng và công cụ tuyệt vời đã được đóng gói vào phiên bản mã Mainnet v1.2, chính thức phát hành vào ngày 30 tháng 4. Các Delegate của IoTeX sẽ có thời gian đến ngày 24 tháng 5 để nâng cấp nút của họ, sau đó Mainnet v1.2 sẽ chính thức được kích hoạt!

Web3.js Wrapper cho các công cụ Ethereum trên IoTeX

IoTeX là một blockchain tương thích EVM hỗ trợ các hợp đồng thông minh Solidity, cho phép các Dapp Ethereum dễ dàng được chuyển sang IoTeX.‌ Để làm cho việc xây dựng/mở rộng sản phẩm trên nền tảng IoTeX trở nên dễ dàng hơn cho các nhà phát triển Ethereum, chúng tôi giới thiệu Babel, một API wrapper cho nút Ethereum cho phép người dùng/xây dựng IoTeX tận dụng hệ sinh thái phong phú của các công cụ Ethereum trên IoTeX. Điều này có nghĩa là các công cụ/dịch vụ như MetaMask, Remix, Truffle, Graph, và nhiều hơn nữa có thể hoạt động với IoTeX chỉ bằng cách chỉ định chúng đến một Endpoint Babel!

IoTeX sẽ sớm tương thích với các công cụ Ethereum như MetaMask

Web3.js là một tập hợp các thư viện cho phép bạn tương tác với một nút Ethereum địa phương hoặc từ xa thông qua HTTP, IPC hoặc WebSocket. Hãy theo dõi tài liệu chi tiết của chúng tôi về cách cấu hình Web3.js để phát triển DApps sử dụng các công cụ Ethereum trên mạng lưới IoTeX.

Cập nhật Quản lý Cơ sở dữ liệu Blockchain

Database của iotex-core full-node hiện đã gần 60GB và dự kiến sẽ tăng lên với sự gia tăng nhanh chóng của hoạt động thiết bị + Dapp trên mạng. IoTeX cam kết làm cho mã blockchain của chúng tôi hiệu quả nhất có thể để bất kỳ ai cũng có thể vận hành một nút đầy đủ, hoặc thậm chí là một nút Delegate sản xuất khối, mà không cần phải chi quá nhiều cho phần cứng và lưu trữ. Mainnet v1.2 sẽ mở rộng cam kết của chúng tôi về việc tham gia mở của với nhiều cập nhật quản lý cơ sở dữ liệu blockchain.

Nhiều tệp cơ sở dữ liệu

Bắt đầu từ quý này, đội ngũ cốt lõi IoTeX đã dành một khoảng thời gian và nỗ lực đáng kể để tinh giản cơ sở dữ liệu blockchain của chúng tôi — với Mainnet v1.2, iotex-core sẽ chia cơ sở dữ liệu thành nhiều tệp cơ sở dữ liệu, với mỗi tệp chứa 1.000.000 khối. Trong dài hạn, việc phân chia này sẽ ngăn chặn các nút thắt cổ chai phát sinh từ một tệp cơ sở dữ liệu lớn duy nhất và mở ra khả năng đồng bộ hóa nhanh hơn, dần dần với mạng, nơi một nút có thể chọn để tải về từ những tệp cơ sở dữ liệu gần đây nhất.

Giảm kích thước tệp cơ sở dữ liệu

Cùng với việc cập nhật kiến trúc lưu trữ với nhiều tệp cơ sở dữ liệu, chúng tôi đã cải cách tệp cơ sở dữ liệu bằng cách sử dụng một phương pháp lưu trữ khối được cải thiện với độ nén tốt hơn nhiều. Điều này sẽ mang lại cải thiện khoảng ~30% tiết kiệm trong không gian lưu trữ. Tốc độ đồng bộ hóa nhanh hơn + lưu trữ tinh giản = trải nghiệm vận hành nút tuyệt vời!

Tăng tốc độ truy vấn blockchain

Chúng tôi cũng đã làm việc trên một sơ đồ lập chỉ mục giao dịch cải thiện trong cơ sở dữ liệu. Kết quả là, các truy vấn API cụ thể như lấy tất cả giao dịch từ một địa chỉ trong một khoảng khối nhất định sẽ có phản hồi nhanh hơn rất nhiều.

Cập nhật Quản lý & Nhật ký Nút

Khi có điều gì xấu xảy ra trong phần mềm, nhật ký có thể cứu bạn. Nhưng việc khám phá nhật ký của một nút blockchain (đặc biệt là đối với một mạng nhanh như IoTeX, với một khối được hoàn thành ngay lập tức mỗi 5 giây) có thể rất phức tạp và tốn thời gian. Việc trích xuất dữ liệu mà bạn cần để hiểu các vấn đề có thể thậm chí là không thể chỉ vì kích thước của các nhật ký. Mainnet v1.2 sẽ khắc phục điều này.

Định dạng nhật ký nút sẽ hỗ trợ ELK

Chúng tôi sẽ làm cho cuộc sống của các nhà điều hành nút dễ dàng hơn bao giờ hết thông qua các cải tiến về định dạng nhật ký, cụ thể là làm cho chúng tương thích với ELK stack! Điều này sẽ cho phép bạn kéo nhật ký từ nút của mình với "Beats" agent được cài đặt trên nút của bạn và gửi đến các máy chủ Elasticsearch + Kibana phổ biến để phân tích các nhật ký này, đồng thời tạo ra các hình ảnh cho việc giám sát nút, khắc phục sự cố, phân tích an ninh và nhiều thứ khác. Tốt nhất là, ELK hoàn toàn mã nguồn mở, cung cấp sự linh hoạt tuyệt vời để triển khai/quản lý ELK.

Không còn “Nút Ma” nữa

Một số bạn, đặc biệt là các Delegate, có thể đã nhận thấy nút của bạn không đồng bộ với blockchain sau khi mất kết nối mạng, ngay cả trong một khoảng thời gian ngắn. Đối với các nút mà không có hệ thống giám sát mạnh mẽ, điều này có thể dẫn đến việc nút vẫn ở trong trạng thái “ma” nơi nó đang hoạt động nhưng không thể đồng bộ với blockchain ngay cả khi kết nối được phục hồi. Điều này đặc biệt nguy hiểm đối với các Delegate, vì nút có thể ngừng sản xuất khối.

Để tránh vấn đề tiềm ẩn này, chúng tôi đã cải thiện mã của iotex-core để các nút hiện có thể phát hiện các sự kiện như vậy và kết nối lại với mạng p2p ngay lập tức sau khi kết nối Internet được khôi phục. Điều này sẽ cho phép các nút ngay lập tức tái đồng bộ với blockchain, giảm đáng kể rủi ro mất kết nối mạng.

Điều gì tiếp theo?

Chúng tôi rất vui mừng khi mang Mainnet v1.2 đến cuộc sống và phát triển mạng lưới IoTeX lên tầm cao tiếp theo. Kể từ khi Mainnet v1.1 vào tháng 8 năm 2020, đội ngũ IoTeX đã làm việc chăm chỉ trong nhiều tháng cho đợt phát hành Mainnet sắp tới của chúng tôi, v1.2. Ngoài Mainnet v1.2, những ai theo dõi hoạt động Github của chúng tôi cũng đã chứng kiến những nâng cấp liên tục và có ý nghĩa trên ioPay, iotexscan, Pebble Tracker, SDKs, và các kho lưu trữ staking — IoTeX thực sự đang phát triển mạnh mẽ!

Mã Mainnet v1.2 sẽ được công bố vào thứ Sáu, ngày 30 tháng 4 cho các Delegate cài đặt vào nút của họ. Như một phiên bản mã hard-fork, các Delegate sẽ có thời gian đến ngày 24 tháng 5 để nâng cấp nút của họ — hãy theo dõi Twitter của IoTeX Developer để biết thêm thông tin!

Trong một đợt phát hành mã sắp tới, IoTeX Mainnet sẽ hỗ trợ phiên bản mới v0.6.x của EVM, cho phép nhiều khả năng mới cho các nhà phát triển, bao gồm các "từ khóa" bắt buộc để làm cho mã rõ ràng/hơn an toàn, cải tiến ngữ nghĩa và cú pháp mã, cấu trúc try/catch để xử lý ngoại lệ, chuyển đổi rõ ràng từ địa chỉ sang địa chỉ có thể thanh toán với chỉ thị payable(x), push() cho các mảng lưu trữ động, và nhiều hơn nữa.

Giới thiệu về IoTeX

Được thành lập như một nền tảng mã nguồn mở vào năm 2017, IoTeX đang xây dựng Internet của những Vật đáng tin cậy, một hệ sinh thái mở nơi tất cả “vật” — con người, máy móc, doanh nghiệp, và DApps — có thể tương tác với sự tin cậy và quyền riêng tư. Được hỗ trợ bởi một đội ngũ toàn cầu gồm hơn 30 nhà khoa học và kỹ sư nghiên cứu hàng đầu, IoTeX kết hợp blockchain, phần cứng an toàn, và tính toán bảo mật để tạo ra các thiết bị, mạng lưới và nền kinh tế IoT thế hệ tiếp theo. IoTeX sẽ nâng cao kinh tế phi tập trung trong tương lai bằng cách “kết nối thế giới vật chất từng khối một”.

Tìm hiểu thêm: Trang web | Twitter | Telegram | Medium | Reddit