独角数卡安装完整教程及USDT实用配置教程

   2024-04-16 09:41:13  
独角数卡程序下载:https://github.com/assimon/dujiaoka
独角数卡宝塔面板安装参考资料:https://github.com/assimon/dujiaoka/wiki/2.x_bt_install
宝塔开心版:https://bt.sy/
 
参考资料
GitHub仓库:https://github.com/assimon/epusdt
用到的Stille大佬镜像:https://github.com/stilleshan/dockerfiles/tree/main/epusdt
USDT视频教程 http://pan.1234f.com:5212/s/jPJi9
EPUSDT数据库下载;https://github.com/assimon/epusdt/blob/master/sql/v0.0.1.sql
epusdt数据库 v0.0.1.rar
7553ebb149e0b731d7b3a1f53778a32f.rar (762 Bytes)



1、宝塔面板开心版安装
Centos安装命令(默认安装是 8.0.1 直接在线升级 8.0.6)
yum install -y wget && wget -O install.sh http://io.bt.sy/install/install_6.0.sh && sh install.sh

试验性Centos/Ubuntu/Debian安装命令 独立运行环境(py3.7) 可能存在少量兼容性问题 不断优化中
curl -sSO http://io.bt.sy/install/install_panel.sh && bash install_panel.sh

Ubuntu Deepin安装命令:
wget -O install.sh http://io.bt.sy/install/install-ubuntu_6.0.sh && sudo bash install.sh

Debian安装命令:
wget -O install.sh http://io.bt.sy/install/install-ubuntu_6.0.sh && bash install.sh

 

必装环境

接下来我们安装一下下图六个软件:

最好是编译安装哦,性能更好。
由于在之前版本很多同学不会使用supervisor,所以2.0.+版本我们会采用较为简单的堡塔应用管理器来实现守护进程。
 

PHP环境确认

一、 接下来我们按照步骤删除一下php的禁用函数

(ps:宝塔默认会禁用一些php的函数,导致artisan命令无法正确运行)

点击【软件商店】->【PHP设置】->【禁用函数列表】 将以下函数删除!!
putenvproc_openpcntl_signalpcntl_alarm

二、 我们再装一下必要的两个扩展

点击【软件商店】->【PHP设置】->【安装扩展】
安装以下三个扩展:
fileinforedisopcache(可选安装,性能加强)

新建一个网站

一、在宝塔里新建一个网站用于运行本项目

二、上传我们的项目代码

请选择xxx_build.tar.gz压缩包。
一定要选择带build字样的包,才有依赖!
独角数卡发行版本下载地址:独角数卡各发行版本
备用下载地址:http://pan.1234f.com:5212/s/LjDUK 密码:j2wwjv

三、设置项目伪静态和运行目录

解压项目代码后,我们点击网站的设置
设置运行目录:

设置伪静态:

开始安装

一、访问你的网站域名,进入安装流程

二、按实际情况填写网站配置信息

配置守护进程

注意,很多人嫌麻烦不配置这一步,那你出了问题别哔哔!⚠ ⚠ ⚠
注意,很多人嫌麻烦不配置这一步,那你出了问题别哔哔!⚠ ⚠ ⚠
注意,很多人嫌麻烦不配置这一步,那你出了问题别哔哔!⚠ ⚠ ⚠

堡塔应用管理器是我们用来管理laravel队列进程的工具。

很多同学喜欢问可不可以不执行这一步。

现在我明确的告诉你,不可以!请按照教程来,不然可以选择不使用。

没有它的话你的程序执行会异常!

如果不喜欢使用堡塔应用管理器,那么使用1.x版本supervisor也是可以的,两个必须选一个! 必选题!

一、堡塔应用管理器配置教程

进入宝塔控制面板: 步骤:【软件商店】->【堡塔应用管理器设置】->【添加应用】 如图:

名称:随意,如dujiao
应用环境: 选择php7.4
启动文件: 网站根目录 + /artisan
执行目录: 网站根目录
启动参数:  queue:work

保存即可!

如果遇到没有自己的php版本怎么办?或者系统有多个php版本,但是应用环境没有自己想要的那个php版本怎么办?

请看下一步新增应用环境

新增应用环境

环境名称可以随便填。

启动文件一般是 /www/server/php/72/bin/php

注意哦,我这里是72就是php7.2,你可能是73或者74。按照自己来,我这里只是举例!

二、supervisor配置教程

步骤:【软件商店】->【Supervisor设置】->【添加守护进程】 如图:

命令参考:

/www/server/php/74/bin/php /www/wwwroot/dujiaoka/artisan queue:work

名称:随意填写
启动用户:选择www
运行目录:选择程序根目录
启动命令:/www/server/php/你的php版本/bin/php /www/wwwroot/你的网站根目录/artisan queue:work

请注意你自己的php版本和网站根目录。不要瞎抄照着我的写? 注意命令之间的空格。

 

后台登录出现0err

出现这个问题大概率是开启了nginx的https或者强制https访问,导致请求接口出错。
牢记一个原则,只要开启了https访问,那么后台也要开启https!
解决这个问题的方法,就是编辑网站根目录.env文件。
配置如下选项(如果没有就新增):

ADMIN_HTTPS=true

上传了图片不显示或图片显示错误

编辑根目录下.env文件,
将APP_URL修改为自己的域名

后台操作提交出现500错误

点击后台导入保存更新操作按钮的时候,提示500错误!
这种情况多半是被宝塔防火墙或者cdn防火墙拦截了。
请检查一下相应的拦截日志,并放行后台路径!




 

2. 项目展示





3. 相关地址

GitHub官方仓库:https://github.com/assimon/epusdt

此次用到的GitHub仓库:https://github.com/stilleshan/dockerfiles/tree/main/epusdt

4. 搭建环境
服务器:用的是Racknerd的高性价比服务器(注意地区选美国西部城市的)这个涉及支付和加密货币,不建议用国内的服务器
系统:Debian 11 (DD 脚本 非必需 DD,用原来的系统也 OK,之后教程都是用 Debian 或者 Ubuntu 搭建~)
安装好 Docker、Docker-compose(相关脚本)
【非必需但建议】域名一枚,并做好解析到服务器上(域名购买、域名解析 视频教程)
【非必需】提前安装好宝塔面板海外版本 aapanel,并安装好 Nginx(安装地址)
一个telegram号
服务器要求:内存建议1G,能安装Docker即可~



6.2 新建telegram机器人并获取token

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


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


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

6.3 获取telegram id
搜索:https://t.me/getmyid_bot


得到你的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.3 打开服务器防火墙(非必需)并访问网页
打开防火墙的端口 8090

举例,腾讯云打开方法如下(部分服务商没有自带的面板防火墙,就不用这步操作了):



图中示例填的是 5230,备注填的是 memos,这边我们填 8090,示例填 epusdt ,确定即可(如果你在 docker-compose 文件里换了 9009,这边就需要填 9009,以此类推)


查看端口是否被占用(以 8090 为例),输入:

lsof -i:8090 #查看 8090 端口是否被占用,如果被占用,重新自定义一个端口
如果啥也没出现,表示端口未被占用,我们可以继续下面的操作了~

如果出现:

-bash: lsof: command not found
运行:

apt install lsof #安装 lsof
如果端口没有被占用(被占用了就修改一下端口,比如改成 8081,注意 docker 命令行里和防火墙都要改)

最后:

cd /root/data/docker_data/epusdt # 来到 dockercompose 文件所在的文件夹下

docker-compose up -d 
6.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
6.7 重启服务
docker-compose down
docker-compose up -d
# 或 restart 重启
docker-compose restart
6.8 检查服务
查看epusdt服务,如下图所示http server started on [::]:8000则表示成功.

docker logs -f 你的容器id
通过docker ps 可以查看到容器id



这边就是:usdt_epusdt_1

所以:

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


6.4 更新 epusdt
插一个更新和卸载的方法,docker搭建通用。

cd /root/data/docker_data/epusdt

docker-compose down 

cp -r /root/data/docker_data/epusdt /root/data/docker_data/epusdt.archive # 万事先备份,以防万一

docker-compose pull

docker-compose up -d # 请不要使用 docker-compose stop 来停止容器,因为这么做需要额外的时间等待容器停止;docker-compose up -d 直接升级容器时会自动停止并立刻重建新的容器,完全没有必要浪费那些时间。

docker image prune # prune 命令用来删除不再使用的 docker 对象。删除所有未被 tag 标记和未被容器使用的镜像
提示:

WARNING! This will remove all dangling images.
Are you sure you want to continue? [y/N] 
输入 y

利用 Docker 搭建的应用,更新非常容易~

6.5 卸载 epusdt
cd /root/data/docker_data/epusdt

docker-compose down

cd ..

rm -rf /root/data/docker_data/epusdt # 完全删除映射到本地的数据
可以卸载得很干净。

7. 反向代理
我们要用域名而不是IP+端口的方式来访问我们的服务!

7.1 利用 Nginx Proxy Manager


8. 使用教程
8.1 配置支付 - 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收款地址则完成所有部署。


可以自己测试一下。

9. 结尾
祝大家用得开心



 



声明:本文系互联网搜索百度而收集整理,不以盈利性为目的,文字、图文资料源于互联网且共享于互联网。
如有侵权,请联系 hzy98999#qq.com (#改@) 删除。