7个版本
0.2.6 | 2022年5月1日 |
---|---|
0.2.5 | 2022年3月18日 |
0.2.4 | 2022年2月27日 |
0.1.0 |
|
6 在 #bsc
每月 47 次下载
11KB
73 行
inoutflow-bsc
一个命令行程序,用于计算并打印目标钱包/合约地址的BNB流入/流出
工作原理
它将涉及利用 bscscan.com 的以下 3 个相关 API
为了理解每种类型的交易以及整个地址的最终余额的BNB流入/流出和余额。
技术提示
我们可以手动计算目标地址的余额,而不需要请求余额 API,通过将普通和内部交易的BNB流入/流出求和,并从普通交易中减去费用。
我们不需要尝试从内部交易中获取费用,因为内部交易是普通交易的一部分,其 gasPrice
和 gasUsed
字段作为 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 但其他代币。因此,普通交易的费用覆盖了我们需要的一切。
如何设置
- 在 bscscan.com 上注册账户
- 创建一个新的 API 密钥
- 通过
cargo build
构建 project。 - 定义名为
HX_INOUTFLOW_API_KEY
的环境变量,值为步骤 2 中的 API 密钥。 - 执行例如
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