登录 后可观看高清视频

Cyfrin Updraft 的 Solana 智能合约课程

28次播放
2026-01-26

视频 AI 总结: 本视频是 Solana 课程的介绍,核心内容是讲解如何使用 Rust 语言和 Anchor 框架开发 Solana 程序。课程将通过原生 Solana 库和 Anchor 框架两种方式进行教学,旨在帮助学员快速掌握 Solana 程序开发,并深入理解 Solana 的底层原理。课程鼓励使用 AI 辅助学习,并提供了练习和解决方案,帮助学员实践和巩固所学知识。

关键信息:

  1. Solana 程序开发有两种方式:使用 Solana 原生 Rust 库(更深入理解底层原理)和使用 Anchor 框架(快速原型开发)。
  2. 学习本课程的原因包括:开发 Solana 程序、练习 Rust 编程、以及对审计和漏洞赏金感兴趣。
  3. 课程的先决条件包括:Rust 编程基础、区块链基础知识、以及 EVM 智能合约开发经验(如 Solidity 或 Vypr)。
  4. 鼓励使用 AI 辅助学习,但需要注意 AI 生成代码可能存在问题,需要结合文档和搜索进行修正。
  5. 课程练习分为原生程序开发和 Anchor 框架开发,练习和解决方案位于 GitHub 仓库中。
  6. Solana 中代码和状态分离,代码存储在 Programs 中,状态存储在 Accounts 中。
  7. Solana 交易可以并行执行,因此需要声明交易可能修改的所有账户。
  8. Solana 中部署程序或创建账户需要锁定 SOL,关闭账户或删除程序时,锁定的 SOL 会被返还。
  9. Solana 程序默认可升级,而 Ethereum 合约默认不可变,需要使用代理合约才能升级。
  10. Solana 中所有数据都存储在 Accounts 中,Accounts 包含 LAMPORTS(余额)、DATA(任意数据)、OWNER(程序所有者)、EXECUTABLE(是否为程序账户)等字段。
  11. PDA (Program Derived Addresses) 是没有私钥的公钥,由程序 ID、种子和 bump 确定性地创建,常用于存储用户相关信息。
  12. CPI (Cross-Program Invocation) 是程序调用另一个程序,有最大深度限制(目前为 4),且需要注意权限传递。
  13. 使用 Anchor 框架开发 Solana 程序时,可以通过 IDL (Interface Definition Language) 文件导入其他程序的接口,无需手动声明指令。
  14. Solana 程序有大小限制,并非所有 Rust 库都可以使用。
  15. 创建 Solana 账户需要指定空间大小、支付租金,并且账户本身需要签名。
  16. 转移 SOL 有两种方式:如果源账户属于系统程序,可以直接调用系统程序;如果源账户是 PDA,则需要手动转移。
  17. Solana 中与 Token 相关的概念包括:Mint Authority(铸币权)、Mint(Token 本身)、Token Program(管理 Token 的程序)、Token Account(存储 Token 余额的账户)、Associated Token Account(与用户关联的 Token 账户)。
  18. 可以使用 Solana CLI 管理 Token,包括创建 Token、铸币、转移 Token、查看余额等。
  19. 恒定和 AMM (Constant Sum AMM) 是一种以恒定价格交换 Token 的 AMM,其公式为 x + y = L,其中 L 为常数。