主页 > 如何下载imtoken > 以太坊合约自动编译详解1
以太坊合约自动编译详解1
Truffle 是目前最流行的以太坊开发框架。 它使用 JavaScript 编写,支持智能合约的编译、部署和测试。 1、安装Truffle 首先安装Truffle所依赖的NodeJS:
Truffle 是目前最流行的以太坊开发框架。 它使用 JavaScript 编写,支持智能合约的编译、部署和测试。
1.安装松露
首先安装Truffle依赖的NodeJS:
卷曲-sL | 须藤 -E 庆典 -
sudo apt-get install -y nodejs
sudo apt-get 安装 npm
配置npm源为国内源(可选,加快下载速度):
sudo npm config set registry 安装 Truffle
须藤 npm 安装 -g 松露
2.创建项目
如果要创建一个空项目,可以使用以下命令:
松露初始化
在早期版本的 truffle 中,刚刚创建的项目也会包含 metacoin 的示例代码。 新版truffle引入了box的概念,所有示例代码都以box的形式提供。 因此,我们不需要使用truffle init命令,直接通过以下命令下载metacoin的示例代码:
松露拆箱元币
代码结构如下图所示:
主要分为3个部分:
● contracts目录包含Solidity合约代码,其中Migrations.sol是必需的,其他都是你自己写的合约代码。
● migrations目录包含合约部署脚本,其中1_initial_migration.js用于部署Migrations.sol,其他脚本会依次执行。
● 测试代码在test目录下。
3.安装以太坊客户端
必须将智能合约部署到链上进行测试。 您可以选择部署到一些公共测试链,例如 Rinkeby 或 Ropsten。 缺点是部署和测试时间比较长,需要一定的时间来赚取假代币以防out gas。
另一种方式是部署在私有链上。 Truffle 官方推荐使用以下两个客户端:
● 甘那许
● 松露开发
伽纳彻
Ganache这个名字比较陌生,但是它的前身testRPC却家喻户晓。 网上很多老文章都用到了testRPC。 Ganache 的意思是奶油巧克力。 据说很久以前,一个学徒用太多的牛奶制作了巧克力。 师傅刚要骂他以太坊合约怎么玩,结果他尝了尝,发现真的很好吃,于是一种新的巧克力诞生了~ Truffle就是松露巧克力,一般都是以Ganache为核心,再撒上可可粉,所以这两款产品的名字还是很贴切的。
Ganache现在有两个版本,一个是图形界面的版本,下载地址:
这些可执行文件的后缀比较奇怪,对应关系见下图:
● Windows:Ganache-*.appx
● Mac:Ganache-*.dmg
● Linux:Ganache-*.AppImage
另一种是命令行版,下载方法:
sudo npm install -g ganache-cli
具体命令行参数配置见github:
本文使用带有图形界面的 Ganache 版本。
松露开发
这是truffle内置的客户端,基本类似于命令行版的Ganache。 唯一需要注意的是,在truffle develop中执行truffle命令时需要省略前面的“truffle”。 例如“truffle compile”只需要输入“compile”。
4.编译部署合约
Ganache 默认运行在 7545 端口,可以在界面右上角的“设置”中更改。 运行后默认创建10个账户,每个账户余额为100ETH。
要部署到链上,您需要告诉 truffle IP、端口和网络 ID。 修改 truffle.js:
模块.exports = {
网络:{
发展: {
主机:'本地主机',
端口:'7545'以太坊合约怎么玩,
network_id: '*' // 匹配任意网络id
}
}
};
然后使用如下两条命令进行编译部署:
松露编译
松露迁移
5.测试合约
测试代码已经写在metacoin的示例代码中,只需使用以下命令运行即可:
松露测试
进入Ganache查看运行结果:
● 账户选项卡:第一个账户中的ETH略有减少,因为交易消耗了gas
● 区块标签:Ganache是自动挖矿,产生6个新区块,每个区块有一笔交易
● 交易标签:新增6笔交易,可点击查看交易明细