Truffle 使用已安装的包
已安装的包将放在项目文件夹中的
installed_contacts目录中,如果目录不存在,ethpm将创建它。这个目录类似于npm的
node_modules目录,通常不应该修改里面的内容。
要使用已经安装的包(合约),可以使用
import或
require导入。
下面的例子,将从
owned包导入
owned.sol合约。
pragma solidity ^0.4.2;
import "owned/owned.sol";
contract MyContract is owned {
// ...
}
类似地,下面的迁移脚本文件将使用
ens包中的
ens.sol合约:
文件:
./migrations/2_deploy_contracts.js
var ENS = artifacts.require("ens/ENS");
var MyContract = artifacts.require("MyContract");
module.exports = function(deployer) {
// Only deploy ENS if there's not already an address already.
// i.e., don't deploy if we're using the canonical ENS address,
// but do deploy it if we're on a test network and ENS doesn't exist.
deployer.deploy(ENS, {overwrite: false}).then(function() {
return deployer.deploy(MyContract, ENS.address);
});
};