区块链开发学习第四章:Truffle安装使用

一、Truffle简介

Truffle是一个世界级的开发环境,测试框架,以太坊的资源管理通道,致力于让以太坊上的开发变得简单,Truffle有以下:

  • 内置的智能合约编译,链接,部署和二进制文件的管理。
  • 快速开发下的自动合约测试。
  • 脚本化的,可扩展的部署与发布框架。
  • 部署到不管多少的公网或私网的网络环境管理功能
  • 使用EthPM&NPM提供的包管理,使用ERC190标准。
  • 与合约直接通信的直接交互控制台(写完合约就可以命令行里验证了)。
  • 可配的构建流程,支持紧密集成。
  • 在Truffle环境里支持执行外部的脚本。 

二、Truffle安装

##我是MacOS,直接执行命令
npm install -g truffle

开始执行的时候,卡在了rollbackFailedOptional命令,是因为npm的网络问题导致的,改用淘宝镜像cnpm执行OK(至于怎么使用cnpm就不说了),安装好后,执行truffle -v查看版本与基本命令

 

三、初始化Truffle项目

新建一个文件夹first-DApp,进入文件夹后执行

truffle init

执行后会自动生成一个空的项目工程。新生成的Truffle项目中包含几个文件夹和配置文件,其中:

contracts文件夹用来存放智能合约;

migrations文件夹用来实现部署智能合约的功能;

test文件夹用来存放合约的测试文件;

truffle-config.js是默认配置文件;

 

 

 

四、编译

truffle compile

 

 

执行truffle compile命令会编译智能合约文件,编译成功后会在当前目录的build文件夹下生成新的智能合约二进制文件

 

 五、部署

truffle deploy

先修改truffle-config.js文件,networks里面增加development,配置本地私有链信息,network_id为*表示不指定区块链网络id

 

 

直接运行出错如下:

 

 原因是没有解锁账户,进入私有链上unlockAccount解锁之后再次运行如下:

 

 一直停留在这里,同时seconds等待时间一直增长,原因是没有开启挖矿,执行miner.start(),出现如下信息,部署成功:

 

六、测试命令

truffle test

执行truffle test命令会运行test文件夹下的所有测试用例,该命令将会自动识别以.js、.es、.es6、.jsx和.sol为扩展名的文件,其他扩展名的文件将被忽略

 

七、打开终端

truffle console

执行truffle console命令可以打开一个交互式终端界面,方便地进行智能合约的调用和调试

 

如果有学习计划的童鞋,可以加我QQ一起交流:

 

posted @ 2021-11-09 22:30  请叫我胖子  阅读(721)  评论(0编辑  收藏  举报