第一节课围绕Solana区块链展开全面讲解,核心分为网络特性、编程模型、交易生命周期、代币与NFT四大模块:
一、Solana网络核心特性
- 技术优势:快速确认时间、低交易费,且能在1000+验证者节点间维持共识;支持程序并行执行,适配高性能应用场景。
- 网络架构:由领导者(Leader)和验证者(Validators)构成,交易通过领导者与验证者的协作完成处理。
二、Solana编程模型
核心原则:一切皆为账户(Everything is an account)
1. 账户(Accounts)
- 基础属性:256位唯一地址,持有SOL(最小单位为Lamport,1 Lamport = 10⁻⁹ SOL);
- 功能:可存储任意数据,存储需支付租金;
- 权限:任何人可向账户充值SOL或读取数据,仅账户所有者能扣除SOL或修改数据;
- 结构:包含key(地址)、lamports(余额)、data(存储数据)、is_executable(是否为程序)、owner(拥有者公钥)。
2. 程序(Programs)
- 本质:Solana的智能合约,是特殊类型的账户;
- 技术特性:数据为eBPF字节码,支持Rust、C/C++、Python开发;无状态(通过读写其他账户实现功能),支持并行执行;
- 权限与功能:需作为账户所有者才能修改账户数据,可处理指令并调用其他程序。
3. 指令与交易(Instructions & Transactions)
- 指令(Instruction):包含program_id(目标程序)、keys(涉及的账户列表,含账户公钥、是否可变、是否为签名者)、data(动作及参数);
- 交易(Transaction):包含消息(指令列表、recent_blockhash(去重用途)、fee_payer(手续费支付者))和签名者数组;
- 核心特点:原子执行(指令要么全部成功要么全部失败),需支付小额手续费,至少需1个签名者(通常为手续费支付者)。
三、交易生命周期