Rust VM SDK:使用 Rust 在 Avalanche 上創建自定義虛擬機

Avalanche 繁中社群
Avalanchetw
Published in
4 min readDec 4, 2022

我們即將宣布用於創建 Avalanche 虛擬機的第二個 SDK,即 Rust SDK。 作為使用 Golang 的替代方法,您可以使用 Rust 在 Avalanche 子網上啟動您自己的區塊鏈。 查看我們的 TimestampVM 範例以開始使用(編寫 Rust VM 時需要使用的語言是 Rust)!

Ava Labs 持續投資於提供 SDK 和工具來增強創作者的能力,從而盡可能輕鬆地在 Avalanche 上啟動您自己的區塊鏈。 我們期待看到 Rust 開發者使用這個新的 SDK 創建什麼,並且在 Discord 中提供支援。

入門:在 Avalanche 上創建您自己的區塊鏈

要在 Avalanche 上創建自己的區塊鏈,您需要先編寫自己的虛擬機 (VM)。 VM 定義了您的區塊鏈將運行的邏輯,只要它實現了 AvalancheGo 公開的協議緩衝區 (protobuf) 接口,它就能夠做任何事情,該接口將使用此接口透過 gRPC 進行通訊。

gRPC 和 protobuf 的使用實現了一致的模型,從而提高了系統的可理解性。該模式是預先定義的,可以很容易的使用新訊息進行擴展,而不會讓現有數據無效。這種通訊模型還可以讓開發人員能夠以他們想要的任何語言實現 VM,只要它支援 gRPC 和 protobuf。如前面所說,我們目前有適用於 Golang 和 Rust 的 SDK,但計劃在未來添加其他 SDK。

更具體來說,AvalancheGo 是擴充功能服務器的客戶端,虛擬機是實現 gRPC 接口的服務器。讓我們看一下 `VM` 服務中的一個範例,初始化 VM:

初始化請求是在 AvalancheGo 初始化 VM 時發出的。 收到該請求後,VM 可以建立 VM 與 Snowman 共識引擎之間的通道,並配置由 AvalancheGo 管理的數據庫實例,其中可以存儲接收到的創世字節。

使用 Rust 開發工具包

Golang 中的虛擬機使用 `hashicorp/go-plugin` 作為中間件來抽象擴充軟體編排更瑣碎的方面(日常記錄、兼容性檢查等)。 新的 Rust SDK 不僅實現了這種樣式的編排邏輯,還提供了一組工具來簡化 Rust 中的 VM 和工具開發。 例如,`avalanche-ops` 使用 Rust SDK 在雲上自動安裝子網,並使用 AWS KMS 執行負載測試以簽署交易。 Rust SDK 發佈在 crates.io 上。

最小的 VM ,例如 “timestampvm-rs”,只需要幾百行代碼,不需要用任何其他程式語言拼接來創建功能齊全的 VM(即使 Avalanche 節點完全用 Golang 編寫) . 以下是如何開始使用“timestampvm-rs” 的範例:

查看 “如何構建簡單的 Rust VM”,獲取有關如何使用新 SDK 構建自定義虛擬機的完整指南。

結論

我們對 Rust 在創建高效和可擴展的區塊鏈潛力方面感到非常期待。 我們期待繼續改進 SDK 並與社群合作,進行各種創新的區塊鏈設計。 您可以透過訂閱 Rust SDK 來追蹤最新資訊。

關於 Avalanche

Avalanche 雪崩協議是新一代的、革命性的共識協議;Avalanche 雪崩公鏈正是基於雪崩共識打造的、對開發者最為友好的、可定制化的、高速安全可靠的高性能公鏈。

Avalanche 鏈上交易完成速度飛快、擁有最多數量的驗證節點,同時糅合了 PoS 共識的優點,保證所有鏈上活動的安全性。雪崩協議具有極速、低費用和綠色環保的特點。支持智能合約的應用如果想超越對手,都可通過部署在雪崩協議上獲得卓越競爭力。不可置信?現在就試用一下雪崩協議上的應用吧。

雪崩官網:https://avax.network
雪崩繁中群:https://t.me/avalanche_tw
雪崩中文 Facebook 專頁:https://www.facebook.com/Avalanche.TW
雪崩中文 Medium:https://medium.com/@avaxtw
更多生態項目:https://twitter.com/AVATAR_AVAX

--

--