Ubuntu Truffle V3.2.1环境配置及合约部署基础

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jerry81333/article/details/70669476

Truffle:

以太坊是区块链开发领域最好的编程平台,而Truffle是以太坊(Ethereum)最受欢迎的一个开发框架。以前写过的go-ethereum并不是主要用于开发的,Truffle才是,但是因为Windows系统出了名的乱,部署起来问题一堆堆的,所以我最后还是选择了Ubuntu。至于为何要写这篇文章,主要是因为3.X版本,相比2.X版本在部署上有了很大的改变,继续延续2.X的部署会遇到各式各样的问题。

环境搭建:

Node.js:

Node是必不可少的,最低版本:6.9.1,因为不知道最新的7.X是否会出别的问题,因此我依旧选用了6.X的版本。

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs

testrpc:

truffle是本地的用来编译、部署智能合约的工具。testrpc不同于geth,geth是真正的以太坊环境,testrpc是在本地使用内存模拟的一个以太坊环境,对于开发调试来说,更为方便快捷,当合约在testrpc中测试通过后,再部署到geth中去。

npm install -g ethereumjs-testrpc

新建第一个项目:

与2.X版本的 truffle init 不同,这里需要使用到webpack,若继续沿用 truffle init,并不是不可行,就是会少一个叫“app”的文件夹,也就是少了前端界面的展示。

mkdir myproject
cd myproject
truffle init webpack



编译合约:

contracts 就是合约存储的目录,默认情况下已经帮你创建好了几个文件。

truffle compile


部署项目:

部署之前先启动TestRPC:

testrpc
会默认创建10个账号以供测试:


1.X版本:truffle deploy
2.X及以上版本:truffle migrate


启动服务:

这里2.X和3.X版本有着很大的不同:

2.X版本:truffle serve
3.X版本:npm run dev
2.X版本截图:


3.X版本截图:


启动服务后,可以在浏览器访问项目,http://localhost:8080/ 或者 http://localhost:8080/index.html 可行的。


常见问题:

1. truffle init webpack 报错,没有webpack:

npm install --save-dev webpack
2.浏览器提示 “Can‘t Get /” 什么的。检查下项目下是否有 app 这个文件夹。


猜你喜欢

转载自blog.csdn.net/jerry81333/article/details/70669476