Skip to main content
Monad 与 EVM 字节码完全兼容,支持截至 Osaka 分叉的所有操作码和预编译合约。Monad 还保留了标准的 Ethereum JSON-RPC 接口。 因此,大多数以太坊主网的开发资源同样适用于 Monad 的开发。 本页面推荐了一组最少必要的资源,帮助您开始为以太坊构建去中心化应用。子页面提供了更多细节或选项。 由于 Solidity 是以太坊智能合约最流行的语言,本页面上的资源侧重于 Solidity;此外可查看 Vyper 的资源。请注意,由于智能合约具有可组合性,原本用一种语言编写的合约仍可调用另一种语言编写的合约。

IDE

  • Remix 是一个交互式 Solidity IDE。这是开始编写和编译 Solidity 智能合约最简单、最快捷的方式,无需额外安装工具。
  • VSCode + Solidity 扩展

Solidity 基础

Solidity 中级

  • Solidity 语言官方文档是关于智能合约和区块链基础(以 EVM 环境为核心)的端到端说明。除 Solidity 语言文档外,它还涵盖了将代码编译以部署到 EVM 的基础知识,以及在 EVM 上部署智能合约时相关的基础组件。
  • Solidity Patterns 仓库提供了代码模板库及其用法说明。
  • Uniswap V2 合约是一份专业但易于理解的智能合约,很好地概览了一份处于生产状态的 Solidity dApp。可在此处找到对该合约的引导式讲解。
  • OpenZeppelin 为常见的以太坊代币部署(如 ERC20、ERC712 和 ERC1155)提供了可自定义的模板合约库。请注意,它们并未针对 gas 进行优化。
  • Rareskills 博客有一些关于 Solidity 各种概念的深入文章。
  • Cyfrin Updraft 的 Foundry Fundamentals 课程是一门全面的 web3 开发课程,旨在教您了解 Foundry——业界标准的智能合约构建、部署和测试框架。
  • Smart Contract Programmer YT 频道有大量关于各种 Solidity 概念(如 ABI 编码、EVM 内存等)的深入视频。

Solidity 高级

  • Solmate 仓库Solady 仓库提供了利用 Solidity 或 Yul 的 gas 优化合约。
  • Yul 是一种面向 Solidity 的中间语言,通常可以视为 EVM 的内联汇编。它并非纯粹的汇编,提供了控制流构造并将栈的内部工作方式加以抽象,同时仍向开发者暴露原始内存后端。Yul 面向需要访问 EVM 原始内存后端的开发者,以构建高性能、gas 优化的 EVM 代码。
  • Cyfrin Updraft 的 Advanced Foundry 课程教您了解 Foundry、如何开发 DeFi 协议和稳定币、如何开发 DAO、高级智能合约开发、高级智能合约测试与模糊测试以及手动验证。
  • Cyfrin Updraft 的 Smart Contract Security 课程将教您入门审计和编写安全协议所需的一切知识。
  • Cyfrin Updraft 的 Assembly and Formal Verification 课程教您了解汇编、使用 Yul 编写智能合约、以太坊虚拟机操作码、形式化验证测试、智能合约不变量测试以及 Halmos、Certora、Kontrol 等工具。
  • Cyfrin Updraft 的 Smart Contract DevOps 课程教授在使用钱包时的访问控制最佳实践、部署后安全、智能合约与 web3 DevOps 以及在线协议的维护与监控。
  • Secureum YT 频道有大量关于 Solidity 的视频,从 Solidity 基础一直到模糊测试和 Solidity 审计等高级概念。

教程

  • Ethernaut:通过解题学习
  • Damn Vulnerable DeFi:DVD 是一系列智能合约挑战,由存在漏洞的合约组成,您需要设法攻击它。这些挑战是练习和应用您所掌握的 Solidity 技能的好方法。

最佳实践/模式

测试

智能合约档案