链上调试

交易反馈与追踪

合约反编译

本地节点

开发人员通常会发现,运行一个修改了参数的以太坊单节点,对交互测试很有帮助:

  • Anvil 是一个打包在 Foundry 工具包中的本地以太坊节点。

  • Hardhat 是一个打包在 Hardhat 工具包中的本地以太坊节点。

如何安装相应工具包,并获得本地节点,下一章节将详细介绍。

工具包

开发人员通常会发现,在一个功能齐全的开发框架内构建自己的程序能提高开发效率。开发框架可以组织外部依赖关系(即软件包管理),组织单元测试和集成测试,定义部署程序(针对本地节点、测试网和主网),记录Gas成本等。

以下是两种最常用的 Solidity 开发工具包:

  • Foundry 是一个用于开发和测试的 Solidity 开发框架,Foundry 可以管理依赖关系、编译项目、运行测试、部署,并允许用户通过命令行或 Solidity 脚本与链进行交互,Foundry 用户通常使用 Solidity 语言编写智能合约和测试。

  • Hardhat 是一个 Solidity 开发框架,搭配有 JavaScript 测试框架,它具有与 Foundry 类似的功能,在 Foundry 出现之前是 EVM 开发人员的主要工具链。

与以太坊 RPC API 交互

去中心化应用程序的前端通常使用 JavaScript 或 Python 向 RPC 节点提交读取或写入查询,这些代码通常被称为 "客户端",因为开发人员可以将区块链大致等同于后台服务器。

以下资源库提供了向 RPC 节点提交查询或交易的标准方法:

  • Python:

  • Javascript:

    • ethers.js 开发了 Web3.jsWeb3.py,它们分别是 Java Script 和 Python 资源库,这些开发旨在使开发人员能够更直观地与区块链进行交互。

这里是一个创建去中心化应用程序前端的快速示例:create-eth-app

测试网

Monad 测试网将在未来几个月内提供给开发者使用,由于字节码和 RPC 与 EVM 兼容,计划在 Monad 上部署的开发者可以初步使用以太坊测试网

更多资源

以下子页面添加了额外资源:

除了 "建议资源 "中提到的资源外,这里还有一些其他资源:

教程

最佳实践/模式

测试

智能合约存档

最后更新于