02.28 JAVA实战以太坊智能合约30天学习简册(八)

1.25 什么是Truffle

Truffle是一套针对Solidity语言的开发框架,它提供了开发环境、测试框架和资产管道。适合初期的开发者学习。Truffle框架搭建的教程网上也有好多,但是随着truffle版本的更新、truffle.js改名truffle-config.js、truffle命令升级、truffle与testrpc端口不一致、浏览器钱包插件等问题,大家在网上搜索教程时,实际上很难找到一版最新可用的,所以,作者在踩过一个又一个的坑后,有了这一版基于Windows的安装配置说明,让广大初学者可以一气呵成搭建完环境。

1) 安装Node.js。

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

JAVA实战以太坊智能合约30天学习简册(八)

下载文件是:node-v10.16.0-x64.msi。目前最新稳定版本是10.16.0,安装后在windows命令cmd窗口,输入node -v,能显示node的版本就代表安装成功。不要装在C:\\Program Files 下,建议安装到其他盘符根目录下。

2)安装Truffle

在windows命令行窗口输入npm -g install truffle。

JAVA实战以太坊智能合约30天学习简册(八)

没有报错信息truffle -v查看版本号,就表示安装Truffle成功。

1.26 什么是Ganache

提到Gahache,可能很多人不知道,但是提起其前身Ethereum TestRPC,大家就都知道了。以太坊节点也叫以太坊客户端。智能合约必须部署到以太坊节点上来运行。以太坊节点有Gahache虚拟节点、Geth节点、以太坊测试节点(Ropsten、kovan、Rinkeby)、以太坊主网(Main Ethereum Network)。

开发过程中需要不断的修改代码和测试,需要得到及时的反馈,所以官方推荐使用Gahache客户端。

Ganache是一个完整的在内存中的区块链,在执行交易时是实时返回,不用等到出块时间,可以快速验证代码。它目前有命令行版本和界面版。

我们使用界面安装版本,便于查看数据。

JAVA实战以太坊智能合约30天学习简册(八)

下载完后,直接按提示即可以安装成功。打开后的界面如图所示:

JAVA实战以太坊智能合约30天学习简册(八)

可以看到 ACCOUNTS 面板里已经生成了10个账户可用。每个账户里都有100枚ETH。

1.27 什么是node.js

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型。

Node 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。

Node是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。

1.28 什么是Gradle

在代码世界中有三大构建工具,ant、Maven和Gradle。现在的状况是maven和gradle并存,gradle使用的越来越广泛。Maven使用基于XML的配置,Gradle采用了领域特定语言Groovy的配置。

Gradle就是工程的管理,帮我们做了依赖、打包、部署、发布、各种渠道的差异管理等工作。

Gradle的主要优势有两点,其一是简洁,基于Groovy的脚本更加紧凑。其二是灵活,各种在Maven中难以下手的事情,在Gradle就是小菜一碟,比如修改现有的构建生命周期,几行配置就完成了,同样的事情,在Maven中你必须编写一个插件,那对于一个刚入门的用户来说,没个一两天几乎是不可能完成的任务。

所以,gradle相比于maven有很打的灵活性,目前gradle的使用者越来越多。而由于maven之前处于主流,并且在某些方面maven较gradle还有一些优点,所以maven和gradle并存。在github上大多数优秀的开源项目会同时提供maven和gradle两种添加依赖的方式。


JAVA实战以太坊智能合约30天学习简册(八)


分享到:


相關文章: