美文网首页
搭建Truffle

搭建Truffle

作者: Clown95 | 来源:发表于2018-11-01 22:17 被阅读12次

title: 以太坊环境搭建-Truffle安装
tags: Truffle


Truffle是目前最流行的以太坊开发框架,采用JavaScript编写,支持智能合约的编译、部署和测试。

安装依赖环境

安装truffle之前我们得先安装 Nodejs,git ,python2.7 环境。本文所有操作是基于linux和Unix系统。

注意:如果你跟我一样是使用MAC系统,建议安装homebrew,然后通过homebrew安装依赖环境,homebrew不得不说是mac上的一个神器。具体方法请参考homebrew的文档:http://brew.sh/

安装git

使用命令安装git :

 sudo apt-get install git

安装完成后命令行输入git,出现一些git的命令表示安装成功。因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。
命令行输入:
git config --global user.name "YourName" git config --global user.email"email@example.com"

安装python

1、下载源码

cd /usr/local/src/
wget https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz

2、解压源码

tar zxf Python-2.7.13.tgz //解压

3、编译

cd Python-2.7.13       // 进入解压目录
./configure
make && make install //编译

4、检查安装
使用python --version 检查是否成功安装

注意:Linux上安装Node.js需要安装Python 2.6 或 2.7 ,不建议安装Python 3.0以上版本。

安装nodejs

1、下载源码

cd /usr/local/src/
wget http://nodejs.org/dist/v0.10.24/node-
v0.10.24.tar.gz

2、解压源码

tar zxvf node-v0.10.24.tar.gz

3、 编译安装

cd node-v0.10.24
./configure --prefix=/usr/local/node/0.10.24
make
make install

4、检查安装
通过node -v 检查是否 成功安装

nodejs安装文档 :https://www.runoob.com/nodejs/nodejs-install-setup.html

以太坊环境搭建

安装Truffle

1.配置npm源为国内源(可选,可加快下载速度):
sudo npm config set registry http://registry.npm.taobao.org

2.安装Truffle
sudo npm install -g truffle

3.检查安装
truffle version

安装以太坊客户端

智能合约必须要部署到链上进行测试。可以选择部署到一些公共的测试链比如Rinkeby或者Ropsten上,缺点是部署和测试时间比较长,而且需要花费一定的时间赚取假代币防止out of gas。
还有一种方式就是部署到私链上,Truffle官方推荐使用以下两种客户端:

  • Ganache
  • truffle develop

Ganache这个名字比较陌生,但是它的前身testRPC却是大名鼎鼎,网上的很多老文章里都是用testRPC。Ganache是奶油巧克力的意思,据说是很久之前有个学徒做巧克力的放多了牛奶,师傅正要骂他,结果一尝发现味道还真不错,于是一种新的巧克力就诞生了~ Truffle是松露巧克力,一般是以Ganache为核,然后上面撒上可可粉,所以这两个产品的名字还是很贴切的。

Ganache

Ganache现在有两个版本,一个是带图形界面的版本,下载地址:
https://github.com/trufflesuite/ganache/releases
还有一个就是命令行版本了,下载方法:
sudo npm install -g ganache-cli
具体的命令行参数配置参见github:
https://github.com/trufflesuite/ganache-cli
我们采用带图形界面的Ganache版本。

image

注意:虽然两个版本是本质上是同一个软件,但是两个软件的端口不一样!!!!所以在下面配置工程的时候要注意。

truffle develop

这个是truffle内置的客户端,跟命令行版本的Ganache基本类似。唯一要注意的是在truffle develop里执行truffle命令的时候需要省略前面的“truffle”,比如“truffle compile”只需要敲“compile”就可以了。

创建项目

新建项目

1.首先我们新建一个文件夹,我这里是truffle
2.然后cd /Users/clown/Documents/truffle 这个根据你自己的文件和路径来
3.输入truffle init 创建一个新工程
4.得到以下文件:

image

主要分为3个部分:

  • contracts目录中包含Solidity合约代码,其中Migrations.sol是必须的,其他就是你自己写的合约代码了。
  • migrations目录中包含合约部署脚本,其中1_initial_migration.js就是用来部署Migrations.sol的,其他的脚本会按照顺序依次执行。
  • test目录中就是测试代码了。

编译和部署合约

Ganachet图形管理工具,默认运行在7545端口,可以在界面右上方的“设置”里进行更改。运行后默认创建10个账号,每个账号里有100ETH的余额。

1.修改truffle.js
要部署到链上,需要把IP、端口、网络ID告诉truffle。修改truffle.js:

module.exports = {
    networks: {
        development: {
            host: 'localhost',
            port: '7545',
            network_id: '*' // Match any network id
        }
    }
};

注意 :再次提醒如果使用的是图形版 设置 port: '7545' ,如果使用命令行版 port: '8545' 。

2.编译

truffle compile

3.部署

truffle migrate

测试合约

metacoin的示例代码里已经把测试代码写好了,直接用下面的命令运行就可以了:
truffle test
去Ganache上看一下运行结果:

image
● Accounts标签:第一个账户里ETH略有减少,因为交易消耗了gas
● Blocks标签:Ganache是自动挖矿,生成了6个新区块,每个区块里有一个交易
● Transactions标签:有6笔新交易,可以点开看交易详情
● Logs标签:显示交易和挖矿日志

相关文章

网友评论

      本文标题:搭建Truffle

      本文链接:https://www.haomeiwen.com/subject/gfpfxqtx.html