以太坊入门-Truffle框架搭建

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


一、安装Node.js

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

安装后在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出现下面的错误,这也是旧的教程的一个坑。

 

部署合约

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

没有编译信息,猜测原因没有安装solidity

错误描述:

​ truffle项目根目录执行truffle compile时,报错'module'未定义。

错误原因:

​ OS运行了truffle.js而非truffle.cmd。

解决方案:

​ 1. 去truffle根目录修改truffle.cmd的名称,编译时输入修改名称+compile;

​ 2. 或者输入truffle.cmd compile

E:\personel\eth\truffeth\helloworld>truffle.cmd migrate --reset
Using network 'development'.

Running migration: 1_initial_migration.js
  Deploying Migrations...
  ... 0xa1023cefdd6abe2f83725b2221943ef226f8358db48c2f44efcc0c2b0ebb5c32
  Migrations: 0x494ac8cdcee6e98e5d3612edde449cdc30743fe8
Saving successful migration to network...
  ... 0xb4847d1df32c793ba7c08efb756ad066b067b3879bca85902f5184686dca50a7
Saving artifacts...
C:\Users\wangxb147\AppData\Roaming\npm\node_modules\truffle\build\webpack:\~\cho
kidar\lib\fsevents-handler.js:26
  return (new fsevents(path)).on('fsevent', callback).start();
^
TypeError: fsevents is not a constructor
    at createFSEventsInstance (C:\Users\wangxb147\AppData\Roaming\npm\node_modul
es\truffle\build\webpack:\~\chokidar\lib\fsevents-handler.js:26:1)
    at setFSEventsListener (C:\Users\wangxb147\AppData\Roaming\npm\node_modules\
truffle\build\webpack:\~\chokidar\lib\fsevents-handler.js:80:1)
    at FSWatcher.FsEventsHandler._watchWithFsEvents (C:\Users\wangxb147\AppData\
Roaming\npm\node_modules\truffle\build\webpack:\~\chokidar\lib\fsevents-handler.
js:244:1)
    at FSWatcher.<anonymous> (C:\Users\wangxb147\AppData\Roaming\npm\node_module
s\truffle\build\webpack:\~\chokidar\lib\fsevents-handler.js:378:1)
    at gotStat (fs.js:1775:21)
    at FSReqWrap.oncomplete (fs.js:152:21)

无坑版***

环境版本

初始化

启动develop模式

使用truffle.cmd的命令,否则会报错

进入控制台执行

另起窗口启动服务

输入命令npm run dev.


打开浏览器,输入 http://localhost:8080/


网上有些方法说修改

window.web3 = new Web3(new Web3.providers.HttpProvider('http://127.0.0.1:9545'))

将9545修改为8545后会出现 META 错误

合约调用

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

猜你喜欢

转载自blog.csdn.net/wxb880114/article/details/82684047