Skip to content

Latest commit

 

History

History
57 lines (43 loc) · 2.76 KB

04.md

File metadata and controls

57 lines (43 loc) · 2.76 KB
title actions requireLogin material
迁移
checkAnswer
hints
true
editor
language startingCode answer
JavaScript
./contracts/2_crypto_zombies.js
var Migrations = artifacts.require("./Migrations.sol"); module.exports = function(deployer) { deployer.deploy(Migrations); };
var CryptoZombies = artifacts.require("./CryptoZombies.sol"); module.exports = function(deployer) { deployer.deploy(CryptoZombies); };

通常在部署到 以太坊 之前,你需要在本地测试智能合约。你可以使用一个名为 Ganache 的工具来实现,这个工具会设置本地 以太坊 网络。

然而,尽管测试非常重要,但它需要一整节课来讲解 —— 所以本节课我们会继续讲解部署。如果你非常想了解有关测试的更多知识,建议你学习我们另一课:使用 Truffle 测试智能合约

要部署到 以太坊,我们将需要创建一个叫 **migration(迁移)**的东西。

迁移是帮助 Truffle 将代码部署到 以太坊 的 JavaScript 文件。注意,truffle init 创建了一个名为 Migrations.sol 的特殊合约,它会跟踪你对代码所做的更改。它的原理是将更改记录保存在链上。 因此,你将永远不会两次部署相同的代码。

创建一个新的迁移

我们将从已经创建好的 truffle init 文件开始 - ./contracts/1_initial_migration.js。来看看里面是什么:

var Migrations = artifacts.require("./Migrations.sol");
module.exports = function(deployer) {
  deployer.deploy(Migrations);
};

很简单,对吧?

首先,脚本告诉 Truffle 我们想要与 Migrations 合约进行交互。

接下来,它会导出一个函数,该函数接受一个名为 deployer 的对象作为参数。这个对象充当你(开发者)和 Truffle 的部署引擎之间的接口。尽管 deployer 提供了大量有用的函数,但本课内我们还不会使用到它们。完成后,如果你想了解更多关于 Truffle 的功能,请查看 Truffle文档

为部署做好一切准备,我们继续创建了一个新文件./contracts/2_crypto_zombies.js,并复制粘贴了 ./contracts/1_initial_migration.js 中的内容。

实战演习:

  1. ./contracts/2_crypto_zombies.js 修改成:
var CryptoZombies = artifacts.require("./CryptoZombies.sol");
module.exports = function(deployer) {
  deployer.deploy(CryptoZombies);
};