本文介绍了如何使用Solidity实现工厂合约模式。首先,读者需要具备一些Solidity基础知识。接着,通过具体步骤展示了如何创建工厂合约,使其能够生成多个Greeter合约实例,并详细讲解了相关函数及其功能。最后,读者可以在本地环境中与合约进行互动,巩固所学内容。
本文讨论了在去中心化金融(DeFi)协议中,使用Solidity/Yul库进行数学计算的重要性。重点是展示了如何通过等价检查工具检测和证明常量函数市场制造商(CFMM)中的算术漏洞和相应的经济攻击,特别是PRBMath库中的舍入错误。文章提供了案例分析和完整的代码示例,强调了自动化检查的必要性。
本文介绍了在 Solidity 智能合约中使用 Foundry 测试套件进行不变性测试的方法。不变性测试是一种验证代码正确性的测试方法,与单元测试和模糊测试类似。文章详细介绍了如何设置和运行不变性测试,并通过多个示例演示了如何检测和修复智能合约中的漏洞。
UUPS:通用可升级代理标准(ERC-1822)
本文指南提供了如何创建和部署自己的超额抵押稳定币的详细步骤,使用Foundry作为智能合约开发工具,结合OpenZeppelin和Chainlink。内容涵盖了合约的核心功能、抵押品管理、清算机制及相关测试,适合有基本Solidity和智能合约知识的开发者。
本文详细介绍了如何使用 OpenZeppelin 库和 Hardhat 框架创建和部署可升级智能合约。通过分步指南,读者了解了合同的创建、测试、部署及升级的过程,还涉及了环境设置、合约验证和资金管理等重要步骤,对于具备一定基础的开发者来说,非常实用。
本文揭示了有关智能合约形式验证(FV)的三大常见误解,并介绍了Certora开发的形式验证语言CVL如何有效打破这些误区。文章通过示例展示了CVL的易用性和强大能力,强调了形式验证在检查合约安全性和发现复杂漏洞中的重要性,以及Certora Prover工具的实际应用。
Chisel是随Foundry提供的高级SolidityREPL(交互式命令工具)。它可用于在本地或Fork网络上快速测试Solidity片段。
文章详细介绍了ERC20快照技术,解决双花投票和重复领取空投的问题,并探讨了其实现机制和OpenZeppelin的解决方案。
本文探讨了去中心化金融(DeFi)领域中的智能合约安全性问题,并介绍了一种新的工具——等价检查器(Equivalence Checker),旨在帮助开发者在安全性、开发时间和Gas消耗之间取得更好的平衡。文章深入分析了智能合约开发面临的三大挑战以及使用等价检查器进行对比验证的实例,以确保代码的功能等价性。
本文介绍了Veridise团队在智能合约安全领域的学术研究成果,共精选五篇论文,涵盖了智能合约的安全性检查、优化及验证等多个方面。每篇论文的研究均对智能合约的设计与安全审计具有重要的指导意义,并且为Veridise开发内部工具提供了基础和灵感。
文章详细介绍了EIP-2535 Diamonds标准的概念和实现,解决了以太坊智能合约的24KB大小限制,并提供了一种组织和扩展智能合约系统的新方法。文中包含了关于如何避免智能合约存储变量冲突的详细策略,及其在ERC721代币实现中的应用实例,适合对以太坊智能合约开发有一定基础的读者。
这篇文章深入探讨了Solidity中的delegatecall方法,阐明了其工作原理、操作的安全性以及如何有效管理合约状态变量布局。
文章详细介绍了 Uniswap V2 Library 的功能和使用方法,主要包括getAmountOut()、getAmountIn()、getAmountsOut()、getAmountsIn()、getReserves() 和 quote() 等函数的工作原理和数学推导过程,并提供了相关代码和图片说明。
Solidity教程系列第二篇 - Solidity地址类型介绍. Solidity 系列完整的文章列表请查看分类-Solidity。