以太坊智能合约开发实战篇-构建基础环境(本地版)
安装truffle
truffle
是以太坊智能合约的开发工具,truffle
的基础环境是nodejs
,因此需要在我们首先在系统上下载并安装nodejs
,http://nodejs.cn/download/。
执行下面的命令,如果可以正常输出,则可以判定nodejs
已经安装成功。
node -v
在安装nodejs
的同时将安装npm
。npm
是nodejs
世界中的包管理器,管理着nodejs
世界中的大部分开源包。例如,当我们执行下面的命令时,可以安装truffle
。
npm install -g truffle
默认情况下,npm
需要从国外的服务器中下载包,速度常常会非常慢。因此,我建议执行下面的指令,将npm
镜像服务器配置为阿里云来提高包的下载速度。
npm config set registry https://registry.npm.taobao.org --global
当我们将镜像资源配置好以后,我们可以通过下面这个命令来进行查询到底是否成功配置。
npm config get registry
下面我们正式执行安装命令来安装truffle
。
npm install -g truffle
如果安装过程中遇到下面这个问题,说明当前系统没有安装python
或者没有配置python
的环境路径。
可以通过官网去下载python,https://www.python.org/downloads/,由于官网比较慢,推荐一个华为镜像中的下载链接,https://mirrors.huaweicloud.com/python/,大家可以根据当前的时间,下载最新或者次新的版本,我下载的版本是python-3.10.0a2.exe
。
在安装的时候,注意勾选将Python的执行路径添加到环境变量,如下图所示。
安装完成后,可以通过下面的命令来判断python是否已经安装成功:
python --version
# Python 3.10.0a2
重新执行npm install truffle -g
来安装truffle
,并通过下面的命令来判断到底是否整的安装成功。
truffle version
# Truffle v5.4.22 (core: 5.4.22)
# Solidity v0.5.16 (solc-js)
# Node v10.24.1
# Web3.js v1.5.3
使用下面的这三条命令来初始化项目,前两条创建一个空的文件夹,后一条来初始化truffle
项目。
$ mkdir metacoin
$ cd metacoin
$ truffle init
Starting init...
================
> Copying project files to D:\Program Files\metacoin
Init successful, sweet!
Try our scaffold commands to get started:
$ truffle create contract YourContractName # scaffold a contract
$ truffle create test YourTestName # scaffold a test
http://trufflesuite.com/docs
项目初始化完成后,我们可以看到如下图所示的目录:
下面,我们创建一个合约和针对这个合约的测试
$ truffle create contract Metacoin
$ truffle create test Metacoin
此时,再来查看目录结构,新增了两个文件,Metaconin.sol
表示的就是合约文件、metacoin_test.js
表示的就是合约的测试文件:
安装Ganache
Ganache用来模拟以太坊网络,运行在本地,本地开发的智能合约可以直接在本地运行Ganache模拟出来的以太坊网络中执行,方便程序员对智能合约进行调试。
我们登录网站:http://trufflesuite.com/ganache/,下载一个Windows版本模拟器。
安装并运行该模拟器,正常启动后将立即创建一个虚拟的以太坊网络,并随机创建10个虚拟的以太坊账户。
有几个点需要注意:
-
模拟器创建的网络和监听的端口为
http://127.0.0.1:7545
-
网络ID为
5777
-
列表中每行显示的内容为:账户地址,账户余额,账户发生的交易次数,账户索引和最重要的账户私钥,也就是每行最后一列显示的小钥匙,点击小钥匙即可看到每个账户的私钥。
上面说到的内容,将在后面用到,到时候会对这些内容有更加深刻的理解,现在不清楚也没关系。
安装VScode
可以通过官网去下载VScode,https://code.visualstudio.com/,该软件是微软开发的通用的代码编辑器,安装方式比较简单,在这里就不再意义描述。
如果单纯使用原生的VScode
,你会发现这个编辑器对以太坊智能合约官方语言Solidity
支持不到位,而且全部按钮均为英文,不方便我们使用。所以,我们要给原生的VScode
安装一些插件来解决上面提到的问题。
在打开的界面中,点击如图所示的应用扩展按钮。
下图是我安装的一些插件,各位读者可以按照自己的喜好来安装,注意,标红的solidity
插件必须安装。
这样,通过上述三个步骤,我们就已经将以太坊的开发环境搭建完成了,下面我们将进入以太坊的正式开发。