Truffle 开发以太坊DAPP应用

基础环境

  • NodeJ 5.0+
  • Python 3
  • Windows,Linux or Mac OS X

安装

npm install truffle -g

通过上述指令安装truffle,目前truffle的版本在3.0+,需要将本机python升级到python3。通过truffle指令可以验证是否安装成功。

在开发过程中我们一般安装TestRpc来作为测试网络,也可以选择不安装,自己通过geth来启动环境或者truffle 的develop环境。

npm install -g ethereumjs-testrpc

同样我们通过testrpc来验证是否安装成功

如果期间出现各种报错情况,请查询下网络是否能访问github等各种国外网站,具体解决请自行处理,如果是python扩展安装失败,请核对python版本

创建项目

mkdir demo
cd demo
truffle init

通过上述指令生成的初始化的truffle目录结构为

这就是一个最简单的truffle项目目录

-contracts //智能合约存放目录
-migrations //智能合约abi及部署信息存目录
-test //测试文件
-truffle.js //truffle默认配置
-truffle-config.js //Windows下默认配置文件名与truffle冲突,可使用该文件解决

那我们如何生成一个带用户界面的项目呢,在truffle的旧版中可以直接通过init来生成带用户界面的项目,但是在新版中已经移除了,可以通过安装官方实现的基于webpack的box来创建。

truffle unbox webpack

执行成功后我们对比下目录

启动项目

首先我们在另一个环境将以太坊的网络启动,通过testrpc指令就能启动本地网络,启动结果如上图我们验证testrpc安装成功结果。我们另起一个Terminal,进入到项目目录。

truffle compile //编译智能合约
truffle migrate //部署智能合约 在truffle2中使用truffle deploy

在我们启动项目之前我们需要再安装一个插件web3,大家注意,这里有一个很坑的点,web3要求python版本为python2,大家可以先安装web3再安装truffle。

npm install -g web3

安装完成后我们可以开始启动项目了,在这之前我们需要修改项目根目录中的truffle.js文件,将里面的port改为8545,即testrpc监听的端口。

npm run dev

执行结果如下

到此整个项目就启动成功了。在我们访问项目之前,我们需要在chrome浏览器中安装一个扩展MetaMask
然后打开MetaMask创建一个账号,我们需要将网络切换到本地环境,并且导入testrpc提供给我们的账号


然后将账户切换到我们刚导入的账户,此时我们就可以访问localhost:8080了

如果你看到这个界面了,那就说明你的项目已经正常运行起来了,接下来你就可以尽情的浪了

反馈与建议

你可能感兴趣的:(区块链)