概述
随着区块链的发展,智能合约的开发逐渐成为一片新的蓝海。与智能合约发展一同进步的其实还有一系列的智能合约开发工具和安全审计工具,但由于此方面很少有人介绍,导致大量新型工具并不为人所熟知。本文主要介绍智能合约开发和安全审计工具,以智能合约开发和测试为主线,依次介绍涉及以下方面的工具:
- 编辑器配置
- 代码编写、测试与部署
- 合约安全测试
- 链上合约调用分析
- 区块数据获取
本文章主要面向使用solidity
语言进行太坊或以太坊兼容链智能合约开发的程序员。
编辑器配置
作为智能合约开发者,拥有一个配置良好的编辑器可以大幅度提高合约开发效率。由于目前智能合约开发刚刚起步,并没有使用专业的IDE,但通用编辑器VSCode
配合各种插件可以拥有非常好的开发体验。在此处,我建议按照以下插件:
前者可以提供一些基础的语言特性高亮和自动补齐功能,而后者专门为智能合约审计人员设计,提供了大量的附加功能,方便开发者理解合约。对于一般开发者而言,基础插件的功能较好理解,此处我们着重介绍Solidity Visual Developer
,该插件提供了大量的合约可视化能力,如下图所示:
除此之外,此插件还提供了以下功能:
一是更加多样化的颜色绚烂、参数显示和函数信息显示,如下图所示:
二是引入了更加丰富的关键词信息和安全建议展示,如下图:
三是增加了显示所有函数选择器的展示,如下图:
四是增加了合约概览展示,如下图:
总而言之,Solidity Visual Developer
提供了大量对于智能合约开发者实用的功能,无论开发者从事合约开发抑或是合约审计,此插件都可以大幅度增加开发体验。
代码编写、测试与部署
在代码编写、测试与部署环节,我个人推荐使用foundry
框架,此框架具有以下特点:
- 易于安装(仅针对Linux和MacOS系统)
- 可以快速编译智能合约
- 使用 solidity 作为测试框架语言,而不需要使用 javascript或 typescript 作为测试辅助语言 <