第02课:搭建开发环境

第02课:搭建开发环境

在正式开始以太坊智能合约的开发之前,我们需要先做好准备工作,包括相关环境的搭建、IDE 的选择等等,才能让我们的开发之旅得心应手。

操作系统

推荐使用 MacOSLinux 系统。谨慎使用 Windows 来开发智能合约,可能会遇到很多奇葩的问题。本课程所有文章中的运行环境都是基于 MacOS 系统。

IDE 支持 Solidity 语法

工欲善其事,必先利于器。在使用 Solidity 语言 开始编写智能合约之前,需要一款得心应手的 IDE。本篇推荐使用 Atom 或是 IntelliJ IDEA 系列的 WebStorm。下面分别介绍它们如何安装支持 Solidity 语法的插件。

Atom

打开 Preferences - Install 操作面板,在右边的搜索框中输入“solidity”后点击 Packages 按钮进行搜索:

Preferences - Install

install solidity plugins

从图中可以看到,搜索结果页中 linter-solidityautocomplete-solidity 两个插件的下载次数特别多。linter-solidity 插件用于 Solidity 语法高亮,autocomplete-solidity 插件用于 Solidity 语法的自动补全。我们分别点击 install 按钮来安装这两个插件,Atom 会自动下载并安装,重启 Atom 后即可看到效果(友情提示:翻墙后,两个插件下载会更快)。

Solidity语法自动补全

Webstorm

接下来介绍在 Webstorm 中如何安装支持 Solidity 语法高亮的插件。打开 Preferences - Plugins 面板:

Preferences - plugins面板

按图所示,在右边搜索框内输入“solidity”,并点击 Search in repositories。接下来就会看到我们需要用的插件 Intellij-Solidity

Intellij-Solidity

选中 Intellij-Solidity 插件,点击右边面板中的 install 按钮,WebStorm 就开始下载插件并自动安装。重启 WebStorm 之后即生效。需要注意的是,此插件只支持 Solidity 语法高亮,并不支持语法自动补全。

安装 Node

智能合约的开发语言 Solidity 是类似于 Javascript 的一门语言。同时,后面我们需要用到的 Truffle 快速开发框架也是基于 Javascript。所以,我们需要安装好 Node 环境。打开 Node 中文网 并下载相应的安装包:

Node

按提示步骤即可安装成功。本课程所有文章的 Node 环境都是基于如下版本:

$ node -v
v8.9.0
$ npm -v
5.5.1

节点工具 Ganache

上一篇我们有提到 Geth 节点工具。不过 Geth 会一直同步以太坊区块链上的所有数据。目前 fast 同步模式下,数据量已经有近70G;full 同步模式下,已经达到了几百G。在开发过程中,它会消耗大量的磁盘空间及时间来进行同步操作。所以,我们推荐在开发中使用 Ganache。

Ganache只有几百 M 大小,可以快速启动个人以太坊区块链,并可以使用它来运行测试,执行命令、检查状态,同时控制链条的运行方式。

安装

打开 Ganache 官网,并点击 DOWNLOAD 按钮:

下载

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

安装成功

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

Ganache 特征

通过 Ganache,我们可以:

  • 快速查看所有账户的当前状态,包括他们的地址、私钥、交易和余额;
  • 查看 Ganache 内部区块链的日志输出,包括响应和其他重要的调试信息
  • 检查所有块和交易,以获取相关问题的信息

需要注意的是,Ganache每次重启,都会将数据还原到初始状态。

以下是 Ganache 的几个重要面板的截图:

区块面板

交易面板

日志面板

Infura

在智能合约开发完,通过 Ganache 部署成功并进行了初步校验后,我们需要将合约部署到 Ropsten 测试网,及 Mainnet 主网。这里我们推荐使用 Infura

Infura 提供了托管的以太坊节点,不再需要我们消耗大量的磁盘空间和时间来搭建本地节点。同时,它为我们的 DApp 应用提供了以太坊节点支持,我们通过 API 和开发人员工具就可以安全、可靠和可扩展的访问以太坊节点。目前已经为9000多名开发人员和 DApp 应用提供以太坊节点服务。

申请节点访问 URL

我们在浏览器上打开 https://infura.io/signup (需翻墙),填写一些资料后即可免费申请 Infura 的以太坊节点访问 URL:

申请

填写完你的姓名、邮箱地址,并进行了人机校验后,点击 Submit 按钮提交信息,Infura 就为你分配了各个网络的以太坊节点访问 URL(红框处):

enter image description here

需要注意的是,Infura 并不会帮你保存这些信息,你需要手动复制并在本地保存。一旦丢失或忘记,是找不回这些信息的,只能重新申请。

至此,我们的开发环境就准备好了,下一篇文章就正式开始动手编写智能合约了。

上一篇
下一篇
内容互动
写评论
加载更多
评论文章