前言
在以太坊开发中,一个智能合约往往会继承自其他的合约,这就需要我们实现合约的依赖管理。而 truffle-resolver 就是一个方便管理智能合约依赖的 npm 包,今天我们就来详细讲解一下如何使用 truffle-resolver。
安装
首先,你需要在你的项目中安装 truffle-resolver:
--- ------- ---------------- ------
然后,你需要在你的 truffle.js 配置文件中添加 resolver:
-------------- - - -- --- --------- - -- --- -- ----- - -- --- -- --------- - -- ------------ - -
使用
在安装完 truffle-resolver 并完成配置后,我们就可以愉快地使用它了!
继承合约
首先,我们需要在你要使用合约的地方继承它:
------ -------- ------- ------ ------------------------ -------- ---------- -- --------- - -- --- -
在这个例子中,我们要继承名为 MyLibrary 的合约。
管理依赖
当我们执行 truffle compile 命令时,truffle-resolver 将会帮助我们自动查找依赖的合约,并将其编译到我们的项目中。
你只需要在 truffle.js 中配置 resolver:
-------------- - - -- --- --------- - -- ----------- -- ---------- --------------- ------ ----- -- -- --------------------- ------------------ -------------- -------------------- -------------- -------------------------- -------------------- -- --- ---- ---------- - ----- - -- --- - -- -- --- - -
对于这个例子中的 truffle.js 配置,我们需要在项目的 ./contracts/lib/MyLibrary.sol 中包含以下内容:
------ -------- ------- ------- --------- - -- --- -
这样,我们就完成了依赖管理。
示例代码
下面是一个完整的示例,你可以将其添加到你的项目中并执行 truffle compile 命令进行测试。
truffle.js
-------------- - - --------- - ------------ - ----- ------------ ----- ----- ----------- --- -- -- ----- - ---------- - -------- ----- ----- --- - -- --------- - ------------------ -------------- -------------------- -------------- -------------------------- -------------------- ---------- - ----- - -------- ------- - - - --
./contracts/MyContract.sol
------ -------- ------- ------ ------------------------ -------- ---------- -- --------- - ---- ------ ------ -------- ------------- ----- ------ - ----- - ----- - -------- ---------- ------ ---- ------- ------ - ------ ------ - -
./contracts/lib/MyLibrary.sol
------ -------- ------- ------- --------- - -------- --------- ----- ------ ------- ------ - ------ ----- - -
在完成上述文件的写作和添加后,你只需要执行 truffle compile 命令就可以看到它们被成功编译。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/70329