npm 包 truffle-resolver 使用教程

阅读时长 4 分钟读完

前言

在以太坊开发中,一个智能合约往往会继承自其他的合约,这就需要我们实现合约的依赖管理。而 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

纠错
反馈