#bsc #crypto #blockchain #command-line #binance #bnb

app inoutflow-bsc

命令行程序,用于计算目标地址(钱包或合约)的BNB流入/流出

7个版本

0.2.6 2022年5月1日
0.2.5 2022年3月18日
0.2.4 2022年2月27日
0.1.0 2022年2月25日

6#bsc

每月 47 次下载

MIT 许可证

11KB
73

inoutflow-bsc

一个命令行程序,用于计算并打印目标钱包/合约地址的BNB流入/流出

工作原理

它将涉及利用 bscscan.com 的以下 3 个相关 API

  1. 获取普通交易列表 - 链接
  2. 获取内部交易列表 - 链接
  3. 获取地址的余额 - 链接

为了理解每种类型的交易以及整个地址的最终余额的BNB流入/流出和余额。

技术提示

我们可以手动计算目标地址的余额,而不需要请求余额 API,通过将普通和内部交易的BNB流入/流出求和,并从普通交易中减去费用。

我们不需要尝试从内部交易中获取费用,因为内部交易是普通交易的一部分,其 gasPricegasUsed 字段作为 API 返回值的一部分不可用。因此,只需要普通交易的费用就足够了。

简而言之,

Address balance = in/out BNB flow of normal txs + in/out BNB flow of internal txs + fees of normal txs

注意:我们不需要涉及 BEP-20 和 BEP-721 交易,因为它们也是普通交易的一部分,因为它们共享相同的交易哈希。对于这类交易,它发送 0 BNB 但其他代币。因此,普通交易的费用覆盖了我们需要的一切。

如何设置

  1. bscscan.com 上注册账户
  2. 创建一个新的 API 密钥
  3. 通过 cargo build 构建 project。
  4. 定义名为 HX_INOUTFLOW_API_KEY 的环境变量,值为步骤 2 中的 API 密钥。
  5. 执行例如 cargo r -- <目标地址>

用法

inoutflow-bsc <target-address>

示例输出类似于以下内容

Found 594 txs!
- BNB outflow: 1837.683964544 BNBs
- BNB inflow: 2.006 BNBs
- Net in/out balance: -1835.677964544 BNBs

Found 134 internal txs!
- BNB outflow: 0 BNBs
- BNB inflow: 1836.96689 BNBs
- Net in/out balance: 1836.96689 BNBs

Total 728 txs
Total balance: 0.042507285 BNBs

许可证

MIT,Wasin Thonkaew

依赖项

~14-23MB
~385K SLoC