docs: XIC预售系统完整部署日志 [2026-03-10]
This commit is contained in:
parent
95f260e63b
commit
78f44e6789
|
|
@ -0,0 +1,198 @@
|
||||||
|
# NAC XIC预售系统 部署日志
|
||||||
|
|
||||||
|
## 模块:nac-presale(XIC代币预售系统)
|
||||||
|
|
||||||
|
**部署日期**: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.0(127.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/ETH(EVM链)**:
|
||||||
|
1. 用户连接MetaMask钱包
|
||||||
|
2. 输入USDT金额
|
||||||
|
3. 授权USDT → 调用合约购买 → 自动分发XIC
|
||||||
|
|
||||||
|
**TRC20(TRON链)**:
|
||||||
|
1. 用户填写EVM接收地址(创建购买意向)
|
||||||
|
2. 向指定TRC20地址转账USDT
|
||||||
|
3. 监控进程检测到转账 → 自动匹配 → 记录购买
|
||||||
|
4. 管理员手动分发XIC(或自动分发)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 服务配置
|
||||||
|
|
||||||
|
### PM2配置
|
||||||
|
```
|
||||||
|
进程名:nac-presale-test
|
||||||
|
进程ID:8
|
||||||
|
端口: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 | 项目初始化,数据库结构设计 |
|
||||||
Loading…
Reference in New Issue