docs: XIC预售系统完整部署日志 [2026-03-10]

This commit is contained in:
nacadmin 2026-03-10 07:33:03 +08:00
parent 95f260e63b
commit 78f44e6789
1 changed files with 198 additions and 0 deletions

View File

@ -0,0 +1,198 @@
# NAC XIC预售系统 部署日志
## 模块nac-presaleXIC代币预售系统
**部署日期**2026-03-10
**服务器**AI服务器 43.224.155.27
**服务端口**3100
**访问地址**https://pre-sale.newassetchain.io
**管理后台**https://pre-sale.newassetchain.io/admin
**代码仓库**https://git.newassetchain.io/nacadmin/nac-presale
---
## 系统架构
```
前端React 19 + Tailwind 4
Node.js服务端tRPC + Express
MySQL 8.0127.0.0.1:3306数据库nac_presale
区块链节点BSC/ETH/TRON
```
## 技术栈
| 组件 | 技术 | 说明 |
|------|------|------|
| 前端框架 | React 19 + Vite | 深色赛博朋克风格 |
| UI组件库 | Tailwind 4 + shadcn/ui | |
| 后端框架 | Node.js + tRPC 11 + Express 4 | |
| 数据库 | MySQL 8.0 | 本机127.0.0.1:3306 |
| 进程管理 | PM2 | 进程ID: 8名称: nac-presale-test |
| 反向代理 | Nginx | /etc/nginx/conf.d/nac-presale.conf |
| SSL证书 | 通配符证书 *.newassetchain.io | |
---
## 数据库结构
**数据库名**`nac_presale`
**数据库用户**`nac_presale`密码NACpresale2026!
### 表结构
#### `trc20_purchases` - TRC20购买记录
| 字段 | 类型 | 说明 |
|------|------|------|
| id | INT AUTO_INCREMENT | 主键 |
| txHash | VARCHAR(100) UNIQUE | 交易哈希 |
| fromAddress | VARCHAR(50) | TRC20发送地址 |
| usdtAmount | DECIMAL(18,6) | USDT金额 |
| xicAmount | DECIMAL(18,6) | XIC代币数量 |
| status | ENUM | pending/confirmed/distributed/failed |
| evmAddress | VARCHAR(50) | 接收XIC的EVM地址可选 |
| createdAt | DATETIME | 创建时间 |
#### `presale_config` - 预售配置
| 字段 | 类型 | 说明 |
|------|------|------|
| id | INT | 主键固定为1 |
| tokenPrice | DECIMAL | XIC价格默认0.02 USDT |
| hardCap | DECIMAL | 硬顶默认50,000,000 USDT |
| presaleStatus | ENUM | live/paused/ended |
| bscContractAddress | VARCHAR | BSC合约地址 |
| ethContractAddress | VARCHAR | ETH合约地址 |
| trc20ReceivingWallet | VARCHAR | TRC20接收钱包地址 |
#### `trc20_intents` - TRC20购买意向
| 字段 | 类型 | 说明 |
|------|------|------|
| id | INT | 主键 |
| evmAddress | VARCHAR | 用户EVM地址 |
| expectedUsdt | DECIMAL | 预期USDT金额 |
| status | ENUM | pending/matched/expired |
#### `users` - 用户表
| 字段 | 类型 | 说明 |
|------|------|------|
| id | INT | 主键 |
| address | VARCHAR | EVM钱包地址 |
| role | ENUM | admin/user |
---
## 核心功能模块
### 1. TRC20监控守护进程`server/trc20Monitor.ts`
- 每30秒轮询TRON链上的USDT转账
- 自动匹配购买意向evmAddress
- 检测到转账后自动创建购买记录
- 通过Telegram机器人发送通知
### 2. 链上数据查询(`server/onchain.ts`
- BSC合约数据查询每5分钟更新缓存
- ETH合约数据查询每5分钟更新缓存
- TRC20统计汇总
### 3. 管理后台(`client/src/pages/Admin.tsx`
- 密码登录默认密码NACadmin2026!
- 查看所有购买记录
- 手动分发XIC代币
- 修改预售配置
- 查看统计数据
### 4. 购买流程
**BSC/ETHEVM链**
1. 用户连接MetaMask钱包
2. 输入USDT金额
3. 授权USDT → 调用合约购买 → 自动分发XIC
**TRC20TRON链**
1. 用户填写EVM接收地址创建购买意向
2. 向指定TRC20地址转账USDT
3. 监控进程检测到转账 → 自动匹配 → 记录购买
4. 管理员手动分发XIC或自动分发
---
## 服务配置
### PM2配置
```
进程名nac-presale-test
进程ID8
端口3100
启动命令NODE_ENV=production node dist/index.js
工作目录:/www/wwwroot/nac-presale-test
```
### Nginx配置`/etc/nginx/conf.d/nac-presale.conf`
```nginx
server {
listen 443 ssl http2;
server_name pre-sale.newassetchain.io;
ssl_certificate /etc/ssl/newassetchain/_.newassetchain.io.crt;
ssl_certificate_key /etc/ssl/newassetchain/_.newassetchain.io.key;
location / {
proxy_pass http://127.0.0.1:3100;
}
}
```
---
## 当前数据状态2026-03-10
| 指标 | 数值 |
|------|------|
| TRC20购买记录 | 1条 |
| 已筹集USDT | 9,900 USDT |
| 已售出XIC | 495,000 XIC |
| 预售状态 | live进行中 |
**已知购买记录**
- 交易哈希:`d49965f9783efad7dd52121c7f290ba53b8b8250cae0d0bc223cfa74edac1b0e`
- 发送地址:`TKRYXhhpnufNH14LxgNcRG7G1y79QeNEb6`
- 金额9,900 USDT → 495,000 XIC
- 状态confirmed待分发无EVM地址
---
## 运维注意事项
1. **MySQL**AI服务器上有两套MySQL
- 系统MySQL 8.0`/usr/sbin/mysqld`):正在使用,数据在 `/var/lib/mysql/`
- 宝塔MySQL 5.7.43`/www/server/mysql/bin/mysqld`):系统表损坏,不使用
- MySQL root密码`NACroot2026!`(已重置)
2. **MongoDB**AI服务器上有重要AI数据约11,000+条)
- 数据库:`nac_ai`3,365条技术文档 + 6,775条合规规则
- 不要随意操作MongoDB
3. **AI服务**7个PM2进程在运行不要随意重启
4. **宝塔面板**宝塔管理的是5.7.43已损坏不显示系统MySQL 8.0的数据库,这是正常的
---
## 管理员信息
| 项目 | 值 |
|------|-----|
| 管理后台地址 | https://pre-sale.newassetchain.io/admin |
| 管理员密码 | NACadmin2026! |
| MySQL root密码 | NACroot2026! |
| MySQL presale用户密码 | NACpresale2026! |
---
## 变更历史
| 日期 | 变更内容 |
|------|---------|
| 2026-03-10 | 初始部署修复MySQL启动问题初始化预售配置同步代码到Gitea |
| 2026-03-09 | 前端完整开发深色赛博朋克风格TRC20监控管理后台 |
| 2026-03-08 | 项目初始化,数据库结构设计 |