Etherscan
Etherscan 是以太坊区块链浏览器,可以查看任何交易、地址、合约和代币的链上数据。它是最基础的链上分析工具,所有其他工具的数据最终都可以在 Etherscan 上验证。
核心价值:链上数据的真相源。无论你用什么分析工具,最终都可以回到 Etherscan 验证原始链上数据。
核心功能
地址查询
输入任意以太坊地址,可查看:
- ETH 余额:当前持有的 ETH 数量
- ERC-20 代币持仓:下拉查看所有代币余额
- ERC-721/1155 NFT:持有的 NFT 列表
- 交易历史:该地址的所有出入账交易
- 内部交易:合约间调用产生的内部转账
- 代币授权:该地址对合约的代币授权(Approve)记录
分析师用法:追踪鲸鱼地址、监控团队钱包、识别关联地址。
交易查询
输入交易哈希(tx hash),可查看:
- 状态:成功 / 失败 / 待确认
- Gas 消耗:实际 Gas 使用量与费用
- 事件日志:合约 emit 的事件,解码后显示参数
- 内部交易:这笔交易触发的所有内部转账
- From / To:发起方与接收方
分析师用法:验证交易真实性、追踪资金流向、分析合约调用链。
合约验证
- 已验证合约:可查看完整源代码和 ABI
- 合约读取:直接调用 view/pure 方法查询状态
- 合约写入:连接钱包后可调用 state-changing 方法
- 合约创建者:查看合约部署交易和部署者地址
分析师用法:确认合约逻辑、查询链上状态(如持仓分布、费率设置)。
Gas Tracker
访问 etherscan.io/gastracker 查看:
- 当前 Gas 价格:低 / 中 / 高 三档建议
- 历史 Gas 趋势:过去 30 天 Gas 价格变化
- 最佳交易时间:基于历史数据的低 Gas 时段建议
- Gas 消耗排名:消耗 Gas 最多的合约
分析师用法:判断链上拥堵程度、评估协议 Gas 成本、识别链上活动高峰。
4 个常用 API 端点
免费版 API 限制:5 次/秒,100,000 次/天。注册后在 API-KEYs 页面 申请。
1. Gas Oracle(Gas 价格查询)
bash
# 获取当前 Gas 价格建议
curl -s "https://api.etherscan.io/api?module=gastracker&action=gasoracle&apikey=YOUR_KEY"返回示例:
json
{
"result": {
"LastBlock": "19200000",
"SafeGasPrice": "12",
"ProposeGasPrice": "15",
"FastGasPrice": "20",
"suggestBaseFee": "11.5",
"gasUsedRatio": "0.35"
}
}字段解读:
SafeGasPrice:低优先级,可能需要等待ProposeGasPrice:中优先级,通常几分钟内打包FastGasPrice:高优先级,快速确认gasUsedRatio:区块空间利用率,>0.8 表示拥堵
2. 地址余额查询
bash
# 查询地址 ETH 余额(单位 wei)
curl -s "https://api.etherscan.io/api?module=account&action=balance&address=0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe&apikey=YOUR_KEY"
# 查询地址 ERC-20 代币余额(需指定合约地址)
curl -s "https://api.etherscan.io/api?module=account&action=tokenbalance&contractaddress=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48&address=0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe&tag=latest&apikey=YOUR_KEY"注意:ETH 余额返回单位是 wei(1 ETH = 10^18 wei),需要除以 10^18 换算。
3. 交易收据查询
bash
# 获取交易收据(含 Gas 使用、状态、日志)
curl -s "https://api.etherscan.io/api?module=proxy&action=eth_getTransactionReceipt&txhash=0x...&apikey=YOUR_KEY"关键字段:
status:0x1 成功,0x0 失败gasUsed:实际 Gas 消耗logs:合约事件日志,是分析合约行为的核心数据effectiveGasPrice:实际支付的 Gas 单价
4. ERC-20 代币转账记录
bash
# 查询某地址的 ERC-20 转账记录
curl -s "https://api.etherscan.io/api?module=account&action=tokentx&address=0x...&startblock=0&endblock=99999999&sort=desc&apikey=YOUR_KEY"关键字段:
tokenSymbol:代币符号value:转账数量(需除以 10^decimals)from/to:发送方和接收方hash:交易哈希
参数说明:
startblock/endblock:按区块范围过滤,避免返回过多数据sort=desc:最新交易在前page=1&offset=10:分页控制
如何从链上交易识别异常行为
分析框架
链上数据是公开透明的,异常行为往往留下可识别的模式。以下是关键的异常信号和识别方法。
1. 资金异常流动
| 异常模式 | 识别方法 | 典型场景 |
|---|---|---|
| 大额转入交易所 | 监控鲸鱼地址向交易所转账 | 抛售前兆 |
| 从交易所大量提币 | 监控交易所热钱包流出 | 长期持有 / OTC |
| 资金在多个地址间快速转移 | 追踪地址关联图谱 | 洗钱、资金盘 |
| 合约突增提款 | 监控合约余额变化 | Rug Pull 前兆 |
2. 合约行为异常
| 异常模式 | 识别方法 | 典型场景 |
|---|---|---|
| 合约所有者批量提款 | 监控 owner 地址操作 | Rug Pull |
| 合约暂停且资金转出 | 监控 pause 事件 + 提款 | 跑路 |
| 代币授权异常增加 | 监控 Approve 事件 | 钓鱼攻击 |
| 新合约快速吸金 | 监控新部署合约的 TVL 增速 | 资金盘 |
3. Gas 异常
| 异常模式 | 识别方法 | 典型场景 |
|---|---|---|
| Gas 价格突然飙升 | 对比 Gas Oracle 历史数据 | 热门 NFT 铸造、抢购 |
| 某合约 Gas 消耗激增 | Gas Tracker 排名变化 | 协议异常活动 |
| 高 Gas 低价值交易 | 交易费 > 转账金额 | 优先费抢跑(MEV) |
实战:监控地址异常行为
bash
# 1. 获取地址最近的交易
curl -s "https://api.etherscan.io/api?module=account&action=txlist&address=0x...&sort=desc&page=1&offset=50&apikey=YOUR_KEY" | \
python3 -c "
import json, sys
data = json.load(sys.stdin)
for tx in data['result'][:10]:
value_eth = int(tx['value']) / 1e18
gas_eth = int(tx['gasUsed']) * int(tx.get('gasPrice', 0)) / 1e18
print(f'Hash: {tx[\"hash\"][:16]}... Value: {value_eth:.4f} ETH Gas: {gas_eth:.6f} ETH')
"
# 2. 获取地址的内部交易(追踪隐藏的资金流)
curl -s "https://api.etherscan.io/api?module=account&action=txlistinternal&address=0x...&sort=desc&apikey=YOUR_KEY"
# 3. 获取地址的代币授权(检查是否有异常授权)
curl -s "https://api.etherscan.io/api?module=account&action=txlist&address=0x...&startblock=0&endblock=99999999&sort=desc&apikey=YOUR_KEY" | \
python3 -c "
import json, sys
data = json.load(sys.stdin)
approves = [tx for tx in data['result'] if 'approve' in tx.get('functionName', '').lower()]
for tx in approves[:5]:
print(f'Approve: {tx[\"to\"]} tx={tx[\"hash\"][:16]}...')
"关键警告信号清单
- 合约部署者大量提款:最高优先级,立即关注
- 大额资金转入未知地址:追踪资金最终去向
- 代币无限授权(approve max uint):常见钓鱼攻击手法
- 合约所有权未放弃(未 renounceOwnership):中心化风险
- 交易失败率异常高:可能是合约 bug 或恶意行为
其他 Etherscan 系列浏览器
| 网络 | 地址 | 说明 |
|---|---|---|
| Ethereum | etherscan.io | 主网 |
| BSC | bscscan.com | BNB Chain |
| Polygon | polygonscan.com | Polygon |
| Arbitrum | arbiscan.io | Arbitrum |
| Optimism | optimistic.etherscan.io | Optimism |
| Avalanche | snowtrace.io | Avalanche |
API 使用方式基本一致,只需更换域名。
与本平台的关系
Etherscan 是本平台以下功能的底层数据验证源:
- 地址分析页:地址余额、交易历史验证
- 合约安全页:合约验证状态、所有者权限检查
- Gas 监控页:实时 Gas 价格数据
- 交易追踪页:交易详情与资金流向验证