搭建ganache与truffle比较简单,记录一下。主要是为了后面测试call与delegatecall调用地址做准备。
Ganache(更名前叫做:testrpc)是在本地使用内存模拟的一个以太坊环境,可以快速启动个人以太坊区块链,并可以使用它来运行测试,执行命令、检查状态,同时控制链条的运行方式。通过Ganache我们可以快速查看所有账户的当前状态,包括他们的地址、私钥、交易和余额。查看Ganache内部区块链的日志输出,包括响应和其他重要的调试信息,检查所有块和交易,以获取相关问题的信息。
truffle是一个世界级的开发环境,测试框架,具有以下特点:
内置的智能合约编译,链接,部署和二进制文件的管理;快速开发下的自动合约测试;脚本化的,可扩展的部署与发布框架;部署到不管多少的公网或私网的网络环境管理功能;使用EthPM&NPM提供的包管理,使用ERC190标准;可配的构建流程,支持紧密集成;Truffle环境里支持执行外部的脚本
安装环境
安装比较简单,需要依赖下列编译环境:
sudo apt update
sudo apt upgrade
sudo apt-get install g++ #g++安装,执行命令
sudo apt-get install libssl-dev #libssl-dev安装,执行命令
sudo apt install nodejs npm #nodejs npm安装,执行命令
npm install -g ganache-cli #ganache安装
npm install -g truffle #truffle安装
matamask是浏览器插件(firefox、chrome),不再叙述。安装完成后可以查看各环境:
以太坊环境搭建
连接
命令行输入:
ganache-cli
出现以下结果,说明ganache安装成功,正在监听127.0.0.1:8545端口:
此时新开一窗口,输入以下命令:
mkdir demo #新建文件夹demo
cd demo
truffle init #初始化,会创建默认的文件
ls #查看已创建文件
vim truffle-config.js #修改该文件
可以观察到有如下文件生成:
含义如下:
build/:nodejs运行环境
contracts/: 智能合约存放的目录,默认情况下已经帮你创建 Migrations.sol合约。
migrations/: 存放部署脚本
test/: 存放测试脚本
truffle-config.js: truffle的配置文件
修改配置文件truffle-config.js,将注释去除,如下图所示。因为要与ganache的配置匹配,否则会出现网络连接错误。
编译、部署
在truffle窗口下输入:
truffle compile
truffle migrate #部署
此时,truffle窗口出现:
ganache监听端口同时更新,两窗口信息相吻合:
此时,最基本的合约被部署到以太坊上。
参考资料: