文章 视频 课程 百科图谱 集训营
更多
  • 问答
  • 提问
  • 发表文章
  • 专栏
  • 活动
  • 文档
  • 工作
  • 集市
  • 发现
  • 文章
  • 问答
  • 视频
  • 课程
  • 集训营
  • 专栏
  • 活动
  • 工作
  • 文档
  • 集市
搜索
  • 登录/注册
Solandy
  • 文章
  • 专栏
  • 问答
  • 视频
  • 课程
  • 集市作品
  • 活动
  • 招聘
TA的视频 TA的合集
优化 Solana 程序的计算单元 - 第二部分
视频 AI 总结: 该视频是关于 Solana 程序计算单元(CU)优化的第二部分,核心内容是讲解如何通过一系列优化技巧来减少 Solana 程序执行所需的计算资源,从而提高效率并降低成本。视频强调了避免不必要的计算、数据复制和类型转换的重要性,并提供了一系列实用的优化建议。 关键信息: 1. 避免重复执行相同的代码,将结果保存并重复使用。 2. 移除不必要的日志记录,减少计算开销。 3. 使用已实现的函数或库,避免重复造轮子。 4. 使用适当大小的数据类型,避免浪费计算资源。 5. 将不必要的 if else 语句更改为 match 语句。 6. 避免不必要的克隆操作,使用引用代替。 7. 存储 PDA 的 bump,避免重复推导地址。 8. 优化代码逻辑,例如使用位运算代替字符操作。 9. 将固定长度的数据放在账户的前面,方便访问。 10. 考虑使用零拷贝(Zero Copy)技术,避免反序列化整个账户。 11. 使用正确的类型,例如将 authority 设置为 pub key 而不是 string。
53
0
0
3天前
如何优化 Solana 程序计算单元(CU) PART 1
视频 AI 总结: 该视频主要讲解了 Solana 智能合约中计算单元(Compute Unit, CU)优化的重要性,以及如何通过一些最佳实践来减少 CU 的使用,从而提高交易效率和吞吐量。视频分为两个部分,第一部分构建了一个包含低效代码的 Solana 程序,第二部分则对该程序进行优化,并分析了优化方法对 CU 使用的影响。 关键信息: 1. **CU 的重要性**:每个交易的计算资源是有限的,指令消耗的 CU 越多,同一交易中能执行的其他操作就越少。 2. **交易和区块的限制**:单个交易和整个区块都有 CU 限制,优化 CU 使用有助于提高 Solana 的吞吐量。 3. **不必要的日志记录**:移除不必要的日志记录可以显著减少 CU 的使用。 4. **字符串拼接**:字符串拼接操作会消耗大量 CU,应尽量避免。 5. **公钥编码**:使用 `log` 函数直接打印公钥比手动进行 Base58 编码更高效。 6. **开发与生产环境区分**:调试阶段的日志和检查在生产环境中可能是不必要的,应移除以优化性能。
72
0
0
4天前
Solana 教程 - 为 Transfer Hook添加账户
视频 AI 总结: 该视频是 Transfer Hook 深入研究系列的第三部分,主要讲解了如何使用更复杂的 Transfer Hook,即包含更多账户的 Hook。视频详细介绍了如何在 Anchor 程序中集成 TLV(Type-Length-Value)结构,并探讨了如何通过 CLI 和手动方式调用这些 Hook。核心内容包括创建和更新额外的账户元数据列表,以及如何在 Transfer Hook 中利用这些额外账户进行更复杂的逻辑处理,例如根据时间或账户余额限制交易。 关键信息: 1. **初始化和更新额外账户元数据列表:** 视频演示了如何创建一个额外的账户元数据列表,并使用 Anchor 程序初始化和更新该列表,以便在 Transfer Hook 中使用。 2. **手动构建交易:** 视频展示了如何手动构建交易来调用 Transfer Hook,包括设置正确的账户和指令数据。 3. **TLV 结构解析:** 视频深入解析了 TLV 结构,解释了如何使用 TLV 结构来存储和读取额外账户的元数据。 4. **CLI 工具的使用:** 视频演示了如何使用 Solana CLI 工具来调用 Transfer Hook,并自动添加所需的额外账户。 5. **账户权限控制:** 视频探讨了如何在 Transfer Hook 中控制账户的权限,例如限制某些账户的写入权限。 6. **Token Program 的账户顺序:** 视频分析了 Token Program 如何处理 Transfer Hook 中的账户顺序,以及如何确保账户以正确的顺序传递给 Transfer Hook。 7. **Transfer Hook 的应用场景:** 视频展示了 Transfer Hook 的一些应用场景,例如根据时间或账户余额限制交易,以及在交易中转移额外的 SOL。
298
0
0
2025-09-16 11:10
Solana 教程 - Pinocchio 转账 Hook 程序
视频 AI 总结: 本视频讲解了如何使用 Pinocchio 框架构建一个高效的 Solana Transfer Hook 程序。目标是创建一个简单的 Hook,验证传输的 Token 数量是否大于等于 1,并检查是否确实是从 Hook 中调用的。视频逐步演示了程序的编写、部署和测试过程,包括读取指令数据、获取 Token 小数位数、检查账户所有者、以及验证是否正在进行传输。最终实现了一个功能完善且计算效率高的 Transfer Hook 程序,并与使用 Anchor 框架的实现进行了性能对比。 关键信息: * 使用 Pinocchio 框架可以创建计算效率更高的 Solana 程序。 * Transfer Hook 程序可以验证 Token 传输的数量和调用来源。 * 程序需要读取指令数据、账户数据,并进行所有者检查。 * 通过 `find_program_address` 可以派生账户地址。 * Pinocchio 框架提供了创建账户和调用其他程序的功能。 * 对程序进行性能测试,Pinocchio 框架比 Anchor 框架更有效率。
359
0
0
2025-09-12 11:48
Solana教程 - 在SOL中构建具有转账费用的代币
视频 AI 总结: 该视频是 Solana Token Extensions 中 Transfer Hooks 系列的第四部分,旨在构建一个允许收取费用或转移 SOL 的 Transfer Hook。由于 Transfer Hook 本身不具备权限,因此需要使用委托(delegate)来实现。视频演示了如何实现一个 Transfer Hook,从被转移的 Token 中抽取一部分作为费用,并转移到 Treasury。由于 Solana 程序的 re-entrancy 限制,直接在 Transfer Hook 中调用 Token 2022 程序进行 Token 转移是不可行的。最终,视频演示了如何通过使用不同的 Token 程序(非 Token 2022)和 Wrapped SOL 来实现收取费用的 Transfer Hook。 关键信息: 1. Transfer Hook 允许在 Token 转移时执行自定义逻辑。 2. Transfer Hook 本身不具备权限,需要使用委托(delegate)机制。 3. Solana 程序的 re-entrancy 限制禁止在 Transfer Hook 中直接调用 Token 2022 程序进行 Token 转移。 4. 可以通过使用不同的 Token 程序和 Wrapped SOL 来实现收取费用的 Transfer Hook。 5. 需要使用 approve 授权 delegate 才能转移 token。
478
0
0
2025-09-10 18:28
Solana教程 - Anchor账户优化
视频 AI 总结: 该视频主要讲解了如何使用 Solana Anchor 框架优化程序,通过利用 remaining accounts 来提高计算效率(CU)。视频通过一个简单的 transfer hook 示例,展示了如何通过减少不必要的账户检查和反序列化,来降低程序的 CU 消耗。核心思想是,在某些情况下,Anchor 提供的默认账户检查可能过于严格,通过使用 remaining accounts,开发者可以更灵活地控制账户的验证和访问,从而实现更高效的程序。 关键信息: 1. **CU 优化与权衡:** 优化 CU 效率通常需要权衡,可能牺牲一定的安全性和代码可读性。 2. **Transfer Hook 示例:** 视频使用 transfer hook 作为示例,展示了如何优化程序。 3. **Remaining Accounts 的作用:** Remaining accounts 允许开发者直接访问未经 Anchor 验证和反序列化的账户信息,从而减少 CU 消耗。 4. **减少不必要的检查:** 通过减少对账户的默认检查,例如账户权限和类型,可以显著降低 CU 消耗。 5. **直接读取账户数据:** 使用 remaining accounts,可以直接读取账户数据,而无需依赖 Anchor 的反序列化过程。 6. **安全风险:** 使用 remaining accounts 需要谨慎,因为开发者需要自行负责账户的验证,可能引入安全风险。 7. **Pinocchio 框架:** 视频提到了 Pinocchio 框架,作为一种更高效的 Solana 程序开发替代方案。
555
0
0
2025-09-04 13:12
Surfpool Studio 介绍 - Solana 教程
视频 AI 总结: 该视频是对 Solana 开发工具 Surf Pool 的最新版本(0.10.4)的评测,重点关注其新引入的 Surf Pool Studio 功能。视频作者在体验后,对 Surf Pool 在修复之前版本中存在的问题,以及在用户体验和功能性上的改进表示赞赏。总的来说,作者认为 Surf Pool 是一款有用的 Solana 开发工具,尤其是在本地模拟主网环境方面。 关键信息: * Surf Pool Studio 提供了本地 Web UI,用于检查交易细节,包括指令级别的交易检查和字节级别的差异比较。 * Surf Pool 修复了之前版本中交易排序的问题,现在交易按照从上到下的顺序显示。 * Surf Pool 允许开发者通过命令行参数(-K)指定用于 airdrop 的密钥对,避免了对全局 Solana 配置的依赖。 * Surf Pool Studio 包含一个 faucet 功能,但实际上是覆盖账户余额,而非实际的 airdrop。 * Surf Pool Studio 的交易检查器存在一些 bug,例如无法正确解析某些交易,以及在显示账户数据时,将 ASCII 字符以十六进制形式展示。 * 视频作者还提到了 Surf Pool 在查询主网账户数据方面的优势,并建议开发者使用 Surf Pool 进行本地 Solana 开发。 * 视频作者尝试了 Surf Pool 的 watch 功能,但没有成功。
658
0
0
2025-09-02 15:51
Solana Token 2022 可暂停代币
视频 AI 总结: 该视频详细介绍了 Solana Token 2022 程序中的“pausable token”扩展功能。核心内容是讲解如何创建、暂停、恢复以及禁用 pausable token,并探讨了其潜在的使用场景。视频强调了 pausable token 的作用范围,包括暂停转账、铸币和销毁等操作,并演示了如何通过 Solana CLI 和 Kit 来实现这些功能。 关键信息: 1. Pausable token 是一种 token 扩展,允许暂停 token 的转账、铸币和销毁等操作。 2. Pausable token 的暂停和恢复由一个指定的 authority 控制。 3. 创建 pausable token 需要先初始化 pausable config,然后再初始化 mint。 4. 即使 token 被暂停,拥有 authority 的账户仍然可以在同一交易中恢复、执行操作(如铸币),然后再次暂停。 5. 可以禁用 pausable token 的 authority,但无法完全移除该扩展。 6. 使用 pausable token 会增加交易的计算成本,并且需要使用 transfer checked 进行转账。 7. 一个潜在的使用场景是在 token 正式交易前进行分发,并在特定时间点启用交易功能。
491
0
0
2025-08-27 15:03
Sonala 教程 - Token 扩展 Transfer Hook
视频 AI 总结: 该视频介绍了如何使用 Solana Token Extensions 创建具有自定义功能的 Token,重点讲解了 Transfer Hook 的使用。由于 PayPal 的稳定币 Pi USD 采用了 Token Extensions,促使更多协议开始支持它。视频演示了如何创建一个简单的 Transfer Hook 程序,并在 Token 转移时执行自定义逻辑。视频还解决了在 Anchor 框架下使用 Transfer Hook 遇到的常见问题,例如版本兼容性和 fallback 函数的实现,并展示了如何通过自定义 discriminator 来简化 Transfer Hook 程序的编写。 关键信息: 1. Transfer Hook 允许在每次 Token 转移时执行自定义逻辑,例如强制执行版税、黑名单/白名单钱包、自定义费用等。 2. Token Extensions 是对原始 Token 程序的扩展,Transfer Hook 是 Token Extensions 的一个功能。 3. Transfer Hook 程序通过 CPI (Cross-Program Invocation) 与 Token 程序交互。 4. Transfer Hook 接口包含 `execute` 和 `initialize_extra_accounts_meta_list` 两个主要部分。 5. 可以使用 Anchor 框架简化 Transfer Hook 程序的开发,但需要注意版本兼容性问题。 6. 为了确保 Transfer Hook 仅在实际 Token 转移时被调用,需要在程序中添加验证逻辑。 7. 可以通过自定义 discriminator 避免使用 fallback 函数,简化 Transfer Hook 程序的编写。 8. 如果 Transfer Hook 只需要 Token 转移的默认信息,可以跳过 `extra_account_meta_list`。
385
0
0
2025-08-19 15:41
使用 Surfpool 模拟 Solana 主网,动态账户获取
视频 AI 总结: 该视频介绍了 Solana 开发工具 Surf Pool,它旨在提供一个快速、便捷的本地 Solana mainnet 模拟环境,无需手动配置账户,即可动态获取 mainnet 数据,方便开发者进行测试。视频作者通过实际操作,展示了 Surf Pool 的安装、部署程序以及与 mainnet 交互的基本流程。虽然作者在使用过程中遇到了一些问题,例如交易日志显示不完整、与 Solana CLI 的兼容性问题等,但总体而言,Surf Pool 在模拟 mainnet 数据方面的能力给作者留下了深刻印象。 关键信息: * Surf Pool 模拟 Solana mainnet,方便本地测试,无需手动设置账户。 * Surf Pool 可以动态获取 mainnet 账户数据,包括程序和账户状态。 * Surf Pool 存在一些问题,例如交易日志显示不完整,与 Solana CLI 兼容性问题。 * Surf Pool 适用于依赖 Solana mainnet 状态的程序开发。 * Surf Pool 每次重启后,不会保存之前的状态,需要重新部署程序。 * 可以通过配置关闭 TUI 界面,以流式日志的方式查看交易信息。 * Surf Pool 具有 run books 功能,可以管理部署流程,支持多签钱包。
555
0
0
2025-07-19 23:19
  • ‹
  • 1
  • 2
  • ›
Solandy
Solandy
贡献值: 5 学分: 10
江湖只有他的大名,没有他的介绍。
0 关注 3 粉丝
关于
关于我们
社区公约
学分规则
Github
伙伴们
DeCert
ChainTool
GCC
UpChain
合作
广告投放
发布课程
联系我们
友情链接
关注社区
Discord
Twitter
Youtube
B 站
公众号

关注不错过动态

微信群

加入技术圈子

©2025 登链社区 版权所有 | Powered By Tipask3.5|
粤公网安备 44049102496617号 粤ICP备17140514号 粤B2-20230927 增值电信业务经营许可证

发送私信

请将文档链接发给晓娜,我们会尽快安排上架,感谢您的推荐!

提醒

检测到你当前登录的账号还未绑定手机号
请绑定后再发布
去绑定
编辑封面图
封面预览