[lwptoc]
UsdtGo是一个由Go语言
编写的私有化部署Usdt
支付中间件(Trc20网络
),站长或开发者可通过UsdtGo提供的http api
集成至您的任何系统,无需过多的配置,仅仅依赖mysql
和redis
。
可实现USDT的在线支付和消息回调,这一切在优雅和顷刻间完成!
私有化搭建使得无需额外的手续费和签约费用,Usdt代币直接进入您的钱包。
项目特点
- 支持私有化部署,无需担心钱包被篡改和吞单?
Go语言
跨平台实现,支持x86和arm芯片架构的win/linux设备- 多钱包地址轮询,提高订单并发率
- 异步队列响应,优雅及高性能
- 无需额外环境配置,仅运行一个编译后二进制文件即可使用
- 支持
http api
,其他系统亦可接入 Telegram
机器人接入,便捷使用和支付消息快速通知
设计实现
UsdtGo的实现方式与其他项目原理类似,都是通过监听trc20
网络的api或节点,监听钱包地址usdt
代币入账事件,通过金额差异
和时效性
来判定交易归属信息,
可参考下方流程图
简单的原理:
- 1.客户需要支付20.05usdt
- 2.服务器有一个hash表存储钱包地址对应的待支付金额 例如:address_1 : 20.05
- 3.发起支付的时候,我们可以判定钱包address_1的20.05金额是否被占用,如果没有被占用那么可以直接返回这个钱包地址和金额给客户,告知客户需按规定金额20.05准确支付,少一分都不行。且将钱包地址和金额 address_1:20.05锁起来,有效期10分钟。
- 4.如果订单并发下,又有一个20.05元需要支付,但是在第3步的时候上一个客户已经锁定了该金额,还在等待支付中…,那么我们将待支付金额加上0.0001,再次尝试判断address_1:20.0501金额是否被占用?如果没有则重复第三步,如果还是被占用就继续累加尝试,直到加了100次后都失败
- 5.新开一个线程去监听所有钱包的USDT入账事件,网上有公开的api或rpc节点。如果发现有入账金额与待支付的金额相等。则判断该笔订单支付成功!
流程图:
[ibutton][/ibutton]
原文链接:https://vuesite.cn/33878.html,转载请注明出处。