1个稳定版本
1.0.0 | 2022年5月5日 |
---|
#880 在 #crypto
14KB
122 行
inoutflow
一个命令行程序,用于计算并打印出基于EVM的链(BSC、以太坊和Polygon)的钱包/合约地址的原生代币的流入/流出
工作原理
它将涉及使用上游API平台(bscscan.com、etherscan.io或polygonscan.com)提供的3个相关API
- 获取常规交易列表
- 获取内部交易列表
- 获取地址的余额
以便了解原生代币(BNB、ETH或MATIC)和每种类型交易以及整个地址的最终余额。
技术提示
我们可以手动计算目标地址的余额,而无需请求余额API,通过计算常规和内部交易中的原生代币的流入/流出量,并从常规交易中减去费用。
我们不需要尝试从内部交易中获取费用,因为内部交易是常规交易的一部分,并且它的 gasPrice
和 gasUsed
字段不是作为API返回值的一部分提供的。因此,常规交易的费用就足够了。
简而言之,
Address balance = in/out of native-token flow of normal txs + in/out of native-token flow of internal txs + fees of normal txs
注意:我们不需要涉及ERC-20/BEP-20和ERC-721/BEP-721交易,因为它们也是常规交易的一部分,因为它们共享相同的交易哈希。只是对于这种类型的交易,它发送 0
原生代币但发送其他代币。所以常规交易的费用就涵盖了我们所需要的一切。
设置
- 在 bscscan.com、etherscan.io 和 polygonscan.com 上注册账户。
- 在第一步中为所有API平台创建新的API密钥。
- 定义以下环境变量
INOUTFLOW_BSCSCAN_APIKEY
- 用于与Binance Smart Chain(BSC)一起使用INOUTFLOW_ETHERSCAN_APIKEY
- 用于与以太坊一起使用INOUTFLOW_POLYGONSCAN_APIKEY
- 用于与Polygon一起使用
- 可能需要source它,例如
source ~/.bash_aliases
。
用法
inoutflow --chain <CHAIN> <ADDRESS>
其中 --chain
(或 -c
)的可能值是 bsc
、ethereum
或 polygon
。因此,输入地址将基于指定的链。
示例输出
- BSC上的钱包地址
$ inoutflow 0x5a52e96bacdabb82fd05763e25335261b270efcb --chain bsc
Found 194 txs!
- BNB outflow: 500000.0001 BNBs
- BNB inflow: 507000.07693536405 BNBs
- Net in/out balance: 7000.076835364045 BNBs
Found 25 internal txs!
- BNB outflow: 0 BNBs
- BNB inflow: 0.000000339984886578 BNBs
- Net in/out balance: 0.000000339984886578 BNBs
Total balance: 7000.052775939041 BNBs
- Ethereum上的钱包地址
$ inoutflow 0x49a2dcc237a65cc1f412ed47e0594602f6141936 --chain ethereum
Found 3930 txs!
- ETH outflow: 253655.5178577849 ETHs
- ETH inflow: 51001.49522086296 ETHs
- Net in/out balance: -202654.02263692193 ETHs
Found 482 internal txs!
- ETH outflow: 0 ETHs
- ETH inflow: 203349.21092720772 ETHs
- Net in/out balance: 203349.21092720772 ETHs
Total balance: 643.5772304060517 ETHs
- Polygon上的钱包地址
$ inoutflow 0xf89d7b9c864f589bbf53a82105107622b35eaa40 --chain polygon
Found 161 txs!
- MATIC outflow: 3258607.025878074 MATICs
- MATIC inflow: 0.001 MATICs
- Net in/out balance: -3258607.024878074 MATICs
Found 38 internal txs!
- MATIC outflow: 0 MATICs
- MATIC inflow: 4004106.7107583876 MATICs
- Net in/out balance: 4004106.7107583876 MATICs
Total balance: 745498.6568908329 MATICs
许可证
MIT,Wasin Thonkaew
依赖项
~15–26MB
~416K SLoC