Truffle – 使用包

在自己的项目中使用其他包(其他合约)时,通常会有2种场景:

  • 在Solidity编写的合约源代码中使用
  • 在Javascript代码中使用(测试、迁移)

安装

本例将使用 Example Truffle Library 包作为示例,这是一个演示如何使用Truffle创建javascript库的示例项目。为了将其作为依赖项使用,必须首先通过npm在项目中安装它:

$ cd my_project
$ npm install example-truffle-library

注意,上面的后一个命令下载了这个包,并将它放在my_project/node_modules目录中。有关npm使用,可参阅npm教程

合约代码中使用包

要在合约源代码中使用包,可以使用import导入。

import "example-truffle-library/contracts/SimpleNameRegistry.sol";

如果没有指定绝对路径,Truffle将从node_modules目录中查找对应的包。

Javascript中使用包

要在JavaScript代码中与包中的合约进行交互,只需require该包的编译文件(.json文件),然后使用truff-contract模块将其转换为合约抽象:

var contract = require("truffle-contract");
var data = require("example-truffle-library/build/contracts/SimpleNameRegistry.json");
var SimpleNameRegistry = contract(data);

使用合约抽象,就可以与合约进行交互

发布之前清理

当使用默认的开发网络(配置为匹配任何Ethereum客户机(如Ganache或Truffle develop))时,项目中可能会有一些不希望发布的网络构件。在发布包之前,可以运行以下命令来删除任何无关的网络构件:

$ truffle networks --clean

有关更多信息,请参见命令参考



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