npm 包 @gnosis.pm/pm-contracts 使用教程

阅读时长 9 分钟读完

介绍

npm 包 @gnosis.pm/pm-contracts 是 Gnosis 开源项目的一部分,提供了一系列智能合约的实现,例如交易所、预测市场、多重签名钱包等。这些合约可用于搭建去中心化应用 (dapp),具有安全性高、执行信任无需第三方、代码公开透明等特性。

本文将介绍如何使用 @gnosis.pm/pm-contracts 包来创建自己的 dapp,包括安装、使用和调试。

安装

@gnosis.pm/pm-contracts 包可以通过 npm 安装:

使用

pm-contracts 包提供了多个合约的实现。你可以根据需要选择其中一个或多个合约进行使用。这里以交易所合约为例。

实例

下面是一个完整的示例,详细展示如何使用 pm-contracts 包搭建交易所合约。

创建文件 index.js

-- -------------------- ---- -------
----- ---- - ---------------
----- - ---------- -------- - - ----------------------------------

-- --------
----- ------ - -----------------------
----- ------------ - --- -----------------------------------
----- ---- - --- ------------------

-- ------- ---
----- ----------- - ---------------------------------------

-- -- ----- ---- -----
----- ----- - ------------- --------

-- ---------
----- --------------- - --------------------------------------------
----- -------- - --- --------------------- ----------------

-- ----
----- --------- - -------------------------------------------- -- -- ----- --
----- ---------- - -- - ----- -- -- ----- --
----- -------- - -------------------------------------------- -- -- ----- --
----- --------- - - - ----- -- -- ----- --
----- ---------- - --------------------- - ----- - -- - -- - -- -- ------

-- ----
----- ----------------- - -- -- -- ----- ----
----- ---------------- - -- -- -- ----- ----
----- ---- - ------------------------ - -- -- ---
----- --------- - --------------------
  ----------
  -----------
  ---------
  ----------
  -----------
  -----
  ------------------
  -----------------
--

-- ----
----- ------------- - --------------------------------------------
------------------------------- - ----- ------------- --
  -------------- -- -
    --------------------
  --
  ------------ -- -
    -----------------
  --
展开代码

在命令行中运行:

调试

开发过程中需要调试合约代码,可以使用 Hardhat 提供的 @nomiclabs/hardhat-ethers@nomiclabs/hardhat-waffle 包模拟合约环境。

  1. 安装 Hardhat。Hardhat 是一个以太坊开发环境,提供了多个功能,例如编译合约、使用测试框架等。

  2. 安装 @nomiclabs/hardhat-ethers@nomiclabs/hardhat-waffle

  3. 创建 hardhat.config.js 文件。

    -- -------------------- ---- -------
    -------------- - -
        --------------- ----------
        --------- -
            -------- ---
        --
        --------- -
            -------- ---------
            --------- -
                ---------- -
                    -------- -----
                    ----- ----
                -
            -
        -
    --
    展开代码
  4. 编写测试代码。

    -- -------------------- ---- -------
    ----- - ---------- ------ - - -------------------
    
    ----- ----------- - -------------------------------------------------
    
    -------------------------- -------- -- -
        --- ---------
        ---------------- -------- -- -
            ------- ----- - ----- --------------------
            ----- -------- - ----- --------------------------------------------
            -------- - ----- ------------------
            ----- --------------------
        ---
    
        ----------------------- -------- -- -
            ---------- ------ ----- -------------- ----- -------- -- -
                ----- --------- - --------------------------------------------- -- -- ----- --
                ----- ---------- - ------------------------------ -- -- ----- --
                ----- -------- - --------------------------------------------- -- -- ----- --
                ----- --------- - ----------------------------- -- -- ----- --
                ----- ---------- - --------------------- - ----- - -- - -- - --- -- ------
                ----- ---- - --------------------------------
                ----- ----------------- - ---
                ----- ---------------- - ---
                ----- --------- - ----- -------------------
                    ----------
                    -----------
                    ---------
                    ----------
                    -----------
                    -----
                    ------------------
                    ----------------
                --
    
                ----- -------
                    ---------------------
                        ----------
                        - ----- ------------ -
                    -
                ------------------- ------------------
            ---
        ---
    ---
    展开代码
  5. 运行测试代码。

结论

本文详细介绍了如何使用 npm 包 @gnosis.pm/pm-contracts 搭建交易所合约,并提供了示例代码和调试提示。希望能够帮助读者理解和实践去中心化应用的开发。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/203976