開發和部署Solana 智能合約


Solana 是一種高性能區塊鏈,能夠以亞秒級的出塊時間每秒處理數千筆交易。它通過拜占庭容錯(BFT) 共識機制實現這一點,該機制利用稱為歷史證明(PoH) 的創新加密貨幣功能。

歷史證明

歷史證明(PoH) 通過使用高頻可驗證延遲函數(VDF) 隨著時間的推移建立可加密貨幣驗證的事件序列(在本例中為交易)。從本質上講,這意味著PoH 就像一個加密貨幣時鐘,幫助網絡在時間和事件順序上達成一致,而無需等待來自其他節點的消息。就像古代的水鐘可以通過觀察水位上漲來記錄時間的流逝一樣, 智能合約審計服務 經過驗證的區塊鏈狀態哈希的連續輸出給出了可驗證的事件序列。

這允許並行處理有序事件以幫助提高網絡性能,而在傳統的區塊鏈場景中,單個進程驗證並打包所有交易以包含在下一個塊中。

一個簡單的類比是想像一個100 塊的大拼圖。在正常情況下,完成拼圖需要一個或多個人一定的時間。但是想像一下,如果事先所有的拼圖都印有與其位置相對應的數字,從拼圖的左上角到右下角,並按順序排列成一排。因為拼圖的確切順序和它們在拼圖中的位置是預先知道的,所以讓多人專注於每個部分可以更快地解決拼圖。這是相對於時間的可驗證事件序列對共識機制的影響; 它可以將事務分解為多個並行進程。

智能合約架構

Solana 提供了一種不同於傳統的基於EVM 的區塊鏈的智能合約模型。在傳統的基於EVM 的鏈中,合約代碼/邏輯和狀態被組合成部署在鏈上的單個合約。 Solana 中的智能合約(或程序)是只讀的或無狀態的,並且僅包含程序邏輯。部署後,智能合約可以通過外部賬戶進行交互。 Solana 中與程序交互的帳戶存儲與程序交互相關的數據。這創建了狀態(帳戶)和合約邏輯(程序)的邏輯分離。這是Solana 和基於EVM 的智能合約之間的主要區別。以太坊上的賬戶與Solana 上的賬戶不同, 智能合約審計 Solana 賬戶可以存儲數據(包括錢包信息),而以太坊賬戶則不能。

除此之外,Solana 還提供CLI(命令行)和JSON RPC API,去中心化應用程序可以使用這些API 與Solana區塊鏈進行交互。也可以使用現有的SDK 讓客戶端與區塊鍊和Solana 程序對話。

Solana 開發工作流程的高級表示。資料來源:Solana 文檔

Solana 開發工作流程的抽象表示。資料來源:索拉納文檔

部署第一個Solana 智能合約

在本節中,你將創建和部署一個用Rust 編寫的“hello world”Solana 程序。

要求

在繼續之前,應安裝以下工具:NodeJS v14 或更高版本& NPMRust 的最新穩定版本Solana CLI v1.7.11 或更高版本吉特

HelloWorld 程序

HelloWorld 程序是一個將輸出打印到控制台的智能合約, bsc 智能合約審計 計算給定帳戶調用程序的次數,並將該數字存儲在鏈上。我們將代碼分解成不同的部分來解釋。

第一部分定義了一些標準的Solana 程序參數並定義了程序入口(“process_instruction”函數)。此外,它使用borsh 序列化和反序列化與部署程序之間的參數。

聲明:以上內容採集自VOCAL,作品版權歸原創作者所有內容均以傳遞信息為目的,不代表本站同意其觀點,不作為任何投資指導。幣圈有風險,投資需謹慎

Total
0
Shares
Related Posts