CPI

微信扫码分享
Solana教程 批量代币指令

Solana教程 批量代币指令

视频 AI 总结: 该视频深入解析了 Solana Token Program 的批量指令(batch instruction)功能。首先通过对比测试说明,在顶层直接执行多条指令时批量反而消耗更多计算单元,但在 CPI(跨程序调用)场景下,批量指令能显著节省计算,因为 CPI 本身开销大。视频遍历了 Token Program 几乎所有可批量指令(如初始化铸币、铸造、转账、冻结、解冻、批准、撤销、销毁、关闭账户等),并排除了嵌套批量。同时实测了批量容量限制:主要受交易大小和单指令最多 255 个账户引用约束,例如 revoke 最多可批量 127 条,transfer 约 73 条。最后演示了如何解码批量指令内部的子指令。视频作者认为该功能计算优化幅度有限,且增加了解析复杂度,但既然已上线,开发者应利用它以节省 CPI 成本。 关键信息: - 批量指令在顶层调用时反而浪费计算,仅在 CPI 中才有优势(单次 CPI 开销大,批量合并为一次 CPI 可省 600+ 计算单元)。 - 几乎所有 Token Program 的常用指令都可批量(除 batch 指令自身),包括初始化铸币/账户、铸造、转账、销毁、冻结、解冻、批准、撤销、关闭账户、提取超额 lamports 等。 - 批量指令的数量限制:受交易大小(约 1232 字节)和单指令最大账户数(255)影响。例如 revoke(2 账户)最多 127 条;transfer(3 账户)最多约 73 条;burn(3 账户)约 60 条。 - 批量后的解码比较复杂,需要逐层解析顶层 batch 指令内的子指令。 - 该功能已在主网(epoch 971)生效,但实际收益不大,主要适合需要频繁 CPI 调用 Token Program 的程序。 Chapters: 0:00 intro 1:10 efficiency 9:04 what can we batch 24:57 biggest batch possible 37:12 parseBatchInstruction 41:29 conclusion

525 0 0 2026-05-26 22:40
SPL Token 编程与 CPI 调用

SPL Token 编程与 CPI 调用

视频 AI 总结: 本节课是课程最后一节,主要讲解在 Anchor 框架中编写 Solana 程序,使用 TypeScript 发行 Token,并介绍更现代的 Gear 库(封装了 Solana Web3.js V2)进行 Token 创建、铸造、转账及 NFT 合集操作。同时深入讲解了跨程序调用(CPI)实现 Solana 和 SPL Token 转账,以及 Bank 和 Token Bank 的账户设计,强调通过 PDA 和种子签名替代传统授权,简化用户交互。 关键信息: 1. 介绍 Gear 库:更友好的 TypeScript 客户端,屏蔽底层细节,支持 Token 创建、铸造、转账的简化方法(如 EJCreate、EJTransfer)。 2. NFT 合集:通过 Metaplex 的 Metadata 关联,使用 Collection NFT 和 Verify 机制确保 NFT 归属。 3. CPI 调用:Solana 程序间调用类似以太坊但更高效,签名权限可传递至被调用程序,允许直接操作用户 ATA,无需预先授权。 4. Bank 程序:存款时使用 PDA 控制的全局账户存钱,另存用户存款记录;取款时用种子作 PDA 签名。 5. Token Bank 程序:更复杂,需处理用户 ATA、Mint 地址、PDA authority 等七个账户,通过 CPI 实现 SPL Token 转账。

43 0 0 2026-04-29 08:59