从0开始配置智能合约测试环境
0x00 文章介绍
- 智能合约测试环境搭建
- 智能合约开发环境搭建
- MetaMask插件安装
- 开发环境测试
0x01 智能合约测试环境搭建
一,智能合约开发依赖环境基本分析
node.js与npm
node.js是一个基于Chrome JavaScript运行时建立的平台,用于方便地搭建响应速度快、易于扩展的网络应用,其实就是一个Javascript运行环境。npm其实是Node.js的包管理工具。
node.js和npm是运行Ganache的前置条件, 运行Ganache的最低版本要求是node.js为v12.0.0,npm为v6.12.0, node.js中已经内置了 npm。
truffle
truffle是基于以太坊solidity编程语言的开发框架,是以太坊的开发环境,测试框架和资产管道,简化了去中心化应用的构建和管理流程。本身是采用Javascript编写,支持智能合约的编译、部署和测试。
Ganache
Ganache是用来创建一个虚拟的以太坊区块链的测试客户端,并生成一些我们将在开发过程中用到的虚拟账号,它是基于本地内存执行的,拥有良好的界面,它能对交易立即执行,迅速的创建和调用自己编写的智能合约,提升测试效率。
二,搭建只能合约开发依赖环境
配置系统
更新系统内核、软件以及rpm包并利用apt命令安装基础工具,以满足配置开发环境的依赖。
git:是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目,帮助管理 Linux 内核开发
bzip2:是一个无损压缩软件,能够高效的完成文件数据的压缩
build-essential: C++语言编译器
wget:是一个下载文件的工具
make:是gcc的编译器
vim:是一个功能强大的全屏幕文本编辑器
加载命令时如遇见询问Y/N,输入"Y"并回车将继续加载命令。
1 | root@f50ddd87208d:~# sudo apt update |
安装node.js与npm
利用apt命令安装npm,并查看npm和node.js的版本号。
1 | root@f50ddd87208d:~# sudo apt install npm |
安装truffle
1 | root@f50ddd87208d:~# sudo npm install -g truffle |
安装Ganache
进入桌面路径,下载Ganache,修改软件的读取权限,即可使用命令行直接启动Ganache。也可以在桌面双击点击 打开Ganache。
1 | root@f50ddd87208d:~# cd /root/Desktop |
退出文件夹:
1 | root@f50ddd87208d:~/Desktop# cd ~ |
0x02 智能合约开发环境搭建
一、智能合约开发环境基本分析
Go Ethereum
Go Ethereum又名geth, 是以太坊的官方客户端,它是用Go编程语言编写的,是以太坊协议的三种实现之一,它是一个命令行工具,提供很多命令和选项,可以连接运行以太坊节点、创建和管理账户、发送交易、挖矿、部署智能合约等。
Go环境搭建
1 | sudo add-apt-repository ppa:longsleep/golang-backports |
搭建geth环境
安装geth:
1 | root@f50ddd87208d:~/Downloads# cd ~ |
在配置文件的末尾添加以下内容:
1 | export PATH=$PATH:/usr/local/bin/go-ethereum/build/bin |
输入以下命令使geth环境生效,当重启容器出现环境不生效,需要再次输入以下命令:
1 | root@f50ddd87208d:~# source /etc/profile |
验证环境是否生效:
1 | root@f50ddd87208d:~# geth version |
0x03 MetaMask插件安装
直接点击浏览器插件搜索安装即可!!!

0x04 开发环境测试
1 | // SPDX-License-Identifier: GPL-3.0 |
(1)MetaMask链接Ganache
打开Ganache,将MetaMask链接到Ganache网络。
2)Remix链接MetaMask
打开RemixIDE,即可尝试部署智能合约。如图所示,编译成功后,切换到部署的tab下,将Environment切换成Injected Web3,连接到MetaMask。当前MetaMask连接的是Ganache,账户有以太币。选择账户后,点击下一步再点击连接即链接成功。
环境准备好之后,点击Deploy进行部署,这时会弹出来一个交易确认框,因为在创建合约时,需要付费,这时会提示用户确认价格,点击确认即可。
创建合约交易,将由Remix IDE 自动创建交易并发送到网络让矿工打包。矿工打包完成之后,IDE会显示创建的合约信息,包含合约地址及合约函数。
调用合约函数在Remix IDE中只需输入信息点击函数名即可进行调用。
