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

5.7 KiB
Raw Permalink Blame History

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

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. MySQLAI服务器上有两套MySQL

    • 系统MySQL 8.0/usr/sbin/mysqld):正在使用,数据在 /var/lib/mysql/
    • 宝塔MySQL 5.7.43/www/server/mysql/bin/mysqld):系统表损坏,不使用
    • MySQL root密码NACroot2026!(已重置)
  2. MongoDBAI服务器上有重要AI数据约11,000+条)

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