MultiChain 2.1: Biến và Thư viện

Nút nguồn: 1587135

Làm cho Bộ lọc thông minh thông minh hơn rất nhiều

Hôm nay, chúng tôi rất vui mừng phát hành MultiChain 2.1, với hai tính năng mới quan trọng dành cho các nhà phát triển MultiChain.

Một năm rưỡi trước, MultiChain 2.0 đã giới thiệu Bộ lọc thông minh, cho phép logic tùy chỉnh được nhúng vào một chuỗi khối để xác thực các giao dịch và dữ liệu. Bộ lọc thông minh về mặt khái niệm tương tự như “hợp đồng thông minh” được cung cấp bởi các nền tảng blockchain khác, nhưng có thiết kế khác để phù hợp với mô hình giao dịch nhanh hơn của MultiChain.

Bộ lọc Thông minh có hai loại - bộ lọc giao dịch và bộ lọc luồng. Bộ lọc giao dịch xác thực toàn bộ các giao dịch trên chuỗi bằng cách kiểm tra các đầu vào, đầu ra và siêu dữ liệu của chúng. Nếu một giao dịch không vượt qua bộ lọc, nó sẽ bị từ chối bởi mọi nút trong mạng. Bộ lọc luồng xác thực các mục riêng lẻ được ghi vào Luồng MultiChain, xem xét (các) khóa, (các) nhà xuất bản và dữ liệu trên chuỗi hoặc ngoài chuỗi, ở định dạng JSON, văn bản hoặc nhị phân. Nếu một mục không vượt qua bộ lọc, nó được đánh dấu là không hợp lệ và dữ liệu của nó bị ẩn bởi mọi nút đã đăng ký luồng.

Cả hai loại Bộ lọc thông minh đều được viết bằng JavaScript và chạy trong phiên bản xác định của Google V8, công cụ JavaScript siêu nhanh hỗ trợ Chrome, Node.js và nhiều nền tảng khác. Các bộ lọc đơn giản dễ viết mã và dễ hiểu - ví dụ: đây là bộ lọc luồng xác thực rằng các mục có ít nhất hai khóa:

function filterstreamitem () {var item = getfilterstreamitem (); // hàm gọi lại if (item.keys.length2) return "Yêu cầu ít nhất hai khóa"; }

Nhìn chung, chúng tôi đã có phản hồi tuyệt vời về Bộ lọc thông minh, nhưng chúng tôi cũng đã nghe nhiều lần về hai cách chúng tôi có thể làm cho chúng tốt hơn nữa. Đầu tiên, nhiều người dùng muốn các bộ lọc có thể đọc thông tin trên blockchain nhưng không nằm trong giao dịch hoặc mục luồng đang được xác thực. Các trường hợp sử dụng bao gồm thay đổi danh sách các quốc gia được phép, tỷ giá hối đoái được cung cấp bởi một “nhà tiên tri” bên ngoài hoặc chuyển đổi để chuyển đổi các quy tắc nhất định.

Thứ hai, một số nhà phát triển muốn sử dụng một tập hợp các hàm JavaScript trong nhiều bộ lọc, mà không trùng lặp mã. Họ cũng muốn có thể cập nhật các chức năng này, để sửa lỗi hoặc bao gồm một số tình huống mới mà không cần tắt các bộ lọc hiện có và tạo các bộ lọc mới ở vị trí của họ. Ví dụ: mã được chia sẻ có thể chứa logic dành riêng cho ứng dụng, một thư viện của bên thứ ba để xác thực JSON hoặc phân tích cú pháp nội dung của một tệp PDF.

Đa chuỗi 2.1 giới thiệu hai loại thực thể trên chuỗi mới, biếnthư viện, để giải đáp những nhu cầu này.

Biến

Hãy bắt đầu với các biến MultiChain. Những thứ này hoạt động khá giống với những ngôn ngữ lập trình thông thường, nhưng với sự thay đổi của chuỗi khối. Bất kỳ số lượng biến được đặt tên nào đều có thể được tạo trên blockchain. Mỗi biến có một tập hợp địa chỉ động được phép cập nhật giá trị của nó và tập hợp này được quản lý bởi một hoặc nhiều quản trị viên biến (theo mặc định, chỉ người tạo biến). Các biến được tạo hoặc cập nhật trong một giao dịch blockchain, có thể được gửi bằng lệnh API cấp cao đơn giản. Ngoài ra, các API cấp thấp hơn có thể được sử dụng để xây dựng các giao dịch phức tạp, thiết lập nguyên tử một hoặc nhiều biến, ghi mục luồng, chuyển nội dung, thay đổi quyền, v.v.

Bản thân giá trị biến có thể chứa bất kỳ cấu trúc JSON nào, bao gồm số, chuỗi, boolean, các đối tượng và mảng lồng nhau và được lưu trữ trên chuỗi trong UBJSON định dạng tuần tự hóa. Tất nhiên, Bộ lọc thông minh có thể truy vấn giá trị hiện tại của một biến bằng cách sử dụng một hàm gọi lại đơn giản. Nhưng bởi vì đây là một blockchain, lịch sử đầy đủ của các giá trị và tác giả của biến cũng có sẵn và có thể được truy xuất một phần hoặc toàn bộ bằng cách sử dụng một hàm gọi lại khác. Để giúp phát triển dễ dàng hơn, các lệnh gọi lại này cũng có sẵn thông qua API giao diện ứng dụng.

Thư viện

Hãy chuyển sang các thư viện, là anh chị em lớn hơn của biến. Như với các biến, bất kỳ số lượng thư viện được đặt tên nào cũng có thể được tạo trên blockchain. Nhưng các thư viện có mô hình cập nhật phong phú hơn, với ba chế độ khả dụng - bất biến, ngay lập tứcphải được chấp thuận.

Một lần bất biến thư viện được tạo, mã của nó không bao giờ có thể thay đổi được. Một thư viện với ngay lập tức các bản cập nhật có thể được thay đổi giống như một biến, với một tập hợp các địa chỉ có thể thay thế mã riêng của nó. Nhưng trong một thư viện với phải được chấp thuận cập nhật, một bản cập nhật chỉ được áp dụng sau khi được chấp thuận bởi một tỷ lệ nhất định các quản trị viên toàn cầu của blockchain. Chế độ cuối cùng này cung cấp một sự đánh đổi lớn giữa tính bảo mật và tính linh hoạt.

Mã cho thư viện được viết bằng JavaScript thông thường và xác định một hoặc nhiều hàm để Bộ lọc thông minh sử dụng. Cũng như các biến, thư viện được tạo hoặc cập nhật trong một giao dịch đặc biệt, được gửi dễ dàng bằng cách sử dụng API. Khi một Bộ lọc thông minh được tạo, các thư viện bắt buộc của nó sẽ được cung cấp trong một tham số tùy chọn. Thư viện luôn chạy trong ngữ cảnh của bộ lọc yêu cầu nó, vì vậy nó có thể sử dụng lệnh gọi lại Bộ lọc thông minh nếu thích hợp. MultiChain cung cấp chức năng mở rộng để kiểm tra (và khôi phục) các thư viện và các bản cập nhật của chúng cục bộ, trước khi thực hiện thay đổi trên blockchain.

Kết luận

Như với tất cả các tính năng liên quan đến các quy tắc của blockchain, các biến và thư viện có sẵn trong cả phiên bản Cộng đồng và Doanh nghiệp của MultiChain 2.1. Tài liệu dành cho nhà phát triển của chúng tôi cung cấp mô tả chi tiết về API JSON-RPCGọi lại Bộ lọc thông minh có sẵn. Để sử dụng các tính năng mới trên một blockchain đã chạy, trước tiên hãy di chuyển các nút sang MultiChain 2.1, sau đó nâng cấp giao thức của chuỗi lên phiên bản 20012.

Vậy tiếp theo là gì? Trong những tháng tới, chúng tôi sẽ tập trung vào một số công việc chi tiết và cường độ cao, để cải thiện hiệu suất và tính đồng thời của MultiChain trong khi nó đang chịu tải đáng kể. Điều này sẽ tăng khả năng đáp ứng của các ứng dụng cần truy vấn một nút trong khi nó tiếp tục xử lý hàng trăm hoặc hàng nghìn giao dịch mới mỗi giây.

Trong thời gian chờ đợi, tất cả chúng tôi trong nhóm MultiChain chúc người dùng và khách hàng của chúng tôi sức khỏe và tỉnh táo trong năm tới. Chúng tôi biết đây là những thời điểm khó khăn đối với tất cả mọi người và chúng tôi mong muốn trở lại nhịp sống bình thường của các cuộc họp và hội nghị ngay khi an toàn.

Xin vui lòng gửi bất kỳ ý kiến trên LinkedIn.

Dấu thời gian:

Thêm từ Đa sắc