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);
};


浙ICP备17015664号 浙公网安备 33011002012336号 联系我们 网站地图  
@2019 qikegu.com 版权所有,禁止转载