diff --git a/logs/nac-presale-deploy-20260310.md b/logs/nac-presale-deploy-20260310.md new file mode 100644 index 0000000..7bc8887 --- /dev/null +++ b/logs/nac-presale-deploy-20260310.md @@ -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 | 项目初始化,数据库结构设计 |