前言
以太坊是区块链开发领域最好的编程平台,而Truffle是以太坊(Ethereum)最受欢迎的一个开发框架。truffle是本地的用来编译、部署智能合约的工具。testrpc不同于geth,geth是真正的以太坊环境,testrpc是在本地使用内存模拟的一个以太坊环境,对于开发调试来说,更为方便快捷,当合约在testrpc中测试通过后,再部署到geth中去。
环境
ubuntu 16.0.4LTS
LTS Version: v6.11.2 (includes npm 3.10.10),安装可以参考下面[附]。
Git version 2.7.4
安装truffle
由于安装过程中各种等待甚至报错啥的,本人尝试了多次,都无法直接安装。只好使用淘宝镜像来进行安装。
先执行以下命令:
npm config set registry https://registry.npm.taobao.org
然后在安装(由于3.x的版本总是编译合约时报错,故选择了2.x的版本):
sudo -E npm install truffle@2.0.8 -g
执行完成之后,再执行上面的安装命令。安装完成之后,创建软连接,使之可以全局使用:
sudo ln -s /home/heres/tools/node-v6.11.2-linux-x64/bin/testrpc /usr/local/bin/testrpc
安装testrpc
sudo -E npm install ethereumjs-testrpc -g
运行testrpc可看到testrpc版本号、初始化以太坊地址和监听端口,此处版本号为v4.0.1
搭建一个简单的以太坊应用
mkdir mypro
cd mypro
truffle init
默认会生成一个MetaCoin的demo,可以从这个demo中学习truffle的架构
项目目录结构如图:
编译项目
$ truffle compile
部署之前先启动TestRPC(如上图)
$ testrpc
部署项目
$ truffle migrate
截图:
启动服务
$ truffle serve
启动服务后,可以在浏览器访问项目: http://localhost:8080/ ,网页界面如下:
附:简易安装nodejs和npm的方法
在安装node和npm时,苦不堪言。究其原因,不是其它方式安装不了,更多是其它方式安装的版本乱七八糟,不可控,即使有时候你用啥限制了版本,有时候还不一定有这个版本,同时安装的网速也不敢恭维,特别有时候还是在虚拟机上操作。所以,在这里我们推荐了node、npm在ubuntu下的简易安装。
官方网站:https://nodejs.org/en/
执行
wget https://nodejs.org/download/release/v0.12.10/node-v0.12.10-linux-x86.tar.gz
注:
1.执行上面的wget命令,可能需要安装它:sudo apt-get install wget。
2.当然,如果你认为node的版本有些旧,你可以直接去官网把的压缩包(不是源码包)down下拉,然后执行下面的操作。
下载压缩包(node-v6.11.2-Linux-x64.tar.xz)到执行目录
#解压
$xz -d ***.tar.xz
$tar -xvf ***.tar
进入解压缩目录
cd node-v6.11.2-linux-x64
在bin目录下可以看到两个可执行文件 node 和 npm,可以新建一个tools文件夹,然后将node-v6.11.2-linux-x64放入,然后执行
sudo ln -s /home/ubuntu/tools/node-v6.11.2-linux-x64/bin/node /usr/local/bin/node
sudo ln -s /home/ubuntu/tools/node-v6.11.2-linux-x64/bin/npm /usr/local/bin/npm
查看是否安装成功
heres@heres-virtual-machine:~$ node -v
v6.11.2
heres@heres-virtual-machine:~$ npm -v
3.10.10
说明安装成功。