以太坊浏览器插件(以太坊Truffle框架搭建一气呵成无坑版教程)
区块链兄弟社区,区块链技术专业问答先行者,中国区块链技术爱好者聚集地
作者:天空的蜗牛
来源:CSDN
原文链接:https://blog.csdn.net/phil_code/article/details/79769247
著权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
本文约1600字+,阅读(观看)需要15分钟
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的版本就成功第一步
ruffle是本地的用来编译、部署智能合约的工具。
在windows命令行窗口输入npm -g install truffle。
没有报错信息就是成功第二步
安装Ethereum TestR
命令行窗口输入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.修改合约调用代码。helloworldappjavascriptsapp.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控制台上有十个测试地址,复制一个地址在页面转账。
文章发布只为分享区块链技术内容,版权归原作者所有,观点仅代表作者本人,绝不代表区块链兄弟赞同其观点或证实其描述。
推荐文章
- 以太坊框架开发(以太坊架构)
区块链兄弟会,区块链技术问答的先驱,中国区块链技术爱好者的聚集地 作者:天空中的蜗牛资料来源:CSDN原始链接:https://blog.csdn.net/phil_code/article/details/79769247版权属于作者。...
- 以太坊区块链开发(区块链开发-以太坊开发框架Truffle环境搭建)
Truffle框架http://truffleframework.com/docs/Nodehttps://nodejs.org/en/download/Ganachehttps://trufflesuite.com/ganache步骤一 ...
- 以太坊入门教程(可能是目前为止最全的以太坊开发入门指南)
以太坊技术开发从入门到精通,干货篇。目标读者:专业的程序员; 想深入了解以太坊/区块链及其生态的读者;如果你已经有一定的以太坊技术基础,只想研究一些落地项目,可以直接跳到后面的项目模块。预备知识:了解区块链的概念以及比特币的运行机制。如果不...