本文是r0bre在3个多月的时间里编写的100个Solana技巧的合集,旨在提高Solana开发者和审计师的技能。内容涵盖项目结构、Anchor约束、代码学习、不变量、动态断言、全局程序状态、账户填充、PDA种子、剩余账户安全、日志记录、并行处理、数学运算安全、重入、ATA账户初始化、多重签名、事件响应计划、编程监控以及Solana账户模型等多个方面。
本文深入探讨了 Solana Anchor 框架中隐藏的 IDL(接口描述语言)指令及其潜在的安全风险。
这篇文章深入探讨了 Solana 上的压缩 NFT (cNFT),重点介绍了 account-compression 和 mpl-bubblegum 程序。cNFT 利用 Merkle 树将 NFT 数据存储在链下,从而显著降低成本和复杂性。文章详细解释了 cNFT 与传统 NFT 的区别,以及如何使用相关程序进行创建、Mint、转移和销毁 cNFT。
account-compression
mpl-bubblegum
本文深入探讨了 Anchor 框架中默认启用的 IDL 上传功能所带来的安全隐患。Anchor 默认添加了7个隐藏指令来支持 IDL 上传,但其中的 IdlCreateAccount 和 IdlCreateBuffer 存在潜在风险,可能导致 IDL 接管攻击和类型混淆漏洞利用,文章详细解释了这些攻击的原理和利用方式,并提供了相应的防护建议。
IdlCreateAccount
IdlCreateBuffer