Truffle是针对基于以太坊的Solidity语言的一套开发框架。本身基于Javascript。 Truffle是一个世界级的开发环境,测试框架,以太坊的资源管理通道,致力于让以太坊上的开发变得简单,Truffle有以下:
- 内置的智能合约编译,链接,部署和二进制文件的管理。
- 快速开发下的自动合约测试。
- 脚本化的,可扩展的部署与发布框架。
- 部署到不管多少的公网或私网的网络环境管理功能
- 使用EthPM&npm提供的包管理,使用ERC190标准。
- 与合约直接通信的直接交互控制台(写完合约就可以命令行里验证了)。
- 可配的构建流程,支持紧密集成。
- 在Truffle环境里支持执行外部的脚本。
安装方式:
npm install -g truffle
环境要求
- NodeJS 5.0+
- Windows,Linux,或Mac OS X
Truffle需要以太坊客户端,需要支持标准的JSON RPC api。对于开发来说,有一些更适合,后续章节会介绍(如:testRPC提供编码调试时的实时反馈)。
学习Truffle前要知道什么?
总的来说不需要什么特别的。
- 由于本身是基本Javascript的,但对Javascript的要求比较低,知道基本语法、模块、Promise的概念差不多就可以了,不知道也行,碰到不懂的,现查资料都来得及。(这个我做为一个后台开发勉强可以懂)。
- 需要知道Solidity,因为本身就是针对它的一个框架,不然学这个干什么。
- 知道一点点以太坊的基础,不过学Solidity那点就够了。
Truffle有什么用?
Truffle到底为我们带来了什么呢,
- 首先对客户端做了深度集成。开发,测试,部署一行命令都可以搞定。不用再记那么多环境地址,繁重的配置更改,及记住诸多的命令。
- 它提供了一套类似maven或gradle这样的项目构建机制,能自动生成相关目录,默认是基于Web的。当前这个打包机制是自定义的,比较简陋,不与当前流行打包方案兼容。但自已称会弃用,与主流兼容,好在它也支持自定义打包流程。
- 提供了合约抽象接口,可以直接通过var meta = MetaCoin.deployed();拿到合约对象后,在Javascript中直接操作对应的合约函数。原理是使用了基于web3.js封装的Ether Pudding工具包。简化开发流程。
- 提供了控制台,使用框架构建后,可以直接在命令行调用输出结果,可极大方便开发调试。
- 提供了监控合约,配置变化的自动发布,部署流程。不用每个修改后都重走整个流程。
链接: https://fly63.com/nav/1718