如何自动记录交互时间?3种方案,从零代码到Python全覆盖
如何自动记录交互时间?3种方案,从零代码到Python全覆盖
做空投最怕什么?不是Gas贵,是快照那天你漏记了交互。
我一个朋友花两周手动记Excel,漏了两天数据,项目方直接判"非活跃",空投颗粒无收。
其实这事早就有成熟方案。不管你是偶尔点两下的轻度玩家,还是几十个号批量跑的工作室,下面三种方案挑一个搭上就行。
方案一:Rabby钱包插件——装完就用,零代码

适合谁:一两个钱包、手动交互为主的玩家
Rabby内置交易记录面板,每次你用它确认交易,时间、链、Gas费自动就记下来了。
操作就三步:
装Rabby插件(rabby.io),导入地址
交互时用Rabby连接dApp,别用MetaMask
想导出就点右上角"导出CSV"
一个实操细节:Rabby支持给每笔交易打标签。比如你在zkSync上做了兑换,标签写"空投季第3周",导出来带着这个备注。女巫申诉的时候,这种能解释"为什么交互"的信息比纯时间戳有用得多。
方案二:Google Sheets + Apps Script——最灵活的DIY
适合谁:想把交互记录和盈亏、Gas费统计放一张表里的人
原理很简单:用Etherscan的免费API,每隔一小时自动查你地址的最新交易,有新交易就追加到表格里。你睡大觉它也在更新。
搭建步骤:
① 拿API密钥
去 etherscan.io 注册账号,API Keys页面免费申请一个。BSC去BscScan,Polygon去PolygonScan,同理。免费额度每天10万次调用,个人完全够用。
② 贴这段脚本到Apps Script里
新建Google Sheets → 扩展程序 → Apps Script,粘贴:
javascriptfunction fetchTransactions() { var sheet = SpreadsheetApp.getActiveSheet();
var address = '你的ETH地址'; var apiKey = '你的Etherscan API密钥'; var url =
'https://api.etherscan.io/api?module=account&action=txlist&address='
+ address + '&startblock=0&endblock=99999999&sort=desc&apikey=' + apiKey;
var response = UrlFetchApp.fetch(url); var data = JSON.parse(response.getContentText());
var txns = data.result.slice(0, 10);
sheet.clear(); sheet.appendRow(['时间戳', '交易哈希', '发送方', '接收方', '金额(ETH)', 'Gas费(ETH)']);
for (var i = 0; i < txns.length; i++) { var txn = txns[i];
var timestamp = new Date(txn.timeStamp * 1000).toLocaleString();
var hash = txn.hash; var from = txn.from; var to = txn.to;
var value = txn.value / 1e18; var gas = txn.gasUsed * txn.gasPrice / 1e18;
sheet.appendRow([timestamp, hash, from, to, value, gas]); }}③ 设触发器
编辑器左侧点"触发器",选fetchTransactions,时间驱动设"每隔1小时"。
多链玩家就建多个Sheet分页,每条链一个页签,统一管。
⚠️ 别把私钥写进脚本里。这个API Key只读公开数据,本身不涉及私钥。但如果你要扩展自动操作功能,千万别在云端脚本里碰私钥。
方案三:Python脚本——多地址、高频交互的终极方案

适合谁:十几个号以上、需要本地存储的进阶玩家
Python直接监听RPC节点,每30秒扫一遍最新区块,你地址有交易就写进本地CSV。时间精确到秒,不限地址数量,数据全在自己硬盘上。
pythonfrom web3 import Web3import time, csv, osw3 =
Web3(Web3.HTTPProvider('https://mainnet.infura.io/v3/YOUR_KEY'))addresses =
['0xYourAddress1', '0xYourAddress2']processed_txns =
set()def log_transaction(txn_hash, frm, to, value, timestamp):
with open('txn_log.csv', 'a', newline='') as f: writer = csv.writer(f)
writer.writerow([timestamp, txn_hash, frm, to, value])
print(f"[{timestamp}] {txn_hash} : {frm} -> {to}")def scan_blocks():
latest = w3.eth.block_number for block_num in range(latest - 5, latest + 1):
block = w3.eth.get_block(block_num, full_transactions=True)
for txn in block.transactions:
if txn['hash'].hex() in processed_txns:
continue
if txn['from'] in addresses or txn['to'] in addresses:
ts = time.strftime('%Y-%m-%d %H:%M:%S',
time.localtime(block.timestamp))
log_transaction(txn['hash'].hex(),
txn['from'], txn['to'],
w3.from_wei(txn['value'], 'ether'), ts)
processed_txns.add(txn['hash'].hex())while True:
scan_blocks() time.sleep(30)监控地址多的话,把CSV换成SQLite,再加个Telegram Bot推送,检测到新交易直接弹手机通知。
选哪个?一句话总结
| 你的情况 | 选这个 |
|---|---|
| 一两个号,不想折腾 | Rabby插件,装完导出 |
| 想把盈亏和交互放一起看 | Google Sheets,十分钟搭好 |
| 几十个号,高频跑交互 | Python本地跑,数据在自己手里 |
核心原则就一条:搭好自动系统之后,别再手动记了。 手记的数据既容易出错,空投审查时时间线对不上还会被判"人工干预"。机器不会记错时间,生成的时间戳就是链上区块时间的忠实复刻。项目方拿AI跑你地址的行为分析时,一套完整连续无人工痕迹的交互日志,比你写一千字申诉理由管用。
花半小时搭好,后面几年都不用再为这事操心。
免责声明:本文仅作技术科普,不构成投资建议。所有工具和脚本基于2026年公开资料整理,使用前请自行核实安全性,切勿在不可信环境中输入私钥。空投存在不确定性,作者不对任何操作损失负责。




