IoTeX Mainnet v1.2 — Web3.js cho các công cụ Ethereum trên IoTeX & Cập nhật Node/Cơ sở dữ liệu
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
Trong quý đầu tiên của năm 2021, chúng tôi đã chứng kiến sự dồn dập thông báo từ IoTeX, bao gồm nghiên cứu mới, hợp tác, và các sáng kiến hệ sinh thái. Nhưng đó chỉ là bề mặt về những gì mà nhóm cốt lõi của IoTeX đang thực hiện. Ở hậu trường, chúng tôi đã tiếp tục phát triển mạnh mẽ để cải thiện "trái tim" của mạng lưới, iotex-core, giao thức blockchain được vận hành bởi tất cả các Đại biểu và các nút đầy đủ, mang lại sự sống cho toàn bộ Mạng lưới IoTeX.
Trong blog này, chúng tôi 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, được phát hành chính thức vào ngày 30 tháng 4. Các Đại biểu IoTeX sẽ có thời gian đến hết ngày 24 tháng 5 để nâng cấp các 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. Để giúp các nhà phát triển Ethereum dễ dàng xây dựng/mở rộng các sản phẩm trên nền tảng IoTeX, chúng tôi giới thiệu Babel, một API wrapper Node Ethereum cho phép người dùng/xây dựng IoTeX sử 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ỉ đến một Endpoint Babel!
Web3.js là một bộ sưu tập các thư viện cho phép bạn tương tác với một nút Ethereum cục bộ 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 IoTeX.
Cập nhật Quản lý Cơ sở dữ liệu Blockchain
Cơ sở dữ liệu nút đầy đủ của iotex-core hiện đang gần 60GB và dự kiến sẽ tăng trưởng cùng 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í một nút Đại biểu sản xuất khối, mà không phải tiêu tốn những khoản chi phí quá lớn 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ề sự tham gia mở bằng cách cung cấp một loạt các 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, nhóm cốt lõi IoTeX đã dành nhiều thời gian và công sức để tinh giản cơ sở dữ liệu blockchain của chúng tôi — với Mainnet v1.2, iotex-core sẽ chia nhỏ 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, sự chia nhỏ này sẽ ngăn ngừa các điểm nghẽn 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, từng phần với mạng, nơi mà một nút có thể chọn lọc tải xuống từ các tệp cơ sở dữ liệu mới nhất.
Giảm kích thước tệp cơ sở dữ liệu
Cùng với các nâng cấp kiến trúc lưu trữ với nhiều tệp cơ sở dữ liệu, chúng tôi đã cải tiến chính tệp cơ sở dữ liệu bằng cách sử dụng phương pháp lưu trữ khối cải tiến với tỷ lệ nén tốt hơn nhiều. Điều này sẽ mang lại sự cải thiện ước tính khoảng 30% tiết kiệm về không gian lưu trữ. Đồng bộ hóa nhanh hơn + lưu trữ tinh giản = một trải nghiệm tuyệt vời cho người vận hành nút!
Tăng tốc độ khi truy vấn blockchain
Chúng tôi cũng đã làm việc trên một phương thức lập chỉ mục giao dịch cải tiến trong cơ sở dữ liệu. Kết quả là, các truy vấn API cụ thể như kéo tất cả các giao dịch từ một địa chỉ trong một khoảng khối nhất định sẽ nhận được phản hồi nhanh hơn rất nhiều.

Cập nhật Quản lý Nút & Nhật ký
Khi có điều gì đó không tốt 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 đối với một mạng nhanh như IoTeX, với một khối ngay lập tức hoàn tất mỗi 5 giây) có thể phức tạp và tốn thời gian. Việc trích xuất dữ liệu bạn cần để hiểu các vấn đề có thể là điều không thể chỉ vì kích thước của các nhật ký. Mainnet v1.2 đã 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 những người vận hành nút trở nên 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 bạn với tác nhân “Beats” được cài đặt trên nút của bạn, và gửi nó đến các máy chủ Elasticsearch + Kibana phổ biến để phân tích các nhật ký này, cũng như tạo ra các hình ảnh hóa cho việc giám sát nút, khắc phục sự cố, phân tích bảo mật, và nhiều hơn nữa. Điều tốt nhất là, ELK hoàn toàn là mã nguồn mở, mang lại sự linh hoạt lớn để 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 Đại biểu, có thể đã nhận thấy nút của bạn không thể đồ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 không có hệ thống giám sát mạnh mẽ, điều này có thể dẫn đến nút vẫn ở trạng thái “ma”, tức là nó đang chạy 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 cho các Đại biểu, vì nút có thể ngừng sản xuất khối.
Để tránh vấn đề tiềm tàng 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 những sự kiện như vậy và kết nối lại với mạng p2p ngay sau khi kết nối Internet được phục hồi. Điều này sẽ cho phép các nút ngay lập tức đồng bộ lại với blockchain, giảm thiểu đáng kể nguy cơ ngừng dịch vụ mạng.
Điều gì sẽ xảy ra tiếp theo?
Chúng tôi rất phấn khích khi đưa Mainnet v1.2 vào đời và phát triển Mạng IoTeX lên một cấp độ mới. Kể từ Mainnet v1.1 vào tháng 8 năm 2020, đội ngũ IoTeX đã làm việc siêng năng trong nhiều tháng qua để chuẩn bị cho phát hành Mainnet v1.2 sắp tới. Ngoài Mainnet v1.2, những ai theo dõi hoạt động trên Github của chúng tôi cũng đã thấy nhiều nâng cấp liên tục và có ý nghĩa trong các ioPay, iotexscan, Pebble Tracker, SDKs, và staking repos — IoTeX thực sự đang hoạt động hết công suất!
Mã Mainnet v1.2 sẽ được phát hành vào thứ Sáu, ngày 30 tháng 4 để các Đại biểu cài đặt cho các nút của họ. Như một phiên bản mã hard-fork, các Đại biểu sẽ có thời gian đến hết ngày 24 tháng 5 để nâng cấp các nút của họ — theo dõi Twitter của IoTeX Developer để cập nhật thêm!
Trong một phiên bản mã sắp tới, IoTeX Mainnet sẽ hỗ trợ phiên bản mới v0.6.x của EVM, điều này cho phép nhiều khả năng mới cho các nhà phát triển, bao gồm cả “từ khóa” bắt buộc để làm mã trở nên rõ ràng/hơn an toàn, cải tiến ngữ nghĩa và cú pháp của mã, cấu trúc thử/lỗi để xử lý ngoại lệ, chuyển đổi rõ ràng từ địa chỉ đến địa chỉ thanh toán với lệnh 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 of Trusted Things, một hệ sinh thái mở nơi tất cả các “thứ” — con người, máy móc, doanh nghiệp, và DApps — có thể tương tác trên cơ sở tin cậy và quyền riêng tư. Được hỗ trợ bởi một đội ngũ toàn cầu với hơn 30 nhà khoa học nghiên cứu và kỹ sư 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 để cho phép 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 nền kinh tế phi tập trung trong tương lai bằng cách “kết nối thế giới vật lý, từng khối một”.
Tìm hiểu thêm: Website | Twitter | Telegram | Medium | Reddit