本文详细探讨了如何使用Web3.py库在以太坊区块链上与ERC-20代币进行交互,涵盖了ERC-20代币的基本概念、设置开发环境、实现代币转账及授权等内容。文章提供了丰富的代码示例和指导,使开发者能够在实战中熟悉与以太坊的交互方式。
该文章深入介绍了 Uniswap v4 中 Hooks 地址的设计与实现,详细阐述了各类权限标志的使用及其对应的 Solidity 函数。它具有清晰的结构,涵盖了权限解析、地址生成及函数调用等多个方面,为区块链开发者提供了实用的参考。
本文提供了使用 web3.py 库在以太坊上发送交易的详细指导,涵盖了 EIP-1559 和传统交易方法。通过设置钱包、连接以太坊网络以及编写 Python 脚本,读者将学会如何安全有效地发起和监控交易,并理解 EIP-1559 升级对交易的影响。
本文探讨了如何通过Foundry单元测试来调试和修复Echidna/Medusa测试中的不变性问题。介绍了如何使用Foundry模板创建Counter合约,并定义基本的不变性,接着描述了如何运行Echidna和Medusa进行测试,生成相应的单元测试,最后展示了如何修复合约中的bug以维护不变性。通过这种方法,开发者能够更快速有效地定位和解决合约问题,这是在生产环境中极为重要的。
本文详细介绍了Uniswap V4 用户头寸相关的状态管理,包括用于存储流动性及手续费增长的 State 结构体,获取头寸信息的 get 函数,计算位置键的 calculatePositionKey 函数,以及更新头寸信息的 update 函数。
State
get
calculatePositionKey
update
本文详细介绍了Solidity语言的基本数据类型,包括无符号整数(uint256),布尔值(bool)和地址(address)。通过代码示例展示了如何声明和返回这些类型,并强调每种类型的特殊性和注意事项。文章结构清晰,适合对Solidity初学者进行引导。
本文详细介绍了如何使用EIP-2612改进ERC-20代币的批准过程,实现更简化的用户体验和安全性。文章包括了EIP-2612的原理,环境搭建步骤,合约创建,部署及与合约交互的完整代码示例,适合有基础的开发者学习。
本期我们将带大家了解智能合约中一个经常被用到的东西——随机数。
本文深入探讨了ERC-4337(账户抽象)及其在以太坊中的应用,提供了创建和部署ERC-4337符合的智能合约的具体步骤,包括使用Stackup SDK的实用指南。文章回顾了账户抽象的基本概念,细述了ERC-4337中的关键组件,如UserOperations和Bundlers,并提供了详细的代码示例和操作指导,帮助读者更好地理解和应用这一技术。
本文详细介绍了rebase 代币的概念及其实现,通过设计一个基于ERC-20标准的重设代币合约,讨论了其逻辑、可能的安全问题及相应的代码实现。文章对交易、铸造、燃烧等过程进行了深入的分析,并提出了防止攻击的措施,适合对DeFi和智能合约开发有一定了解的读者。
这篇文章详细介绍了如何使用Recon工具为智能合约创建不变性测试环境,涵盖了公共和非标准仓库的设置过程。文章结构清晰,提供了丰富的示例和图片,适合开发者快速上手。
这是Solidity教程系列文章第13篇介绍函数调用, 本文会介绍函数使用元组返回多个值,通过命名方式进行参数调用以及如何省略函数参数名称。
Solidity 系列完整的文章列表请查看分类-Solidity。
智能合约中使用更安全的随机数(代码实战篇)
本文探讨了MakerDAO的Multi-Collateral DAI稳定币的一个重要发现:尽管过去被认为是可证明的不可变关系,使用Certora Prover进行的形式验证显示该关系并未成立。文章详细阐述了使用Certora工具进行形式验证的过程和技术细节,并强调了开发智能合约时保持谦虚和开放心态的重要性。
Metaplex 是建立在 Solana 上的一套 NFT 标准和工具,提供了包括 NFT 铸造、空投以及市场功能的全面解决方案。文章详细介绍了 Metaplex 生态系统中的各种智能合约和工具,例如 Token Metadata、Auction、Candy Machine 和 Gumdrop,并提供了如何使用这些工具的指导。此内容对于希望在 Solana 上构建 NFT 项目的开发者十分有用。