Truffle 使用已安装的包

 

已安装的包将放在项目文件夹中的 installed_contacts目录中,如果目录不存在,ethpm将创建它。这个目录类似于npm的 node_modules目录,通常不应该修改里面的内容。

要使用已经安装的包(合约),可以使用 importrequire导入。

下面的例子,将从 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); }); };

 Ropsten 测试网络以太坊社区的包注册中心目前存在于Ropsten测试网络上。要把包发布到包注册中心,需要配置好Ropsten网络。配置Ropsten网络,我们需要设置好账户地址,连接到以太坊节 ...