Solana 基本概念指南:與EVM 有何不同?

ForesightNews

For 只熟悉EVM 的小夥伴。

撰文:NingNing

本指南將EVM 概念轉化為Solana 概念。

Transaction(事務/ 交易)相關的概念

區塊

Solana 的出塊時間為400 毫秒,稱為Slot。 Slot 和區塊高度在Solana 中可能不同。

質押獎勵每Epoch 分配給驗證者,約2-3 天,相當於432,000 個Slot。

SOL 的最小單位是lamport,精度為9(小數點後9 位)。

大多數Solana 生態的同質化代幣預設是6 位小數,而不是18 位。

十六進位/ 二進位

Solana 中的資料大多以base58 表示,可以使用from_base58() 函數轉換為十六進位。

PoS 與證明

Solana 預設使用委託權益證明(DPoS)來保障安全性。

驗證者使用PoH 共機制對Slot 進行投票(領導者每個Epoch 輪調)。

這些都在基礎鏈上進行,有兩種交易類型:投票和非投票。

地址

Solana 的地址也稱為「帳戶」,有一種特殊的帳戶稱為“Program Derived Accounts” (PDA)。

PDA 需要支付少量租金以防止狀態膨脹。

智能合約

在Solana 上稱為「程序」。

程式透過BPF 上傳器部署,可隨時升級。

交易數據

在Solana 稱為「指令」。

每個交易都有多個“data”字段,嵌套在“instructions”數組中。

可以使用solana.instruction_calls 表處理指令。

從到

From 是交易發起人,To 是指令的執行帳戶。

痕跡

由於指令資料以嵌套數組存儲,不像以太坊的ethereum.traces。

可以使用solana.instruction_calls 表代替。

函數簽名

使用“discriminators” 代替,可以是1 位元組、4 位元組或8 位元組長。

可以使用solana.discriminators 表來辨識。

事件簽名

事件大多在日誌訊息中。 Dune 尚未解碼事件或儲存事件簽章。

氣體

使用“compute units”表示計算量,可以在日誌訊息中找到。

原生程式(、stake、vote)不消耗計算量。

汽油費

Solana 尚未實施基於使用量的定價,每筆交易收取5000 lamports 的固定費用。

可以透過呼叫“Set Compute Unit Price”指令來新增優先權費用。

50% 的交易費用和50% 的租金費用被銷毀。

智能合約相關的概念

程式設計語言

Solana 使用Rust 語言進行程式開發,而以太坊則使用Solidity 語言。

Solana 提供了Anchor 語言作為Rust 的抽象層,簡化開發。

ABI

Anchor 程式有IDL(介面定義語言),而SPL 程式需要手動轉換為IDL。

部分Solana 專案會將IDL 上傳到鏈上,但並非所有專案都如此。

智能合約Factory(集)/ 代理智能合約

Solana 程式透過主程式建立子帳戶(PDAs),而不是像以太坊使用工廠和代理合約。

存儲

Solana 將資料儲存在帳戶的二進位緩衝區中,而不是以太坊的儲存槽。

通常會使用嵌套/ 樹狀結構的帳戶(PDAs)來儲存資料。

代幣

Solana 的代幣都透過spl_token 程式(或新版的token2022 程式)部署。

代幣餘額儲存在關聯帳戶中,而不是以太坊的餘額映射。

質押

Solana 的Staking 預設是流動的,無需鎖定代幣。

任何人都可以創建任意餘額的質押帳戶並委託給驗證者。

ERC 標準

Solana 沒有類似以太坊的ERC 標準,協議之間缺乏統一性。

核心標準變更

Solana 核心程式碼的變更透過Solana 程式碼庫中的「feature gates」來管理,不像以太坊有EIP 流程。

以上內容編譯自ANDREW HONG 的

免責聲明:本頁面資訊可能來自第三方,不代表 Gate 的觀點或意見。頁面顯示的內容僅供參考,不構成任何財務、投資或法律建議。Gate 對資訊的準確性、完整性不作保證,對因使用本資訊而產生的任何損失不承擔責任。虛擬資產投資屬高風險行為,價格波動劇烈,您可能損失全部投資本金。請充分了解相關風險,並根據自身財務狀況和風險承受能力謹慎決策。具體內容詳見聲明
留言
0/400
暫無留言