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 { // ... }
要只使用 ContractTwo, artifacts.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初始化项目时,会自动创建初始迁移合约,及其迁移 ...