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

SimpleNameRegis

try

= contract(data);

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

 

发布之前清理

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

$ truffle networks--clean

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

  Truffle包含了一个集成调试器,这样你就可以调试针对你的合约进行的交易。这个调试器看起来有点像GDB这样的命令行调试器。 在区块链上调试交易,与调试传统应用程序(例如,用c++或Javasc ...