搭建方式
1 安装 Docker 与 Nginx Proxy Manager
可以直接参考这篇内容:
2 新建telegram机器人并获取token
搜索BotFather
注意有很多假冒的,别弄错了
/newbot
一步一步按照提示创建即可
创建成功之后,这边就会获得一个API的token,类似:6247111111:Asdajkdaksdhkajshi6aUa6pXH4Rxc
3 获取telegram id
得到你的user ID,类似:980888097
6.4 创建安装目录
创建一下安装的目录:
sudo -i
mkdir -p /root/data/docker_data/epusdt
cd /root/data/docker_data/epusdt
这边我们直接用 docker 的方式安装。
vim docker-compose.yml
英文输入法下,按 i
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
保存退出。
6 初始化数据库
将下述命令中的-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
7 重启服务
docker-compose down
docker-compose up -d
# 或 restart 重启
docker-compose restart
配置反向代理和证书就不详细说了,参考 https://gui.ge/archives/1558
配置支付 – dujiaoka
登录 dujiaoka 后台 – 配置 – 支付配置
最下面开启epusdt
,并点击编辑.
注意:dujiaoka 2.0.5 版本及以上才默认支持epusdt
,其他版本请自行升级或者手动安装插件.
修改参数
- 商户ID修改为上述创建的密码
changeyourpassword
- 商户密钥填写API地址
https://上文准备的usdt域名.com/api/v1/order/create-transaction
比如咕咕这边就是:https://testusdt.gugu.ovh/api/v1/order/create-transaction
设置 usdt 收款地址
先点击机器人,
再创建usdt
收款地址则完成所有部署。
可以自己测试一下。