nac-docs-center/logs/nac-presale-deploy-20260310.md

199 lines
5.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 | 项目初始化,数据库结构设计 |