链上调试
交易反馈与追踪
https://github.com/naddison36/tx2uml:生成 UML 图表的操作系统工具
合约反编译
https://oko.palkeo.com/:Panoramix 反编译器的托管版本
本地节点
开发人员通常会发现,运行一个修改了参数的以太坊单节点,对交互测试很有帮助:
如何安装相应工具包,并获得本地节点,下一章节将详细介绍。
工具包
开发人员通常会发现,在一个功能齐全的开发框架内构建自己的程序能提高开发效率。开发框架可以组织外部依赖关系(即软件包管理),组织单元测试和集成测试,定义部署程序(针对本地节点、测试网和主网),记录Gas成本等。
以下是两种最常用的 Solidity 开发工具包:
Foundry 是一个用于开发和测试的 Solidity 开发框架,Foundry 可以管理依赖关系、编译项目、运行测试、部署,并允许用户通过命令行或 Solidity 脚本与链进行交互,Foundry 用户通常使用 Solidity 语言编写智能合约和测试。
Hardhat 是一个 Solidity 开发框架,搭配有 JavaScript 测试框架,它具有与 Foundry 类似的功能,在 Foundry 出现之前是 EVM 开发人员的主要工具链。
与以太坊 RPC API 交互
去中心化应用程序的前端通常使用 JavaScript 或 Python 向 RPC 节点提交读取或写入查询,这些代码通常被称为 "客户端",因为开发人员可以将区块链大致等同于后台服务器。
以下资源库提供了向 RPC 节点提交查询或交易的标准方法:
Python:
这里是一个创建去中心化应用程序前端的快速示例:create-eth-app。
测试网
Monad 测试网将在未来几个月内提供给开发者使用,由于字节码和 RPC 与 EVM 兼容,计划在 Monad 上部署的开发者可以初步使用以太坊测试网。
更多资源
以下子页面添加了额外资源:
除了 "建议资源 "中提到的资源外,这里还有一些其他资源:
教程
Ethernaut:通过解谜学习 Solidity
最佳实践/模式
测试
Echidna:模糊测试
Slither:用于漏洞检测的静态分析
solidity-coverage:测试 Solidity 代码覆盖率
智能合约存档
最后更新于