本文深入解析了Uniswap V2的swap函数设计,包括其逻辑、闪贷功能、安全性检查以及如何通过代码实现K值平衡。文章通过代码片段和详细的解释帮助开发者理解该函数的运行机制。
本文详细介绍了如何在智能合约中使用Chainlink VRF生成随机数。文章涵盖了Chainlink VRF的原理、请求随机数的方法,并通过构建一个自定义的抽奖智能合约进行了系统的示范。还提供了关于测试、部署合约和创建Chainlink VRF订阅的步骤,有助于开发者理解如何在其项目中实现该功能。
本文介绍了以太坊的EIP-2930访问列表交易,通过预先声明访问的合约和存储槽,可以减少跨合约调用的gas消耗。文章详细解释了EIP-2930的工作原理、gas费用的计算以及如何实现访问列表交易,并提供了代码示例和gas节省的具体案例。
文章详细介绍了Compound V3中的baseSupplyIndex和baseBorrowIndex机制,解释了它们如何跟踪借贷者的存款和借款,以及如何通过principal value和present value计算用户的余额。同时,文章还包含代码示例和图表,帮助读者更好地理解这些概念。
baseSupplyIndex
baseBorrowIndex
principal value
present value
本文介绍了ERC-4626标准及其在构建收益型保险库中的应用。作者详细阐述了收益型保险库的原理、相关标准的功能、如何构建、部署智能合约以及与各种DeFi协议的兼容性,适合希望深入了解DeFi和Solidity的开发者。
本文深入探讨了以太坊虚拟机(EVM)与智能合约之间的交互,以及 Solidity 在处理外部程序调用合约方法时的角色和机制。文章详细介绍了交易的构建方式、ABI 编码、合约调用的底层汇编实现等核心概念,适合对 EVM 和 Solidity 有一定了解的开发者阅读。
Solidity 优化 - 隐藏的 Gas 成本
Foundry是一个用于以太坊应用开发的便携、快速和模块化的工具包。文章详细介绍了Foundry的优势和特性,包括使用Solidity编写测试、模糊测试、覆盖虚拟机状态以及在真实网络状态下运行测试等,并提供了性能比较和应用示例。
本文探讨了以太坊智能合约的两种编程语言——Solidity和Vyper。文章介绍了智能合约的基础知识及其重要性,深入分析了Solidity和Vyper的优缺点,包括其语法特点、社区支持和安全性。此外,作者还为初学者提供了选择合适语言的建议,突出强调了Vyper在安全性上的优势。
什么时候会发生重入攻击
《Uniswap V2 Book》是一本深入解析Uniswap V2代码的书籍,不仅逐行解释代码,还探讨了设计背后的原因、替代方案及决策动机。书中还引入了实践问题,并指导读者如何实现Uniswap V2的克隆版本。
文章详细解释了以太坊智能合约升级中使用的Proxy模式可能被恶意利用的漏洞,并介绍了如何通过函数选择器的冲突隐藏恶意代码,最后提出了解决方案。
本文介绍了Sirrah,一个结合了机密计算和区块链的极简示范,利用受信执行环境(TEE)扩展智能合约的功能。文章详细阐述了TEE的工作原理,包括如何通过Solidity编程实现安全拍卖过程,并介绍了实施过程中的设计与技术细节。此项目展示了如何在保留可见性的同时,实现数据的机密性与安全性。
本文讨论了在云中进行模糊测试的不同选项,特别是在Solidity合约上的实施,介绍了多种云服务提供商和工具,包括DigitalOcean, GitHub CI, Consensys和Recon,帮助读者选择适合的云模糊测试环境。文中详细阐述了每个选项的优缺点、难度及背景要求,并附有必要的CLI命令和示例配置,以便更好地进行模糊测试。
本文介绍了 Solidity 中的访问修饰符,包括 public、private、internal 和 external。通过简单的示例,深入分析了每种修饰符如何控制对合约函数和状态变量的访问,从而确保去中心化应用(DApps)的安全性与完整性。