第 9 章 Truffle合约开发实战

在公司开发流程和在家里业余编程不太一样。

我们的要求逐渐从合约的编写与演示转变为团队协作、流程化部署以及对代码可靠性的追求。从代码编辑开始,单元测试,持续集成测试,到最后的合约部署都要求一气呵成。代码从开发环境到生产环境都会经过反复地进行安全测试,因为智能合约承载的数字资产关系到千万人的利益。

在第6章里面我们学习了用Solc编译器编译、发布智能合约,它有以下几个缺陷。

  • 需要在Geth节点上直接操作以太坊区块链。
  • 编译过程工具复杂,各种语言、命令行工具混搭。
  • 测试环境与生产环境容易泄漏秘钥。

同样小型项目使用网页版的Remix IDE作为一站式服务来编辑、编译、部署智能合约。它的优点有不少,但是短板也是非常明显的。

  • 不利于团队管理器Git的整合,代码都在浏览器内。
  • 目录结构适用于中小型项目、个人项目。不适合大型项目。
  • 代码调试手动,没有自动化。
  • 需要一个本地Geth节点或者测试网络的支持。

在实际的公司生产环境里,我们希望项目在开发中拥有如下的特性。

  • 有命令行界面,可进行持续集成测试。
  • 代码本地编辑,利于 Git 整合。
  • 测试工具丰富,测试运行速度快。
  • 半自动/全自动部署并加以测试,减少人工干预。

Truffle是一个慢速上述特性的主流开发工具。让我们来看一下吧!