【项目案例】多个 USDT 地址的账单后台:余额、收支明细,到账即推送 Telegram

阅读约 4 分钟
【项目案例】多个 USDT 地址的账单后台:余额、收支明细,到账即推送 Telegram

「项目案例」系列:我做过的定制项目,写清楚客户要什么、解决了什么问题。这类项目不提供源码,文中截图都是演示数据(随机生成的虚构地址和金额),不涉及任何客户信息。有类似需求可以直接联系我,文末有方式。

客户的需求

客户用多个 USDT(TRC20,也就是波场链上的 USDT)地址收款和付款,不同地址有不同用途。需求很具体:

  • 想在一个页面里看到所有地址的余额、收入、支出,而不是一个个去区块浏览器查;
  • 每个地址能写备注(比如“收款主账户”“广告付款”),一眼知道是干什么的;
  • 有钱进来或出去,第一时间收到通知,不用盯着看;
  • 要能对账:数字对不对、有没有漏记,最好能导出。

我做的东西

一个跑在客户自己服务器上的 Web 后台,登录后才能看。

总览:余额、累计收支、近期趋势

总览页:总余额、累计收入/支出、今日收支、30 天收支趋势和最近交易

图:总览页(演示数据)。柱状图可以切换 7 天 / 30 天 / 90 天。

  • 总余额、累计收入、累计支出、今日收入、今日支出;
  • 近期收支趋势图,绿色是收入,红色是支出;
  • 最近交易列表,TxID 点击就能跳到区块浏览器。

多地址管理:加地址、写备注

地址管理:每个地址的余额、收入、支出、笔数和最近一笔

图:地址管理页(地址为随机生成的虚构地址)。

  • 添加地址时会先校验地址格式和校验位,写错一位直接提示,不会无效地一直去查;
  • 添加后自动拉取这个地址的全部历史记录,之后定时增量更新(默认每 3 分钟一轮,可以改);
  • 每个地址一行:备注、链上实时余额、收入、支出、笔数、最近一笔多久前;
  • 点某个地址,总览和图表会切换成只看这个地址,再点一次切回全局;
  • 明细页支持按方向、日期、最小金额、关键词筛选,并且可以导出 CSV。

Telegram 通知:到账、转出都推送

Telegram 通知设置:消息模板、最小金额、系统提醒

图:通知设置页,消息内容可以自己改模板。

  • 每发现一笔新的收入或支出,就给指定的 Telegram 聊天发一条消息,内容可以自定义(方向、金额、备注、地址、对手方、时间、链接、当前余额);
  • 可以设“最小金额”,小额的不打扰;
  • 新加地址时拉取的历史交易不会通知,只通知之后新发生的,避免一加地址就被刷屏;
  • 发送失败(网络、限流)会在下一轮自动重试,宁可偶尔重复,也不漏;
  • 只发送、不接收,不需要在服务器上开 webhook。

“系统提醒”:出了问题会主动告诉你

通知本身出问题最可怕——你以为没动静是没人付款,其实是同步挂了。所以我加了这几条:

  • 同步连续失败多轮(默认 3 轮)会提醒一次,恢复后再发一次“已恢复”,不会重复刷屏;
  • 对账不平时提醒:每个地址的余额是直接查链上的,和明细累加是分开算的,两边对不上,系统会先自动补拉一次,还不平才报警,提示可能漏单;
  • 有人输错密码被封 IP时也会提醒。

安全方面

  • 全站需要密码登录,没设密码服务拒绝启动;
  • 默认密码输错一次,该 IP 立即永久封禁(封禁记录是个文本文件,删掉对应行就解封,不用重启);放在 nginx 后面时会按真实 IP 判断;
  • Bot Token 保存在数据库里,页面只显示末 4 位,不回显,日志里也不会出现;
  • 后台只放行小请求,nginx 配置里带了限速、请求大小限制,还能额外限制只允许你自己的固定 IP 访问。

解决了什么问题

以前现在
一个个地址去区块浏览器查一个页面看全部,点地址切换
不知道哪个地址是干什么的每个地址有备注
钱进来了过很久才发现约 3 分钟内收到 Telegram 推送(间隔可调)
对账靠手算链上余额与明细分开算,不平会报警,明细可导出 CSV
担心同步挂了没人知道连续失败会主动提醒,恢复后再通知

要说明的几点

  • “实时”是准实时。 系统每隔一段时间(默认 180 秒)去链上查一次,所以通知有几分钟以内的延迟,不是秒级。间隔可以调短,但太短会触发 TronGrid 的限速,建议申请他们的免费 API Key。
  • 只读,不碰钱。 这个系统只查询链上公开数据,不需要也不保存你的私钥或助记词。千万不要把私钥填进任何这类后台。
  • 数据存在一个 SQLite 文件里,备份这个文件即可;备份文件里也包含 Bot Token,要妥善保管。

技术栈和交付

后端是 Python(FastAPI),数据用 SQLite,通过 TronGrid 查询链上数据,前端是单个页面。交付内容包括程序、nginx 配置示例、管理脚本,我会帮你部署到你自己的服务器上。

想要类似的系统?

这个项目不提供源码,但同类的“链上地址监控、收支账单、到账提醒”我可以按你的需求来做:别的链、别的币种、多人权限、对接你已有的系统都可以聊。

  • 官网留言:kuaibuild.com(说一句想做什么就够)
  • Telegram:@kuaibuild
想要类似的东西?网站、Telegram 机器人、运维工具,说说你的需求。
发布需求

有想法或问题?去留言板留言 →