什么时候会发生重入攻击
《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)的安全性与完整性。
这篇文章详细介绍了以太坊的预编译合约,包括其创建过程、在Solidity语言中的应用及其通过内联汇编的调用方式,并讨论了使用这些合约时的安全考虑。
这篇文章详细介绍了如何创建一个ERC20代币,包括代币的基本构造、余额管理、铸造与转移功能的实现,以及如何使用允许机制进行代币转移。文章还引入了小数的概念,并提出了一个清理建议以简化代币转移代码,使其更加整洁。整体内容适合希望深入了解ERC20标准的读者。
Solidity 教程系列第11篇 - Solidity 视图函数、虚函数讲解。 Solidity 系列完整的文章列表请查看分类-Solidity。
本文介绍了 Pool Library 的定义和结构,主要涉及到对 Uniswap v4 方池的实现和逻辑细节的描述,包括结构体定义(如 TickInfo 和 State)、流动性变更和交易的函数(如 modifyLiquidity 和 swap),以及如何处理 tick 的更新与手续费增长的计算。
本文是Solidity ABI编码的深入解析教程的第一部分,主要介绍了ABI编码的基础知识、先决条件,以及静态类型和动态类型的编码规则。通过具体的例子,详细解释了如何将函数参数编码成EVM可以理解的字节序列,包括函数选择器、Head-Tail结构、偏移量的计算等关键概念,旨在帮助开发者掌握Solidity ABI编码的核心原理。
本文详细介绍了Uniswap V4 用户头寸相关的状态管理,包括用于存储流动性及手续费增长的 State 结构体,获取头寸信息的 get 函数,计算位置键的 calculatePositionKey 函数,以及更新头寸信息的 update 函数。
State
get
calculatePositionKey
update
本文详细介绍了Solidity语言的基本数据类型,包括无符号整数(uint256),布尔值(bool)和地址(address)。通过代码示例展示了如何声明和返回这些类型,并强调每种类型的特殊性和注意事项。文章结构清晰,适合对Solidity初学者进行引导。
本文对 ZKsync VM 中的几个预编译函数进行了审计,涵盖了椭圆曲线点加法、标量乘法、配对和模幂运算的系统合约。文章详细讨论了审计范围、系统概述、安全模型、发现的问题及改进建议,并强调了对这些预编译的实施和文档质量的改善需求。
智能合约中使用更安全的随机数(代码实战篇)