这篇文章详细介绍了以太坊的预编译合约,包括其创建过程、在Solidity语言中的应用及其通过内联汇编的调用方式,并讨论了使用这些合约时的安全考虑。
这篇文章详细介绍了如何创建一个ERC20代币,包括代币的基本构造、余额管理、铸造与转移功能的实现,以及如何使用允许机制进行代币转移。文章还引入了小数的概念,并提出了一个清理建议以简化代币转移代码,使其更加整洁。整体内容适合希望深入了解ERC20标准的读者。
Solidity 教程系列第11篇 - Solidity 视图函数、虚函数讲解。 Solidity 系列完整的文章列表请查看分类-Solidity。
本文介绍了 Pool Library 的定义和结构,主要涉及到对 Uniswap v4 方池的实现和逻辑细节的描述,包括结构体定义(如 TickInfo 和 State)、流动性变更和交易的函数(如 modifyLiquidity 和 swap),以及如何处理 tick 的更新与手续费增长的计算。
该文章深入介绍了 Uniswap v4 中 Hooks 地址的设计与实现,详细阐述了各类权限标志的使用及其对应的 Solidity 函数。它具有清晰的结构,涵盖了权限解析、地址生成及函数调用等多个方面,为区块链开发者提供了实用的参考。
本文详细介绍了Uniswap V4 用户头寸相关的状态管理,包括用于存储流动性及手续费增长的 State 结构体,获取头寸信息的 get 函数,计算位置键的 calculatePositionKey 函数,以及更新头寸信息的 update 函数。
State
get
calculatePositionKey
update
你是否知道大端小端的概念,其定义了是高位数据先保存还是地位数据先保存,EVM 是用 大端格式存储数据,我们知道 EVM 使用 32 字节的字来处理数据,当数据不足 32 个字节时,如何填充数据呢?bytes 有哪些操作详见本文。
本文详细介绍了Solidity语言的基本数据类型,包括无符号整数(uint256),布尔值(bool)和地址(address)。通过代码示例展示了如何声明和返回这些类型,并强调每种类型的特殊性和注意事项。文章结构清晰,适合对Solidity初学者进行引导。
智能合约中使用更安全的随机数(代码实战篇)
Uniswap V4 BalanceDelta 是一种自定义类型,用于同时表示两个代币的余额变化,分别用高低位的方式存储。同时提供了运算符重载和相关方法,以便于进行加减法和比较操作。此外,BalanceDeltaLibrary 提供了获取各个代币数量的方法,方便使用。
Uniswap V4 CurrencyDelta Library 是一种优化的闪电记账工具,通过 transient storage 记录代币余额变化,从而节省 gas 消耗。文章详细介绍了如何计算存储 slot 地址、获取余额变化和应用余额变更的 Solidity 函数,实现了高效的代币管理。
本文介绍了Recon工具的使用,该工具能自动化生成Solidity项目的无变体测试。作者通过示例展示了如何使用Recon创建Uniswap V3的测试套件,并验证特性以检测智能合约中的潜在漏洞。文章详细阐述了项目设置过程、各个合约的功能以及如何运行模糊测试。整体上,该文本为开发人员和审计人员提供了很好的工具使用指南。
Uniswap V4 DeltaResolver 是一个抽象合约,主要功能包括向 PoolManager 合约同步、转移代币及结算资金。其包含多个方法,如 _pay、_getFullDebt、_getFullCredit、_take、_settle 等。
本文介绍了Certora Equivalence Checker工具,旨在帮助开发者优化DeFi产品的智能合约,解决Gas消耗、安全性和市场发布速度之间的三重困境。通过比较不同版本的代码,工具能有效检测潜在的低严重性和高严重性漏洞,并加强开发过程中的形式验证,确保代码的功能等价性。
本文是一个入门级指南,介绍如何使用Solidity创建并部署一个简单的'Hello World'智能合约。文章结构清晰,以多个部分详细解释了所需的基础知识、创建过程和与合约的互动,适合想要学习Web3开发的读者。