从零Vibe Code出一个
$BTW 链上监控工具:过程、思路与最终实现
$BTW 是市场公认的强庄币。对这类代币来说,K 线往往只是结果,真正有参考价值的是链上大额转账的方向,以及衍生品市场的仓位变化。大量代币从个人或项目地址充进交易所热钱包,通常意味着准备出货;从交易所大量提币到个人地址,则可能是在控盘、锁仓或准备拉盘。Open Interest 和成交量的变化,可以用来交叉验证这些行为是否伴随真实的仓位调整。
我决定自己做一个能实时追踪这些信息的工具,于是把需求告诉了 Grok:实时监控
$BTW 的链上大额转账,同时获取价格、24 小时成交量和 Open Interest。整个过程不是一次成型的,而是在不断试错和沟通中一步步打磨出来的。
一、最初的单文件脚本与第一个坑
Grok 先给出了一个单文件 Python 脚本。它用公共 BSC RPC 监听合约的 Transfer 事件,同时调用 Binance Futures 的公开接口获取价格、成交量和 Open Interest,结果直接在终端打印。
运行后立刻遇到了问题。官方 bsc-dataseed 节点对 eth_getLogs 限制极严,持续返回 limit exceeded。我把错误信息反馈给 Grok,Grok 解释这是 BSC 官方公共节点的长期限制,建议改用多个 RPC 轮询兜底,优先尝试
fast.bsc-rpc.com、
bsc-rpc.publicnode.com 等对日志查询更友好的节点。修改后,终端开始正常输出大额转账记录。
这里有一个重要前提:$BTW 主要流通在 BSC 上,合约地址是 0x444045B0EE1ee319A660a5E3d604CA0ffA35ACaA。
如果以后监控其他链上的代币,RPC 必须换成对应链的节点,不能直接复用 BSC 的。公共节点对日志查询的限制在很多链上都存在,因此多 RPC 兜底是必要设计,而不是可选项。
二、从终端到网页仪表盘
终端能跑通后,我很快发现纯文本输出体验很差。转账一多,就很难快速扫读,也无法方便地查看历史。我向 Grok 提出,是否应该引入数据库和前端。Grok 给出了几种方案,包括终端美化、SQLite + Flask、Streamlit 等。最终我们选择了 SQLite 做持久化,再用 Flask 提供一个本地网页仪表盘。
这一步把数据真正存了下来。转账记录和市场快照都写入数据库,页面每 15 秒自动刷新,顶部显示实时价格、成交量和 Open Interest,下方列出最近的大额转账,交易哈希可以直接点击跳转到 BscScan。
三、拆分模块与项目结构
功能增加后,我意识到单文件维护会越来越困难。我要求 Grok 重新组织项目结构。Grok 提出了清晰的模块划分,我接受了这个方案,并按文件分别实现:
config.py:集中管理合约地址、大额阈值、轮询间隔和 RPC 列表。后续修改配置只需要动这一个文件。
database.py:负责 SQLite 的初始化、写入转账记录和市场快照,以及提供查询接口。
monitor.py:核心监控逻辑。它用多个 RPC 获取最新区块,调用 eth_getLogs 过滤大额 Transfer,同时拉取 Binance 的市场数据,并写入数据库。
app.py:启动后台线程跑监控循环,主线程运行 Flask。
templates/index.html:仪表盘页面。
这样拆分后,职责清晰,后续维护和扩展都方便很多。
四、加入时间折线图与细节打磨
我希望把 Open Interest 和成交量做成时间折线图,方便观察趋势。Grok 在
database.py 中增加了获取最近快照的函数,前端引入 Chart.js(CDN 方式,无需额外安装),并处理了刚启动时数据不足的情况,避免页面报错。等程序跑几分钟后,图表就会正常显示走势。
过程中还陆续解决了一些小问题:
- 浏览器请求 favicon 出现的 404 可以忽略。
- VSCode 对 Jinja 语法 {{ }} 标红,是编辑器不识别模板语法导致的,安装 Better Jinja 扩展或直接无视即可,不影响实际运行。
- 想重置数据,直接删除 btw_monitor.db 文件后重启即可。
五、最终实现与使用方式
最终的工具能够稳定监控 BSC 上
$BTW 的大额转账,并在本地网页中同时展示价格、成交量、Open Interest 及其折线图。运行方式很简单:安装依赖后执行 python
app.py,打开浏览器、修改阈值或 RPC 列表只需要改
config.py。
观察这些数据时,重点看大额转账的方向和频率,再结合 OI 和成交量的变化一起判断。如果 OI 持续上升的同时,大量币被充进交易所,就要提高警惕;如果 OI 下降同时币被从交易所提出,则可能是在减仓或控盘。
强庄币的信息差,往往就藏在这些可以自己搭建的细节里。这个工具不复杂,但可以把链上行为和衍生品数据放在了同一个页面,减少了来回切换和猜测的成本。