Truffle 迁移脚本文件

一个简单的迁移文件看起来是这样的:

文件名: 4_example_migration.js

var

MyContract = artifacts.

require

(

"MyContract"

); module.

exports = function

(deployer) { // 部署步骤 deployer.

deploy

(MyContract); };

注意,文件名以数字编号作为前缀,并以描述作为后缀。为了记录迁移是否成功运行,需要使用数字编号前缀。后缀是为了好认和好理解。

artifacts.require()

在迁移文件开头,通过 artifacts.require()方法告诉Truffle,希望与哪些合约进行交互。此方法与Node的 require类似,它返回一个合约抽象,后续代码可以使用该抽象。方法参数是合约名称,不要传递源文件的名称,因为文件可以包含多个合约。

例如,在同一个源文件中包含2个合约:

文件名: ./contracts/Contracts.sol

contract ContractOne {
  // ...
}
contract ContractTwo {
  // ...
}

要只使用 ContractTwoartifacts.require()语句如下所示:

var

ContractTwo = artifacts.

require

(

"ContractTwo"

);

要同时使用这2个合约:

var

ContractOne = artifacts.

require

(

"ContractOne"

);

var

ContractTwo = artifacts.

require

(

"ContractTwo"

);

module.exports

所有迁移脚本都必须通过 module.exports导出一个函数,该函数接受 deployer对象作为其第一个参数。 deployer对象是执行部署任务的主接口。

module.

exports = function

(deployer) { deployer.

deploy

(ContractOne); };

下一章:Truffle 初始迁移合约

Truffle 初始迁移合约(Migrations.sol):  要使用Truffle迁移功能,必须首先部署一个初始迁移合约,此合约包含特定接口。 使用 truffle init初始化项目时,会自动创建初始迁移合约,及其迁移 ...