想象一下你手里有个魔法放大镜,能看清以太坊上每一笔智能合约交易的细节。今天咱们就用Python的Web3.py库,把这个魔法变成现实。不需要懂密码学原理,跟着我做就完事了!
连接以太坊节点第一步
区块链数据不是存在你电脑里的,得先连上节点服务器。这里推荐用Infura的服务(免费额度够用),记得去官网注册拿API密钥:
from web3 import Web3
# 记得替换成你自己的API密钥
infura_url = "https://mainnet.infura.io/v3/YOUR_API_KEY"
w3 = Web3(Web3.HTTPProvider(infura_url))
print("连接成功!" if w3.is_connected() else "掉线了兄弟")
运行后会看到"连接成功",说明你的Python已经摸到区块链的大门了。这时候你已经能查区块高度、查余额,不过咱们今天的重点是智能合约交易。
温馨提示:别把API密钥上传到GitHub!用环境变量存储更安全,除非你想请黑客喝咖啡。
获取智能合约交易记录
咱们以Uniswap V2的Router合约为例(地址:0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D)。先搞定基础查询姿势:
contract_address = "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D"
# 获取最新10个区块内的合约交易
latest_block = w3.eth.block_number
txs = w3.eth.get_logs({
'fromBlock': latest_block-10,
'toBlock': latest_block,
'