02. Etherscan Provider
Code: src/services/chain-adapter/providers/etherscan-provider.ts
适配 Etherscan V2 API 及其兼容实现 (如 Blockscout)。
支持能力
- ✅
getNativeBalance - ✅
getTransactionHistory: 聚合txlist(原生) 和tokentx(ERC20) - ✅
getTokenBalances: (部分支持)
聚合逻辑
Etherscan 将原生交易和代币交易分开返回。驱动层负责将它们聚合:
- 并行请求
txlist和tokentx。 - 按
hash进行分组。 - 如果一个
hash同时存在于两者,合并为一个Transaction对象,并在assets数组中包含原生资产和代币资产。 - 按时间戳降序排列。
API Key 管理
支持轮询多个 API Key,并自动处理限流 (429) 错误。
