简介
@dexon-foundation/eth-json-rpc-filters 是一个帮助你过滤以太坊 JSON RPC 请求的 npm 包。它可以帮助你实现更加精细的控制,只返回你需要的数据。
安装
你可以通过 npm 包管理器来安装该包:
npm install --save @dexon-foundation/eth-json-rpc-filters
快速使用
使用示例
下面是一个快速使用的示例:
-- -------------------- ---- ------- ----- - ------------------- - - -------------------------------------------------- ----- ------ - ----------------------- ----- -------- - - --- -- -------- ------ ------- - ---------- --- ------------ --- ----- --- --- --- ------ -- - -- ----- ---------------- - ----------------- ------------------------------ -- - --- -- -------- ------ ------- -- -
创建一个 filter
你可以通过使用 createFilter()
方法快速创建一个 filter:
const { createFilter } = require('@dexon-foundation/eth-json-rpc-filters'); const filter = createFilter('name');
在该例子中,我们创建了一个接受所有 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