本文深入探讨了ERC-4337(账户抽象)及其在以太坊中的应用,提供了创建和部署ERC-4337符合的智能合约的具体步骤,包括使用Stackup SDK的实用指南。文章回顾了账户抽象的基本概念,细述了ERC-4337中的关键组件,如UserOperations和Bundlers,并提供了详细的代码示例和操作指导,帮助读者更好地理解和应用这一技术。
本文详细介绍了rebase 代币的概念及其实现,通过设计一个基于ERC-20标准的重设代币合约,讨论了其逻辑、可能的安全问题及相应的代码实现。文章对交易、铸造、燃烧等过程进行了深入的分析,并提出了防止攻击的措施,适合对DeFi和智能合约开发有一定了解的读者。
这篇文章详细介绍了如何使用Recon工具为智能合约创建不变性测试环境,涵盖了公共和非标准仓库的设置过程。文章结构清晰,提供了丰富的示例和图片,适合开发者快速上手。
这是Solidity教程系列文章第13篇介绍函数调用, 本文会介绍函数使用元组返回多个值,通过命名方式进行参数调用以及如何省略函数参数名称。
Solidity 系列完整的文章列表请查看分类-Solidity。
智能合约中使用更安全的随机数(代码实战篇)
本文探讨了MakerDAO的Multi-Collateral DAI稳定币的一个重要发现:尽管过去被认为是可证明的不可变关系,使用Certora Prover进行的形式验证显示该关系并未成立。文章详细阐述了使用Certora工具进行形式验证的过程和技术细节,并强调了开发智能合约时保持谦虚和开放心态的重要性。
本文对WisdomTree Digital团队的白名单合规Oracle系统的全面审计,旨在识别潜在的漏洞和验证其遵循最佳实践的情况。审计过程中发现了20个问题,提出了许多改善建议,特别是在访问控制的粒度、代码可读性及审核合约的安全性方面。七个低严重性问题的提出使得系统在合规性和功能性上得到了增强。
Metaplex 是建立在 Solana 上的一套 NFT 标准和工具,提供了包括 NFT 铸造、空投以及市场功能的全面解决方案。文章详细介绍了 Metaplex 生态系统中的各种智能合约和工具,例如 Token Metadata、Auction、Candy Machine 和 Gumdrop,并提供了如何使用这些工具的指导。此内容对于希望在 Solana 上构建 NFT 项目的开发者十分有用。
Uniswap V4 BalanceDelta 是一种自定义类型,用于同时表示两个代币的余额变化,分别用高低位的方式存储。同时提供了运算符重载和相关方法,以便于进行加减法和比较操作。此外,BalanceDeltaLibrary 提供了获取各个代币数量的方法,方便使用。
本文介绍了Compound新协议Comet的一个有趣的正确性规则,以及在早期开发过程中如何利用Certora Prover进行形式化验证,以消除代码中的bug。通过形式化规范和验证,团队成功发现并修复了一个导致用户抵押资产状态错误的bug,从而提高了协议的安全性。
文章介绍了以太坊Constantinople硬分叉后,通过EIP-1014引入的CREATE2操作码,使得新形式的智能合约——变形合约成为可能。这种合约可以在销毁后重新部署到相同地址并更换新的字节码,从而带来潜在的安全风险。文章详细探讨了变形合约的原理、实现方式及防御策略,并与现有的透明代理模式进行了对比。
CREATE2
本文详细介绍了Solana Devnet的概念及其在dApp开发中的重要性,包括如何连接Devnet、使用Devnet水龙头获取测试代币、以及如何部署智能合约。
该文章对Fireblocks的可升级tokens进行了审计,主要围绕ERC721F合同中的访问控制实现及其漏洞进行了讨论。审计发现了一些高、中、低严重性的安全问题,并提供了相应的修复建议和代码改进的方向,强调了合同的可升级性及其实现中的功能特点。
Certora工具套件提供了智能合约审计的全面解决方案,核心是Certora Prover,该工具能自动检测代码中的漏洞并确保关键属性得到满足。文章详细介绍了Certora的功能、自动验证的流程,以及与传统测试和审计的比较,强调了Certora如何在早期开发阶段安全性验证的有效性和便利性。
本文讨论了EigenPod重设计中的检查点证明系统,详细介绍了如何解决传统M2证明系统中的问题,通过设置有效验证者集合与快照的结合,提供了一种保证ETH来源和数量的机制,从而支持部分提款和防止算计攻击。文章结构清晰,涵盖了系统的工作原理、主要问题及解决方案,并提供了代码示例和逻辑解释。