必威体育Betway必威体育官网
当前位置:首页 > IT技术

以太坊Truffle框架搭建一气呵成无坑版教程

时间:2019-09-04 08:12:11来源:IT技术作者:seo实验室小编阅读:63次「手机版」
 

truffle

      truffle框架搭建教程网上也有好多,但是随着truffle版本的更新,truffle.js改名truffle-config.js、truffle命令升级、truffle与testrpc端口不一致、浏览器钱包插件等问题,导致原有的教程不再适用,在踩过一个又一个的坑后,打算写一篇无坑版本,让广大初学者可以一气呵成搭建完环境。

一、安装Node.js

在https://nodejs.org/en/下载安装包,选择LTS版本下载。

文章时最新版本是8.11.1,安装后在windows命令cmd窗口,输入node -v,能显示node的版本就成功第一步了

二、安装Truffle

truffle是本地的用来编译、部署智能合约工具

在windows命令行窗口输入npm -g install truffle。

没有报错信息就是成功第二步

三、安装Ethereum TestRPC

命令行窗口输入npm install -g ethereumjs-testrpc

安装后再输入testrpc看是否成功启动,testrpc默认是监听8545端口

四 、启动DAPP

第三步启动的testrpc窗口不要关闭,新建立开发目录helloworld,打开一个新的命令窗口。进入到helloword目录。

truffle 初始化

输入truffle unbox webpack执行完后,再输入dir看本地有没有下载到新的文件。网上很多老的教程是truffle init webpack命令,但是truffle新的版本不支持,只能是truffle unbox webpack

编译合约

输入命令truffle compile出现下面的错误,这也是旧的教程的一个坑。

把helloworld目录的truffle.js改名为truffle-config.js,再执行命令。

部署合约

部署智能合约成功的前提就是testrpc已经在运行,输入命令truffle migrate。

启动服务

输入命令npm run dev.

打开浏览器,输入 http://localhost:8080/,出现"Couldn't get any accounts! Make sure yourEthereum client is configured correctly."

原因是chrome浏览器里安装MetaMask-以太坊钱包插件,把插件移除掉或者使用其他浏览器。

移除插件再打开,提示“There was an ERROR fetching your accounts.”。

F12打开开发者工具,js代码是请求testrpc的9545端口。

请求合约的端口9545和testrpc监听端口8545不一致,只要把两者改成一致就行,解决办法以下二选一即可 :

1. 修改合约调用代码。helloworld\app\javascripts\app.js,把window.web3 = new Web3(new Web3.providers.HttpProvider("http://127.0.0.1:9545"));的端口号9545改为8545

2.    testrpc监听端口改为8545。

启动testrpc时用命令行 testrpc –p 9545。

truffle部署合约的端口也改为9545,在truffle-config.js把port参数改为9545。

执行truffle compile、truffle migrate、npm run dev重新编译、部署、启动。

合约调用

testrpc控制台上有十个测试地址,复制一个地址在页面转账。

相关阅读

MGC TOKEN被黑客袭击,几十万用户账户以太坊被盗?

2019年6月12日,由于以太坊公链出现问题,MGC TOKEN几十万用户账户余额内的以太坊被转入相同的两个地址。对此MGC TOKEN官方作出的回

以太坊学习7--Web3j和智能合约

一、Web3j入门 以太坊推出了web3.js的nodejs库,但是对于学Java出身的而言非常的不习惯,在github中寻找到了Java版本的web3j。轻量

简单的JSF框架搭建

步骤1新建dynamic web project,选择configuration,如图所示:步骤阅读2新建之后,显示如下:步骤阅读3创建MyJsfAction.javapackage com.d

Truffle测试框架

Truffle测试框架Truffle 有一个标准的自动化测试框架,让你可以非常方便地测试您的合约.这个框架允许您以两种不同的方式编写简单可

分享到:

栏目导航

推荐阅读

热门阅读