登录 后可观看高清视频
Solana 基础:账户、指令和交易
22次播放
1天前
视频 AI 总结: 本视频是Solana开发系列教程的第二天,主要介绍了Solana开发中的核心概念:账户(Account)、指令(Instruction)、交易(Transaction)和程序(Program)。视频详细解释了这些概念的定义、作用及其相互关系,并通过Solana CLI和TypeScript(使用Gil库)演示了如何实际操作,例如查询账户余额、发起转账和添加备忘录。视频强调了Solana的账户模型、交易的原子性以及通过明确账户列表实现并行处理的机制。
视频中提出了哪些关键信息:
- 账户 (Account):
- Solana上所有存储的数据都存在账户中,包括Sol余额(以Lampards计)和任意数据。
- 账户是Solana状态的组成部分,程序本身也是一种账户。
- 每个账户都有地址、Sol余额、所有者(owner)和数据。
- Lampards是Sol的最小单位(1 Sol = 10亿 Lampards)。
- 程序 (Program):
- 定义了对账户进行操作的逻辑,可视为函数库。
- 程序也是账户,包含可执行的机器码。
- 在交易中的指令被执行时,程序由验证者运行。
- 指令 (Instruction):
- 调用特定程序中特定功能的请求,包含要调用的程序地址、指令数据(指定功能和参数)以及所需账户列表。
- 例如,系统程序(System Program)的转账指令。
- 交易 (Transaction):
- 包含一个或多个指令的容器,用于提交给Solana网络执行。
- 组成部分: 指令列表、费用支付者(Fee Payer)、生命周期(通常是最新区块哈希)、以及所有涉及的账户列表。
- 账户列表要求: 交易必须明确列出所有读写操作涉及的账户。
- 可写标志 (Writable Flag): 任何将被修改的账户必须标记为可写。
- 签名者标志 (Signer Flag): 需要签名的账户必须标记为签名者。
- 原子性 (Atomicity): 交易是原子的,所有指令要么全部成功,要么全部失败并回滚(交易费用除外)。
- 并行处理: Solana通过交易中明确的账户列表和可写标志,实现交易的并行处理,从而提高吞吐量。
- 开发实践:
- 演示了如何使用Solana CLI进行转账和添加备忘录。
- 介绍了如何使用TypeScript(通过Gil库)获取账户信息、构建和发送交易。
- 推荐使用Gil或Solana Kit等维护中的库进行开发。