以太坊学习(三) -- truffle搭建第一个区块链应用程序

小鱼儿 2022-05-30 01:45 512阅读 0赞

以太坊是区块链开发领域最好的编程平台,而truffle是以太坊(Ethereum)最受欢迎的一个开发框架, 搭建truffle开发 环境,运行第一个区块链程序(Dapp)。

系统信息:

  • 操作系统:Ubuntu 16.04
  • truffle版本:v4.1.0
  • node.js版本:v8.9.4
  • npm版本:5.6.0

ubuntu-16.04下安装truffle

安装truffle依赖环境 NodeJS 访问https://nodejs.org 官方网站下载安装

编码安装 :

下载nodejs源码包 node-v8.9.4.tar.gz

tar xvf node-v8.9.4.tar.gz //解压源码包

./configure //进入解压目录后 执行配置文件

make //编译 需要好久

sudo make install //安装 nodejs

node -v //安装之后 查看版本号

源码编译真的需要好久,所以可以直接下载nodejs的已经编译完的二进制文件 node-v8.9.4-linux-x64.tar.gz

tar xvf node-v8.9.4-linux-x64.tar.gz

解压完之后有如下文件夹

70

把 文件夹 分别拷贝到 /usr/local/目录下

sudo cp * /usr/local/ -rf

这样nodejs便完成了安装。

sudo npm install -g truffle //安装truffle

需要安装Ethereum客户端,来支持JSON RPC API调用 开发环境,推荐使用EthereumJS TestRPC: https://github.com/ethereumjs/testrpc

npm install -g ethereumjs-testrpc //安装 testrpc

新建第一个项目:

70 1

编译项目:

truffle compile

70 2

部署项目:

部署之前先启动TestRPC

testrpc

70 3

truffle migrate

70 4

却出现错误 Error: No network specified. Cannot determine current network.

解决方法: 参考链接 http://blog.csdn.net/wo541075754/article/details/78761513

修改truffle.js 的原始文件

70 5

修改为:

70 6

然后再执行 truffle migrate

70 7

又出现错误: Using network ‘development’.

  1. **Network up to date. **

解决方法: 参考链接 : http://blog.csdn.net/qindong564950620/article/details/68933678

truffle migrate --reset 使用这个命令便可解决以上问题

70 8

启动服务:

truffle serve

70 9

出现如下错误:

Serving static assets in ./build on port 8080…

/usr/local/lib/node_modules/truffle/build/webpack:/~/chokidar/lib/fsevents-handler.js:26

return (new fsevents(path)).on(‘fsevent’, callback).start();

^

TypeError: fsevents is not a constructor

  1. at createFSEventsInstance (/usr/local/lib/node\_modules/truffle/build/webpack:/~/chokidar/lib/fsevents-handler.js:26:1)
  2. at setFSEventsListener (/usr/local/lib/node\_modules/truffle/build/webpack:/~/chokidar/lib/fsevents-handler.js:80:1)
  3. at FSWatcher.FsEventsHandler.\_watchWithFsEvents (/usr/local/lib/node\_modules/truffle/build/webpack:/~/chokidar/lib/fsevents-handler.js:244:1)
  4. at FSWatcher.<anonymous> (/usr/local/lib/node\_modules/truffle/build/webpack:/~/chokidar/lib/fsevents-handler.js:378:1)
  5. at gotStat (fs.js:1775:21)
  6. at FSReqWrap.oncomplete (fs.js:152:21)

解决方法: 参考链接: http://blog.csdn.net/skylark0924/article/details/79307190 不能解决此问题。

最终不能解决 truffle serve 出现的错误 。 如果谁能在解决此问题,请在下面留言,万分感谢!

然后参考链接 https://github.com/trufflesuite/truffle/issues/448 换一种方法启动服务。

70 10

打开此链接 https://github.com/trufflesuite/truffle-init-webpack

mkdir test //重新建一个项目目录test

truffle unbox webpack

truffle develop // 启动一个控制台

compile //编译

migrate //迁移合约 当然这两部也可以不在控制台下完成 可以用 truffle compile 和 truffle migrate 完成。

npm run dev //运行webpack服务器进行前端热重新加载(在开发控制台之外)。

70 11

70 12

70 13

70 14

虽然最终结果还是有问题,不过总算能启动一个服务了,现在还不能解决,等以后学习过之后能解决了再补充吧!

发表评论

表情:
评论列表 (有 0 条评论,512人围观)

还没有评论,来说两句吧...

相关阅读

    相关 区块初探

    最近几年区块链技术特别火,特此翻阅了一些资料,基本都是一些理论知识,最后总的感觉还是天马行空,一片茫然。区块链,到底是什么技术,最后又能做什么呢?只知道其代表项目有比特币,但运