npm 包 @dexon-foundation/eth-json-rpc-filters 使用教程

阅读时长 11 分钟读完

简介

@dexon-foundation/eth-json-rpc-filters 是一个帮助你过滤以太坊 JSON RPC 请求的 npm 包。它可以帮助你实现更加精细的控制,只返回你需要的数据。

安装

你可以通过 npm 包管理器来安装该包:

快速使用

使用示例

下面是一个快速使用的示例:

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

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

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

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

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

创建一个 filter

你可以通过使用 createFilter() 方法快速创建一个 filter:

在该例子中,我们创建了一个接受所有 JSON RPC 请求并返回它们的 filter。

为 JSON RPC 请求应用 filter

要使用 filter,你需要将它应用在 JSON RPC 请求上:

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

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

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

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

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

在这个示例中,我们创建了一个 filter,它仅接受指定 nonce 的交易,并将其应用在指定的 JSON RPC 请求上。

更进一步的使用

@dexon-foundation/eth-json-rpc-filters 使你可以构建自己的 filter,以满足特定的需求。下面是一些我们为你准备的 filter 示例:

createBlockNumberFilter

该 filter 用于仅接受指定区块号的 JSON RPC 反馈。

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

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

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

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

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

createGasFilter

该 filter 用于仅接受指定 gas 的 JSON RPC 反馈。

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

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

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

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

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

createToFilter

该 filter 用于仅接受指定接收地址 to 的 JSON RPC 反馈。

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

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

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

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

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

createChainIdFilter

该 filter 用于仅接受指定 chainId 的 JSON RPC 反馈。

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

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

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

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

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

createNonceFilter

该 filter 用于仅接受指定 nonce 的 JSON RPC 反馈。

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

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

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

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

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

总结

@dexon-foundation/eth-json-rpc-filters 是一个用于过滤以太坊 JSON RPC 反馈的 npm 包。通过使用它,你可以创建自定义的 filter,以满足特定的需求。我们已经为你准备了一些 filter 示例,你可以拿来使用。如果你有任何问题或建议,请在 GitHub 上提交 issue。

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