本文最后更新于 2024-07-02,

若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益, 请联系我 删除。

本站只有Telegram群组为唯一交流群组, 点击加入

文章内容有误?申请成为本站文章修订者或作者? 向站长提出申请

1719693566319.webp

预览

1719693632238.webp
1719693635171.webp
1719693645858.webp

项目地址:https://github.com/assimon/epusdt

docker hub仓库:https://github.com/stilleshan/dockerfiles/tree/main/epusdt

安装

新建telegram机器人并获取token

https://t.me/BotFather

1719693697168.webp搜索 BotFather 注意有很多假冒的,别弄错了

1719693708924.webp

/newbot 一步一步按照提示创建即可

1719693718662.webp

创建成功之后,这边就会获得一个API的token,类似:6247111111:Asdajkdaksdhkajshi6aUa6pXH4Rxc

获取telegram id

搜索:https://t.me/getmyid_bot

安装Docker🐳

利用Docker-compose搭建,易于更新

先建立一个文件夹和文件

sudo -i

mkdir -p /root/data/docker_data/epusdt

cd /root/data/docker_data/epusdt


docker-compose填入以下内容:

version: "3"
services:
  db:
    image: mariadb:focal
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=changeyourpassword
      - MYSQL_DATABASE=epusdt
      - MYSQL_USER=epusdt
      - MYSQL_PASSWORD=changeyourpassword
    volumes:
      - ./mysql:/var/lib/mysql

  redis:
    image: redis:alpine
    restart: always
    volumes:
      - ./redis:/data

  epusdt:
    image: stilleshan/epusdt
    restart: always
    volumes:
      - ./epusdt.conf:/app/.env
    ports:
      - 8000:8000
  • 修改 MYSQL_ROOT_PASSWORD数据库 root密码
  • 修改 MYSQL_PASSWORD数据库用户密码
  • 用户名和数据库名不用修改
  • 如服务器 8000端口可能被占用,需修改epusdt映射端口,例如 58000:8000

修改好之后,注意切换成英文输入法,然后按一下 esc,然后 :wq 保存退出。

vim epusdt.conf
app_name=epusdt
#下面配置你的域名,收银台会需要
app_uri=https://你的域名
#是否开启debug,默认false
app_debug=false
#http服务监听端口
http_listen=:8000

#静态资源文件目录
static_path=/static
#缓存路径
runtime_root_path=/runtime

#日志配置
log_save_path=/logs
log_max_size=32
log_max_age=7
max_backups=3

# mysql配置
mysql_host=db
mysql_port=3306
mysql_user=epusdt
mysql_passwd=changeyourpassword
# 请修改 epusdt 数据库密码
mysql_database=epusdt
mysql_table_prefix=
mysql_max_idle_conns=10
mysql_max_open_conns=100
mysql_max_life_time=6

# redis配置
redis_host=redis
redis_port=6379
redis_passwd=
redis_db=5
redis_pool_size=5
redis_max_retries=3
redis_idle_timeout=1000

# 消息队列配置
queue_concurrency=10
queue_level_critical=6
queue_level_default=3
queue_level_low=1

#机器人Apitoken
tg_bot_token=你的tg机器人token
#telegram代理url(大陆地区服务器可使用一台国外服务器做反代tg的url),如果运行的本来就是境外服务器,则无需填写
tg_proxy=
#管理员userid
tg_manage=你的tgid

#api接口认证token
api_auth_token=changeyourpassword

#订单过期时间(单位分钟)
order_expiration_time=10

#强制汇率(设置此参数后每笔交易将按照此汇率计算,例如:6.4)
forced_usdt_rate=

注意:

  • 修改第 3 行 app_uri为上文为 epusdt准备的独立域名
  • 修改第 24 行 mysql_passwd为上节 MYSQL_PASSWORD用户密码 (注意:非 root 密码)
  • 修改第 55 行 api_auth_token=123qweASD创建一个密码用于 dujiaoka 支付设置中使用
  • 注意:因为本项目是独立部署到 docker compose 内,所以第 21,33 行已经修改为 db,redis,不能使用 127.0.0.1.
  • 修改第 48 行 tg_bot_token=为上文创建的 Telegram Bot 的 Token
  • 修改第 52 行 tg_manage=为上文创建的 Telegram Bot 的 ID

修改好之后,注意切换成英文输入法,然后按一下 esc,然后 :wq 保存退出。

vim epusdt.sql
-- auto-generated definition
create table orders
(
    id                   int auto_increment
        primary key,
    trade_id             varchar(32)    not null comment 'epusdt订单号',
    order_id             varchar(32)    not null comment '客户交易id',
    block_transaction_id varchar(128)   null comment '区块唯一编号',
    actual_amount        decimal(19, 4) not null comment '订单实际需要支付的金额,保留4位小数',
    amount               decimal(19, 4) not null comment '订单金额,保留4位小数',
    token                varchar(50)    not null comment '所属钱包地址',
    status               int default 1  not null comment '1:等待支付,2:支付成功,3:已过期',
    notify_url           varchar(128)   not null comment '异步回调地址',
    redirect_url         varchar(128)   null comment '同步回调地址',
    callback_num         int default 0  null comment '回调次数',
    callback_confirm     int default 2  null comment '回调是否已确认? 1是 2否',
    created_at           timestamp      null,
    updated_at           timestamp      null,
    deleted_at           timestamp      null,
    constraint orders_order_id_uindex
        unique (order_id),
    constraint orders_trade_id_uindex
        unique (trade_id)
);

create index orders_block_transaction_id_index
    on orders (block_transaction_id);

-- auto-generated definition
create table wallet_address
(
    id         int auto_increment
        primary key,
    token      varchar(50)   not null comment '钱包token',
    status     int default 1 not null comment '1:启用 2:禁用',
    created_at timestamp     null,
    updated_at timestamp     null,
    deleted_at timestamp     null
)
    comment '钱包表';

create index wallet_address_token_index
    on wallet_address (token);

不用修改,直接切换成英文输入法,然后按一下 esc,然后 :wq 保存退出。

运行

docker-compose up -d

方法二

下载 docker-compose.yml,epusdt.conf,epusdt.sql三个必要文件.

mkdir epusdt && cd epusdt
wget https://raw.githubusercontent.com/stilleshan/dockerfiles/main/epusdt/docker-compose.yml
wget https://raw.githubusercontent.com/stilleshan/dockerfiles/main/epusdt/epusdt.conf
wget https://raw.githubusercontent.com/stilleshan/dockerfiles/main/epusdt/epusdt.sql

初始化数据库

将下述命令中的 -pCHANGE_YOUR_PASSWORD的密码改为上述设置的新密码,注意需要保留前缀 -p,例如上文修改密码 MYSQL_PASSWORD=aaabbbccc,此处则为 -paaabbbccc.

如下图执行后无任何显示代表成功,否则将会报错.

docker exec -i epusdt-db-1 sh -c 'exec mysql -uepusdt -pCHANGE_YOUR_PASSWORD epusdt' < epusdt.sql

重启服务

docker-compose down
docker-compose up -d
# 或 restart 重启
docker-compose restart

检查服务

查看 epusdt服务,如下图所示 http server started on [::]:8000则表示成功.

docker logs -f 你的容器id

1719694126191.webp

1719694109549.webp

理论上我们就可以输入 http://ip:8090访问安装了,但是我们这边先做反代。

反向代理

参考教程:安装及使用

⚠️Nginx Proxy Manager(以下简称NPM)会用到80、443端口,所以本机不能占用(比如原来就有Nginx)

互联网使用请确保完成了域名解析

更新

cd /root/data/docker_data/epusdt

docker-compose pull

docker-compose up -d

卸载

cd /root/data/docker_data/epusdt

docker-compose down

rm -rf /root/data/docker_data/epusdt

这边也贴一个宝塔面板的反代配置

    location / {
      proxy_pass http://127.0.0.1:8090/;       # 注意改成你实际使用的端口
      rewrite ^/(.*)$ /$1 break;
      proxy_redirect off;
      proxy_set_header Host $host;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Upgrade-Insecure-Requests 1;
      proxy_set_header X-Forwarded-Proto https;
    }

此方法对 90% 的反向代理都能生效,然后就可以用域名来安装访问了。

使用教程

配置支付 – dujiaoka

登录 dujiaoka 后台 – 配置 – 支付配置

最下面开启 epusdt,并点击编辑.
注意:dujiaoka 2.0.5 版本及以上才默认支持 epusdt,其他版本请自行升级或者手动安装插件.

1719694257832.webp

修改参数

  • 商户ID修改为上述创建的密码 changeyourpassword
  • 商户密钥填写API地址 https://上文准备的usdt域名.com/api/v1/order/create-transaction

设置 usdt 收款地址

先点击机器人

1719694282989.webp再创建 usdt收款地址则完成所有部署。

1719694295725.webp