本文介绍了智能合约之间的相互调用,并通过代码示例展示了如何实现合约间的通信,解释了 call 函数的使用、ABI编码、以及函数返回值的处理。
call
本文介绍了如何使用 Foundry 设置和部署 NFT 合约到 Sepolia 测试网络,并在 Etherscan 上进行验证。文章详细说明了如何安装 OpenZeppelin、使用 remappings、生成 remappings.txt 文件、设置环境变量以及部署和验证 NFT 合约的过程。
该文章讲述了作者如何通过学习Solidity和开发Solodit工具,从而成为一名优秀的智能合约审计师的故事。Solodit成为了一个汇聚众多审计报告的平台,帮助更多审计师提升技能与效率,推动Web3安全的进步。
本文介绍了区块链开发的学习资源,针对不同水平的开发者推荐了Alchemy University、Road to Web3、CryptoZombies等入门课程,以及Solidity、NFT和Solana等特定领域的进阶课程。 同时还介绍了每个课程的特点、价格和创建者等信息 。
文章讨论了如何在Solidity智能合约中实现ERC20标准的事件记录,强调了事件记录在状态变化时的重要性,并通过代码示例详细展示了如何在ERC20合约中添加Transfer和Approval事件。
本文深入分析了 Uniswap v4 智能合约的核心与外围合约,包括工作流、各个合约的功能及其相互关系。通过介绍核心合约 PoolManager 及各种库合约,以及外围合约 PositionManager 和 V4Router,详细讲解了流动性管理和交易操作的实现原理。
本文详细探讨了跨链安全中的一种重入攻击向量,指出在构建跨链NFT合约时可能面临的安全风险。通过对危险外部调用的分析,作者提出了如何可能利用这一漏洞进行攻击的策略,并提供了针对性的解决方案。
本文讨论了2019年在Solidity编译器中发现的一个内存管理漏洞,导致动态数组的长度计算溢出,并可能导致内存损坏。文章深入分析了该漏洞的原理、示例代码及其潜在影响,还探讨了如何避免及检测此类漏洞的方法。最后,作者提到应用形式化方法来提高编译器的正确性和区块链智能合约的安全性。
本文介绍了Solidity中的存储变量,并通过代码示例详细解释了存储变量的声明、使用以及不同修饰符(如pure、view、public和internal)的区别。文章还强调了存储变量的持久性和其对区块链状态的影响。
pure
view
public
internal
OpenZepplin 虽然提供了支持元交易的工具类(metatx 目录下),但并未对元交易场景提供完整的支持,甚至在其 MinimalForwarder.sol 的源代码的注释中都建议采用别的框架。这个框架就是本文主题:OpenGSN。
这篇文章讨论了如何在自动化验证的背景下应用突变测试,介绍了一个名为Gambit的开源突变生成器,该工具用于增强Solidity智能合约的测试,并与Certora Prover工具集成。文章深入探讨了突变测试在提高正式规范质量和识别安全漏洞方面的重要性,并提供了视觉化结果的相关信息,展示了突变检测的效果和改进方向。
该文章详细介绍了Solidity中的selfdestruct关键字,包括其定义、工作原理、用途以及相关示例。文章回顾了selfdestruct的历史及其在以太坊智能合约中的重要性,同时讨论了使用该功能的安全性问题与潜在风险。尽管功能已在以太坊的上海升级中被弃用,但文章提供的背景与实例仍具有参考价值。
本文介绍了Solidity中的变量(包括状态变量、局部变量和全局变量)、数据类型(如uint、bool、address、string等)以及函数的概念和常用修饰符(public、private、view、pure等)。并通过一个简单的MyProfile合约示例,演示了如何存储和更新名称,以及如何返回当前名称。文章还提供了一个小挑战,鼓励读者创建一个新的智能合约。
本文介绍了如何使用Solidity编写一个简单的智能合约,该合约能够在以太坊区块链上存储和检索数据。文章通过一个SimpleStorage合约的例子,讲解了状态变量的声明、set和get函数的编写,以及如何在Remix IDE中部署和交互该合约。
SimpleStorage
set
get
zkSync 2.0 更新了其路线图,计划在2021年5月推出zkEVM测试网络,并在8月上线主网。同时,zkSync 1.x 将在春季支持NFTs和交换功能。zkSync 2.0 将支持基于EVM的编程模型、现有的Solidity源代码移植性、所有以太坊钱包的原生支持,以及超过20,000 TPS的可扩展性。