(English Version: Top-right translate button OR scroll down.)
Solana核心能力
价值转移与结算:通过solana,用户可以转移价值,如进行全球汇款;作为应用平台,用户还可以进行代币资产的交易,以及购买、出售和展示 NFT数字藏品。
程序(智能合约)的构建和使用:Solana提供了多样的应用程序平台,如DEX交易所、游戏平台、NFT交易平台。开发者通过LLVM工具将程序编译为 Solana 字节码格式(sBPF)去执行,并存储在可执行账户中。程序没有状态,状态都存储在账户里。
账户模型与状态更新:账户用于存储状态数据,程序通过指令读写相关账户并完成状态的更新
Solana区块链主要活动
程序创建:
- 开发者先在链下将 program 编译为包含 sBPF 的 ELF binary
- 开发者/部署者签名并提交程序部署交易
- 部署交易被广播到网络,进入待处理池
- 出块者所在节点验证基本合法性,并由 loader 处理部署流程,将程序写入 executable account
- 其他节点重放执行并验证区块与账户状态变化是否一致
- 若区块有效并被网络接受,节点更新本地账户状态,部署结果被记录到链上
- 若区块无效,节点拒绝该区块,本地状态不更新,该部署交易无法被确认
- 在获得更多确认后,部署结果通常被视为更稳定;新部署程序一般在下一 slot 才生效
程序调用:
- 用户向指定程序和账户提交包含指令的交易
- 交易被广播到网络,进入待处理池
- 出块者所在节点验证基本合法性,并由runtime根据指令调用程序、读写相关账户
- 其他节点重放执行并验证区块与账户状态变化是否一致