本文介绍了以太坊虚拟机(EVM)及其核心组件,包括虚拟机、智能合约、操作码和 Gas。EVM 是以太坊网络的核心,它允许开发者创建智能合约,实现各种应用,如代币生成和交易。文章还探讨了 EVM 的使用案例,例如 ERC-20 和 ERC-721 代币,以及去中心化交易所。
编写我们的第一个合约。
本文详细介绍了如何使用OpenZeppelin标准创建和部署ERC-721(NFT)代币,包括NFT的基本概念、ERC-721标准的功能和事件、NFT的应用场景,以及通过IPFS存储NFT元数据和图像的具体步骤。
本文介绍了以太坊智能合约中的字节码、ABI以及如何将字节码反编译为可读的Solidity代码。
文章介绍了突变测试的概念,即通过故意在代码中引入错误来检查测试套件的质量。文章详细举例说明了突变测试的应用,包括如何在Solidity代码中实施,并介绍了自动突变测试工具及其可能的结果。此外,还讨论了突变测试的重要性和局限性,并推荐了一些相关的学习资源。
文章提供了学习Solidity后的下一步实践建议,列出了10个从易到难的项目,帮助开发者通过实践提升技能,并强调了编写单元测试和关注gas成本的重要性。
本文介绍了变异测试在自动化验证中的应用,重点介绍了一种名为Gambit的开源变异生成器,用于针对Solidity语言进行变异,并与Certora Prover集成以验证智能合约的规范。通过生成故障版本程序,Gambit能够评估现有测试套件的有效性,并帮助识别和改进潜在的规范缺陷,从而提高智能合约的安全性和可靠性。
本文介绍了以太坊智能合约的安全最佳实践,包括进行智能合约审计、测试代码、同行代码审查、降低软件复杂性、实施故障保护以及设计安全访问控制机制。此外,还介绍了四种智能合约安全工具,帮助开发者保护智能合约免受漏洞利用。
本文介绍了智能合约的概念、工作原理、应用场景(如去中心化交易所、借贷平台、流动性提供和Staking)以及优缺点。智能合约是区块链技术的重要组成,通过自动化、透明性和不可篡改性,在DeFi等领域发挥着关键作用。同时也指出了智能合约风险,例如代码漏洞可能导致资金损失,并强调代码审计的重要性。
在 Solidity 中时间复杂度
本文介绍了智能合约的应用二进制接口(ABI),它使得智能合约能够与外部应用和其他智能合约进行通信和交互。ABI 充当函数选择器的角色,定义了可以调用智能合约执行的特定方法,并通过 ABI 编码将信息转换为 EVM 能够理解的格式。文章还讲解了如何生成和使用 ABI,以及 ABI 在智能合约开发中的重要性。
本文介绍了区块链开发中常用的各种工具,包括编程语言(Solidity、Vyper、Rust)、框架(Truffle、Hardhat、Embark)、集成开发环境(Remix IDE、EthFiddle、Ethcode)、API和SDK(Alchemy NFT API、Thirdweb SDK、Moralis API and SDK)、测试网络、预言机(Chainlink)、节点提供商(Alchemy Supernode)以及分析和安全工具,旨在帮助开发者更好地构建区块链应用。
本文深入探讨了智能合约开发的关键最佳实践,包括掌握Solidity和区块链基础知识、采用安全编码实践、代码优化和Gas效率、测试和审计、遵循部署最佳实践、坚持行业标准以及持续学习。通过遵循这些实践,开发者可以构建安全、高效且易于维护的智能合约,从而在去中心化应用中建立信任、增强功能并减少漏洞。
本文为智能合约审计师的入门指南,概述了成为一名智能合约审计师的步骤,包括学习编程基础、Web3 概念、Solidity 语言、Defi 原理,并通过 Secureum 平台学习安全知识。
本文介绍了如何在Solidity中调用另一个智能合约的函数,通过部署两个合约(Counter.sol和Interface.sol)并演示它们之间的交互,展示了智能合约的复用性和交互方式。