想要使用Truffle框架来编译、部署智能合约,网上有很多教程。但随着truffle版本的更新,一些问题也随之出现,例如:truffle.js改名为truffle-config.js、truffle命令升级、truffle与testrpc端口不一致、浏览器钱包插件等。这导致旧的教程不再适用,初学者在踩坑后也无从下手。因此,本教程旨在提供一个无坑版的指南,方便广大初学者快速搭建环境。
第一步是安装Node.js。在https://nodejs.org/en/下载LTS版本的安装包,安装后在windows命令中输入node-v,能显示node的版本,则第一步成功。
第二步是安装Truffle。在windows命令行窗口中输入npm-ginstalltruffle,如果没有报错,则第二步成功。
第三步是安装EthereumTestR。在命令行窗口中输入npminstall-gethereumjs-testrpc,安装后输入testrpc,看是否成功启动。testrpc默认监听8545端口。
第四步是启动Dapp。注意不要关闭第三步启动的testrpc窗口,新建一个开发目录helloworld,在helloworld目录下打开一个新的命令窗口。
第五步是初始化Truffle。在命令行中输入truffleunboxwebpack。执行完后,再输入dir,看本地有没有下载到新的文件。注意,truffle新版本不再支持truffleinitwebpack,只能使用truffleunboxwebpack。
第六步是编译合约。如果输入命令trufflecompile出现错误,可能是因为旧的教程中使用的是truffle.js而不是truffle-config.js。所以需要把helloworld目录中的truffle.js改名为truffle-config.js,然后再执行命令。
第七步是部署合约。注意,部署智能合约的前提是testrpc已经在运行。输入命令trufflemigrate即可。
第八步是启动服务。输入命令npmrundev,启动后打开浏览器,在地址栏输入http://localhost:8080/。如果出现"Couldn'tgetanyaccounts!MakesureyourEthereumclientisconfiguredcorrectly."错误,可能是因为在chrome浏览器中安装了MetaMask-以太坊钱包插件。解决方法是移除插件或者使用其他浏览器。如果移除了插件再打开,可能会提示“Therewasanerrorfetchingyouraccounts.”。此时可以打开开发者工具,查看页面的js代码是否请求的是testrpc的9545端口。如果请求的是9545端口,而testrpc监听的是8545端口,可以选择以下两种解决方式:一是修改合约调用代码,将端口号9545改为8545;二是修改testrpc监听端口,将testrpc的端口改为9545,并在truffle-config.js中将port参数改为9545,然后重新执行trufflecompile、trufflemigrate、npmrundev即可。
最后是合约调用。在testrpc控制台上可以找到十个测试地址,选择一个地址进行转账即可。本文旨在分享区块链技术内容,版权归原作者所有,观点仅代表作者本人,绝不代表区块链兄弟赞同其观点或证实其描述。
文中,大家就将从零教你与zkSync合约交互的具体做法,或是这句话,现阶段尚不确定性zkSync的代币总是不是会出现空投物资,实际规范又是啥,因此 大家必须尽可能感受zkSync现阶段适用的全部作用。 ...
MASK发售实施方案 注:MASK现阶段尚未发售且未能任何地方商品流通。 MASK代币公开发行 总金额:8%(1-4天锁单) 初次twiter发售(ITO):3% ...
时下显卡挖矿出现异常火爆,显卡销售市场做到一卡难寻的程度,更有显卡股权溢价早已好几倍多或是有很多矿友限时抢购。究竟什么叫显卡挖矿,显卡都能够挖哪些货币?究竟显卡挖矿能赚钱吗? 大伙儿听闻显...
这篇入门教程将逐一详解非小号APP【发现】网页页面界面的BTC指标数据信息,帮助大家快速抓取市场走势发展趋势! 查看BTC指标的方式:非小号APP-发现-市场销售-BTC指标 指标1-主力军...