为了账号安全,请及时绑定邮箱和手机立即绑定

区块链教程—以太坊(二):创建第一个区块链应用

标签:
Linux 云计算

环境

操作系统:WIN7
NodeJS:5.0+版本

前言

对于以太坊的开发,主要分三块:客户端的开发、智能合约的开发、底层开发。一般我们涉及的是智能合约和客户端的开发。客户端的开发可以使用NodeJS编程语言或者上篇文章提到的web3.js,智能合约的开发使用Solidity编程语言。

本文主要介绍如何使用Truffle框架开发一个以太坊应用。Truffle是一个开发以太坊客户端和智能合约的框架,包括对NodeJS和Solidity的整合,轻松实现对以太坊客户端的调用。

对于开发人员来说,以太坊客户端一般使用EthereumJS TestRPC,而不是直接连到生产环境(那样比较慢)。TestRPC是基于本机内存的客户端,速度快,适合开发使用。所以我们还需要安装TestRPC客户端软件。

Truffle网站:http://truffleframework.com/docs/
Solidity网站:https://solidity.readthedocs.io/en/latest/solidity-by-example.html

一、软件安装
需要使用npm命令。npm包的安装最好安装在全局环境中,这样就不需要重新配置环境变量。(我的个人习惯是在nodejs安装目录中执行npm命令)

1.1 安装Ethereum TestRPC

》 npm install -g ethereumjs-testrpc
图片描述没有Error就表示安装成功了!(比较简单)

1.2 安装Truffle

》npm install -g truffle
图片描述安装成功之后,使用truffle -v 查看版本号图片描述(注:truffle的版本更新比较快)

二、创建和初始化应用
软件已经安装完成,可以创建一个以太坊应用了。官方提供了一个metacoin项目,包括了JS代码和合约代码。我们可以下载下来参考。

2.1 创建应用

先创建一个目录(工作空间),比如:D://workspaceMetaCoin

CMD中下载demo:
》cd D://workspaceMetaCoin
》mkdir metacoin
》cd metacoin
》truffle unbox metacoin

如果想自己创建,这样操作:

》cd D://workspaceMetaCoin
》mkdir mymetacoin
》truffle init

无论是下载demo还是自己创建,应用的目录结构都是这样的:

图片描述build:编译完成之后生成的js文件
contracts:智能合约文件
migrations:部署用到的脚本
test : 测试文件
truffle.js : 配置文件,配置文件的内容参考文件中提供的链接,直接拷贝替换即可!
(truffle 在 2.1.1 之前,会有web应用app目录;)

2.2 编译应用

编译应用,主要编译智能合约代码

》truffle.cmd compile
编译智能合约,变成可以执行的js,放到build中。
这里要注意的是,Windows必须使用truffle.cmd (Linux 和 MacOS可以使用命令 truffle compile)

2.3 部署项目和运行

启动两个终端:一个启动TestRPC,另外一个部署和运行合约。

终端1
》testrpc //启动testrpc
终端2
》truffle.cmd migrate //truffle的部署
》truffle.cmd test //测试转账
图片描述终端二中的交易信息,在终端一的log中可以看到!

后记

按照文章操作,只要仔细一些,应该是没有问题的。对于JS和.sol合约的代码,在后面的教程中再给大家详细解读!

遇到的问题

1、编译的时候如果truffle.js为空

参考:http://truffleframework.com/docs/advanced/configuration
拷贝进去即可!

2、如果遇到这个错误:typeerror fsevents is not a constructor truffle windows

参考:https://github.com/trufflesuite/truffle/issues/734
修改truffle编译后的文件:
node_modules/truffle/build/cli.bundled.js
图片描述

点击查看更多内容
10人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消