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

祁聪 2021/6/28 15:20:13

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

环境

操作系统: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
图片描述

随时随地学软件编程-关注百度小程序和微信小程序
关于找一找教程网

本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。
本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。
[区块链教程—以太坊(二):创建第一个区块链应用]http://www.zyiz.net/tech/detail-192794.html

上一篇:区块链就是炒币? 业内:对区块链理解或已跑偏

下一篇:以太坊测试网络区别以及获取测试币方法

赞(0)
关注微信小程序
程序员编程王-随时随地学编程

扫描二维码或查找【程序员编程王】

可以随时随地学编程啦!

技术文章导航 更多>
扫一扫关注最新编程教程