3、数据获取入门:认识区块链浏览器(Etherscan),手动查询交易记录
说实话,很多刚入行的朋友问我:「链上数据到底怎么看?」
我的回答永远是——先别急着写代码,打开 Etherscan,用手点一点。
你想想看,连浏览器上的数据都看不懂,写出来的脚本大概率也是错的。我自己带过不少新人,发现一个规律:能在 Etherscan 上熟练查交易的人,后面学 API 和 SQL 都特别快。
3.1 什么是区块链浏览器?
区块链浏览器,说白了就是一个「链上的搜索引擎」。它把区块、交易、地址这些原始数据,整理成人类能读懂的网页。
以太坊上最常用的就是 Etherscan(etherscan.io)。
核心概念:
- 区块(Block):交易的「容器」,大约每 12 秒产生一个
- 交易(Transaction):用户发起的转账或合约调用
- 地址(Address):用户的「账户」,类似银行卡号
- Gas:执行交易的手续费,单位是 wei(1 ETH = 10^18 wei)
嗯,这里要注意:Etherscan 上的数据是只读的。你不能通过它发起交易,只能查历史记录。
3.2 第一次打开 Etherscan,看什么?
我记得第一次打开 Etherscan 时,满屏的英文和数字,说实话有点懵。别急,我带你走一遍。
打开 etherscan.io,首页最显眼的是搜索框。你可以输入:
- 钱包地址(0x 开头)
- 交易哈希(TxHash)
- 区块编号
- ENS 域名(如 vitalik.eth)
我个人习惯先看 「Latest Blocks」 和 「Latest Transactions」 这两个面板。它们展示了链上正在发生什么。
小技巧: 点击区块编号,可以看到该区块里包含的所有交易。点击交易哈希,能看到这笔交易的完整细节。
3.3 手动查询一笔交易:从哈希到真相
假设你拿到一个交易哈希:0xabc123...def456。把它粘贴到搜索框,回车。
你会看到这样一个页面,我把它拆成几个关键区域:
| 字段 | 含义 | 我的经验 |
|---|---|---|
| Transaction Hash | 交易的唯一 ID | 相当于快递单号 |
| Status | 成功/失败 | 失败的交易也会上链,Gas 照扣 |
| Block | 交易所在的区块编号 | 区块号越小,交易越早 |
| From / To | 发送方和接收方地址 | 注意 To 可能是合约地址 |
| Value | 转账金额(ETH) | 默认单位是 ETH,可以切换成 wei |
| Gas Used / Gas Price | 实际消耗的 Gas 和单价 | Gas Used × Gas Price = 手续费 |
| Logs | 事件日志(合约触发) | 这是数据可视化的宝藏 |
为什么会这样设计?因为每一笔交易都包含「谁、给了谁、多少钱、花了多少手续费」这些核心信息。
避坑指南: 我曾经犯过一个低级错误——只看 Value 字段,以为转账金额就是那个数。后来发现,如果交易是调用合约(比如 Uniswap 兑换),Value 可能为 0,实际转账金额藏在 Input Data 里。所以,一定要看 Input Data 和 Logs。
3.4 查询一个地址的所有交易记录
在实际项目中,我们经常需要查某个地址的历史行为。比如,某个大户在做什么?
在搜索框输入地址,进入地址详情页。你会看到:
- ETH Balance:当前余额
- Token Holdings:持有的代币列表
- Transactions:交易记录列表(默认显示最近 50 笔)
- Internal Transactions:内部交易(比如合约之间的转账)
- Token Transfers:代币转账记录(ERC-20 / ERC-721)
我个人习惯先看 Token Transfers 标签页。因为很多有价值的链上行为(比如买入、卖出、转账)都体现在代币转移上,而不是 ETH 转账。
实操练习:
- 找一个你认识的 DeFi 项目地址(比如 Uniswap 的 V2 工厂合约)
- 查看它最近 100 笔交易
- 找出其中一笔交易,点击进去,记录下 Gas Used 和 Gas Price
- 计算这笔交易的手续费(单位:ETH)
公式:手续费 (ETH) = Gas Used × Gas Price (Gwei) × 10^-9
3.5 理解 Gas:为什么有时候交易这么贵?
Gas 是新手最容易困惑的地方。我简单解释一下:
- Gas Limit:你愿意为这笔交易支付的「最大 Gas 量」
- Gas Used:实际消耗的 Gas 量(通常小于 Limit)
- Gas Price:你愿意为每单位 Gas 支付的价格(单位:Gwei)
- Base Fee + Priority Fee:EIP-1559 之后的新机制,基础费 + 小费
你想想看,如果网络拥堵,大家都抢着上链,Gas Price 就会飙升。我见过最夸张的一次,一笔简单的 USDT 转账花了 50 美元手续费——那是在 2021 年牛市最疯狂的时候。
小技巧: 在 Etherscan 上,你可以点击 「Gas Tracker」 查看当前实时 Gas 价格。建议在 Gas 低于 30 Gwei 时操作,比较划算。
3.6 用 SVG 梳理本章知识体系
下面这张图,是我自己总结的「Etherscan 数据查询流程」。你跟着走一遍,基本就入门了。
3.7 从手动到自动:为什么这一步很重要?
你可能会问:「我以后肯定是用 API 和代码来拿数据,为什么还要手动查?」
我的回答是:手动查询能帮你建立「数据直觉」。
举个例子。我在做 DeFi 清算监控项目时,一开始直接写代码调接口,结果发现拿到的数据跟 Etherscan 上对不上。后来我一条一条手动核对,才发现是合约的 event 参数顺序理解错了。如果没有手动查询的经验,这种 bug 你可能找三天都找不出来。
总结一下本章核心:
- Etherscan 是链上数据的「入口」,必须会用
- 一笔交易的核心字段:Hash、Status、From/To、Value、Gas、Logs
- 查询地址时,重点关注 Token Transfers 标签页
- Gas 费用 = Gas Used × Gas Price,单位换算要清楚
- 手动查询是数据可视化基本功,别跳过
好了,这一章就到这里。打开 Etherscan,找个地址练练手吧。
公众号:蓝海资料掘金营,微信deep3321