本文详细介绍了Uniswap v3中的tick索引的最小值和最大值,以及它们与价格存储的关系。文章解释了如何计算与最大价格2128对应的tick值,并探讨了使用int24来存储tick索引的原因,同时指出了在代码库中硬编码的最小和最大平方根比率值。
int24
本文详细介绍了 Uniswap V3 如何存储和计算代币价格的平方根,主要通过一种固定点数格式 (Q64.96) 处理,以提高计算的 gas 效率。同时探讨了代币价格的上下限及其处理方式,深入分析了 Solidity 中不支持浮动小数的原因。
ERC-6909是ERC-1155标准的简化替代方案,旨在提高多代币合约的效率,其主要特点包括取消强制回调和批量转移逻辑,并引入混合权限管理模型,使得开发者能够更灵活地管理代币。此外,还提出了ERC-6909在DeFi应用中的实际使用,以及NFT系列的元数据处理。
本文详细介绍了rebase 代币的概念及其实现,通过设计一个基于ERC-20标准的重设代币合约,讨论了其逻辑、可能的安全问题及相应的代码实现。文章对交易、铸造、燃烧等过程进行了深入的分析,并提出了防止攻击的措施,适合对DeFi和智能合约开发有一定了解的读者。
本文详细解释了Uniswap V3中的ticks概念,ticks作为预定义价格点,在集中流动性管理中起到重要作用。文章深入探讨了ticks的定义、计算方法及其在流动性提供中的应用,并通过多个示例和插图增强理解,适合对DeFi和流动性池有一定了解的读者。
文章详细介绍了ERC-2535钻石模式(Diamond Pattern),这是一种代理模式,代理合约可以同时使用多个实现合约。文章深入讨论了钻石模式的实现原理、优势、以及与透明可升级代理(Transparent Upgradeable Proxy)和UUPS的区别。还介绍了钻石模式的应用场景和最佳实践,包括如何实现不可变钻石和可升级钻石,并提供了相关代码示例。
《Uniswap V2 Book》是一本深入解析Uniswap V2代码的书籍,不仅逐行解释代码,还探讨了设计背后的原因、替代方案及决策动机。书中还引入了实践问题,并指导读者如何实现Uniswap V2的克隆版本。
本文详细介绍了代理合约的概念及其在智能合约中的重要性,特别是如何通过代理合约实现智能合约的升级性和降低部署成本。文章通过示例代码和图解,深入解析了代理合约的工作原理和实现方法,并探讨了存储冲突问题及其解决方案。
本文详细介绍了在Solidity中使用Q格式表示定点数的方法,包括Q数的定义、表示方式、转换方法以及在Solidity中的实际应用示例。文章还对比了Q数与以太坊中的十进制表示,指出了Q数在乘除运算中的高效性。
详解 ERC-1155 多代币标准