Các thư viện khách hàng IOTA mới: Khó hơn, Tốt hơn, Nhanh hơn, Mạnh hơn
Trong những năm qua, rất nhiều nhà phát triển trong hệ sinh thái của chúng tôi đã sử dụng các thư viện khách hàng của chúng tôi để tích hợp IOTA vào các ứng dụng của họ. Có sẵn trong nhiều ngôn ngữ lập trình khác nhau, cả các dự án được hỗ trợ chính thức và do cộng đồng điều khiển đã giúp bạn có thể sử dụng IOTA trong nhiều dự án: Từ các thiết bị IoT sử dụng thư viện C đến các ứng dụng web trong Node.js, Go hoặc Python.
Vào đầu năm 2020, chúng tôi bắt đầu lập kế hoạch cải thiện trải nghiệm này với những gì đã học được từ những năm qua.
Chúng tôi đã đưa ra một kế hoạch vững chắc và quyết định rằng bản phát hành Chrysalis, tập trung vào IOTA sẵn sàng sản xuất và thân thiện với người dùng, biến nó thành thời điểm lý tưởng để thay thế các thư viện hiện có của chúng tôi và tiến tới với một giải pháp dễ dàng hơn, mạnh mẽ hơn, bền vững và tiêu chuẩn hóa, chúng tôi đang giới thiệu ngay bây giờ, dưới ánh sáng của “bình minh mới” của IOTA.
Các nguyên tắc cốt lõi của thư viện mới
Sau khi làm việc với các thư viện khách hàng hiện tại trong vài năm và hỗ trợ vô số nhà phát triển cộng đồng với các dự án của họ, chúng tôi đã có một ý tưởng khá tốt về những khía cạnh mà chúng tôi có thể cải thiện.
Một số điều chúng tôi thường nghe là những câu như “Có quá nhiều thứ tôi cần tìm hiểu về IOTA trước khi có thể bắt đầu” hoặc “Tính năng X chỉ được hỗ trợ bằng ngôn ngữ Y” .
Chúng tôi đã thu thập tất cả kinh nghiệm của chính mình và phản hồi của cộng đồng và doanh nghiệp và đưa ra một bộ nguyên tắc cốt lõi cho các thư viện khách hàng mới:
Ràng buộc, một nguồn chân lý duy nhất
Cho đến nay, mọi ngôn ngữ đều có bộ tính năng IOTA được hỗ trợ riêng và cách hoàn thành một số tác vụ nhất định. Điều này đôi khi có thể dẫn đến sự nhầm lẫn giữa các triển khai khác nhau và rõ ràng là không tối ưu.
Với các thư viện mới, chúng tôi quyết định rằng chỉ nên có một triển khai tham chiếu cho các thư viện khách (chúng tôi đã chọn Rust cho điều này) và tất cả các triển khai khác phải tuân theo triển khai tham chiếu đó về mặt đặt tên và chức năng.
Để thực thi điều này và sử dụng các tính năng bảo mật và hiệu suất của Rust, chúng tôi quyết định rằng các thư viện mới nên sử dụng tham chiếu Rust thông qua các ràng buộc để đảm bảo cùng một hành vi và cùng một chức năng trong bất kỳ ngôn ngữ được hỗ trợ nào. Điều này có nghĩa là bạn thực sự có thể sử dụng thư viện Rust của chúng tôi trực tiếp từ ngôn ngữ yêu thích của bạn theo cú pháp yêu thích của bạn, mang lại sức mạnh và hiệu suất của thư viện dựa trên Rust của chúng tôi cho ngôn ngữ bạn chọn. Tại thời điểm viết bài, chúng tôi có sẵn các ràng buộc cho Node.js và Python và đang tích cực phát triển các liên kết bổ sung cho Java và các ngôn ngữ khác.
Dễ sử dụng, nhưng nâng cao khi bạn có thể cần
Các thư viện trước đây đã được tạo ra với sự linh hoạt tối đa trong tâm trí. Theo nghĩa đen, mọi tùy chọn có sẵn trong giao thức đều có thể được sử dụng từ các máy khách, nhưng điều này cũng có nghĩa là bạn cần biết nhiều về cách thức hoạt động của chính giao thức trước khi bạn có thể sử dụng nó ở mức tối đa.
Với Chrysalis, chúng tôi quyết định cải thiện trải nghiệm này và đưa ra nhiều giá trị mặc định hợp lý nhất có thể. Trước đây, bạn phải cung cấp thủ công URL nút, chuyển đổi / mã hóa giao dịch của mình, thiết lập các tùy chọn như “độ lớn trọng lượng tối thiểu” (MWM) và “độ sâu” trước khi bạn có thể sử dụng các thư viện. Tuy nhiên, trong phiên bản mới, tất cả chúng đều được cung cấp theo mặc định với giả định rằng bạn muốn làm việc với mạng chính, sử dụng các tham số mặc định cho mạng chính và bạn đang mã hóa dữ liệu của mình theo byte (utf-8). Điều này dẫn đến một thư viện dễ sử dụng hơn nhiều cho mọi người, ngay cả khi bạn chưa từng làm việc với IOTA trước đây.
Nếu bạn không cung cấp một đối số cụ thể, nó sẽ sử dụng giá trị mặc định; Nếu bạn không muốn hành vi mặc định, bạn có thể ghi đè hành vi này để làm cho tất cả các trường hợp sử dụng nâng cao cũng có thể. Điều này cho phép chúng tôi cung cấp một thư viện mới dễ sử dụng và có tất cả các chức năng được tích hợp sẵn mà bạn cần.
Chức năng trợ giúp
Có một số mô hình trong khi phát triển với IOTA khá phổ biến; ví dụ tìm một nút công khai để sử dụng. Đây từng là một công việc thủ công, nhưng với các thư viện máy khách mới, bạn chỉ cần yêu cầu nó sử dụng ‘mainnet’ hoặc ‘testnet’ và nó sẽ tự động tìm một nút công cộng được đồng bộ hóa cho bạn thông qua chức năng trợ giúp của chúng tôi. Một chức năng trợ giúp thú vị khác mà chúng tôi cung cấp là tính trừu tượng của các sự kiện.
Trước đây, bạn phải sử dụng thư viện bên thứ ba riêng biệt để kết nối với nguồn cấp dữ liệu MQTT / ZMQ của các nút cho các sự kiện, bây giờ bạn chỉ cần có tùy chọn để lắng nghe các sự kiện trực tiếp từ các thư viện khách bằng cách cung cấp chức năng gọi lại của riêng bạn nếu một sự kiện được kích hoạt.
Những trình trợ giúp này và nhiều trình trợ giúp khác đã có sẵn để sử dụng ngay bây giờ với các thư viện ứng dụng khách mới mang lại một mức độ tiện lợi khác cho trải nghiệm của nhà phát triển IOTA.
Một thư viện ví để thống trị tất cả
Trước đây, mọi triển khai IOTA xử lý mã thông báo IOTA đều thực hiện triển khai riêng của nó bằng cách sử dụng các thư viện khách hàng cốt lõi ở mức khá thấp. Đây là một công việc khá khó khăn và vì mọi cách triển khai đều khác nhau, nên đôi khi nó dẫn đến việc triển khai không chính xác.
Để khắc phục sự cố này một lần và mãi mãi, chúng tôi đã giới thiệu một thư viện khách hàng hoàn toàn mới, wallet.rs. Về cơ bản, Wallet.rs là một ví có thể lập trình được mà chúng tôi khuyến khích sử dụng cho mọi hoạt động triển khai xử lý mã thông báo IOTA. Thư viện trạng thái này chăm sóc mọi thứ cho bạn bao gồm những thứ như đồng bộ hóa và bảo mật. Wallet.rs đã được tích hợp vào ví Firefly mới, ví dòng lệnh và vòi testnet, đồng thời cho phép bất kỳ nhà phát triển nào triển khai ví riêng trong đó thư viện xử lý các thành phần cốt lõi quan trọng.
Một số điểm nổi bật của wallet.rs là:
- Nó trạng thái, rất nhanh để sử dụng ngay cả khi bạn có nhiều địa chỉ và tài khoản
- Bạn có thể tạo bao nhiêu tài khoản tùy thích với các tùy chọn của riêng họ; Quản lý cả tài khoản test và tài khoản mainnet trong một thiết lập wallet.rs duy nhất nếu bạn muốn
- Nó được bảo mật theo mặc định, sử dụng Stronghold để quản lý bí mật
- Gửi và nhận tiền rất dễ dàng, nếu cần một tệp đính kèm lại, nó sẽ xử lý nó cho bạn
- Sao lưu và khôi phục trạng thái là một tính năng được tích hợp sẵn
Các nguyên tắc tương tự áp dụng cho thư viện lõi cũng áp dụng cho wallet.rs. Thư viện dễ sử dụng với các giá trị mặc định hợp lý và có các ràng buộc cho Node.js, Python và Java với nhiều ngôn ngữ tiềm năng hơn sẽ được thêm vào sau này.
Các thư viện khác
Bất kể chúng ta thích cách tiếp cận mới của mình như thế nào, đó không phải là giải pháp lý tưởng trong mọi tình huống có thể xảy ra. Đối với những trường hợp này, chúng tôi cũng có các thư viện khác, nhưng với chức năng hạn chế hơn:
Thư viện C cho các thiết bị được cấp nguồn thấp
C là một ngôn ngữ cấp thấp, hiệu suất cao được sử dụng rất nhiều trong các thiết bị nhúng với tài nguyên hạn chế. Do một số hạn chế đi kèm với ràng buộc Rust cho các thiết bị nhúng, chúng tôi quyết định vẫn tạo một thư viện riêng cho C. Thư viện này xử lý tất cả các tương tác cơ bản nhưng không cung cấp chức năng wallet.rs như hoặc hầu hết các chức năng trợ giúp từ iota .rs.
Thư viện Native Go và TypeScript
Chúng tôi cũng cung cấp một thư viện Go và TypeScript gốc không sử dụng các ràng buộc Rust. Điều này liên quan đến thực tế là chúng tôi đã cần sử dụng các thư viện này trước khi iota.rs có sẵn. Chúng tôi đang xem xét cung cấp các ràng buộc cho cả hai ở giai đoạn sau nhưng các thư viện này đã có thể được sử dụng nếu bạn muốn sử dụng công nghệ IOTA bằng Go hoặc trong trình duyệt web.
Phần kết luận
Với các thư viện khách hàng mới, chúng tôi mang đến một cấp độ hoàn toàn mới về khả năng sử dụng, tính linh hoạt, hiệu suất và tính chuyên nghiệp cho hệ sinh thái IOTA, khiến việc làm việc với họ trở thành niềm vui thực sự. Chúng hiện có sẵn để được sử dụng trên mạng thử nghiệm Chrysalis của chúng tôi và sẽ thay thế các thư viện hiện có khi chúng tôi khởi chạy Chrysalis trên mạng chính.
Thư viện máy khách bao gồm các ràng buộc có thể được tìm thấy ở đây , với tài liệu ban đầu ở đây . Đối với thư viện ví, hãy xem kho lưu trữ wallet.rs trên GitHub và tài liệu ban đầu cho nó.
Chúng tôi rất nóng lòng chờ bạn dùng thử chúng! Nếu bạn có bất kỳ câu hỏi nào, vui lòng tham gia Discord của chúng tôi và trò chuyện với chúng tôi.
Nguồn bài viết: Các thư viện khách hàng IOTA mới: Khó hơn, Tốt hơn, Nhanh hơn, Mạnh hơn
Click here for more...
from #Bangladesh #News aka Bangladesh News Now!!!
Nhận xét
Đăng nhận xét