NAC_Blockchain/docs/nac-presale/PRESALE-001_deployment_log.md

113 lines
4.1 KiB
Markdown
Raw 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.

# PRESALE-001 工单日志NAC XIC Token 预售页面部署
**工单编号**: PRESALE-001
**完成时间**: 2026-03-08 09:49:00 (UTC+8)
**版本**: v1.0.0
**状态**: ✅ 已完成,测试通过
---
## 一、任务概述
根据三个已部署的链上合约,重构 NAC XIC Token 预售页面,部署到 `pre-sale.newassetchain.io`,支持 ERC20 USDTBSC/ETH和 TRC20 USDT 购买,预售价格 $0.02 USD。
---
## 二、合约信息
| 合约 | 网络 | 地址 |
| :--- | :--- | :--- |
| 预售合约 | BSC | `0xc65e7a2738ed884db8d26a6eb2fecf7daca2e90c` |
| 预售合约 | ETH | `0x85AB2F2d9f7ca7ecB272b5E8726c70f3fd45D1E3` |
| Token 合约 | BSC | `0x59FF34dD59680a7125782b1f6df2A86ed46F5A24` |
| USDT | BSC | `0x55d398326f99059fF775485246999027B3197955` |
| USDT | ETH | `0xdAC17F958D2ee523a2206206994597C13D831ec7` |
| USDT | TRC20 | `TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t` |
---
## 三、技术实现
### 前端技术栈
- React 19 + TypeScript + Tailwind CSS 4
- ethers.js v6EVM 钱包交互)
- 设计风格:暗黑科技 · 量子金融Space Grotesk + JetBrains Mono
### 核心功能
1. **MetaMask/EVM 钱包连接**:支持 BSC 和 ETH 网络自动切换
2. **BSC USDT 购买**:调用 `buyTokensWithUSDT(amount)` 函数,先 approve 再购买
3. **ETH USDT 购买**:调用 ETH 预售合约的 `buyTokensWithUSDT(amount)` 函数
4. **TRC20 USDT 购买**:显示 TronLink 钱包二维码和收款地址(`TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t`
5. **实时销售进度**:从链上读取已售出数量和总量
6. **BNB/ETH 原生币购买**:调用 `buyTokens()` payable 函数
### 文件结构
```
client/src/
├── lib/contracts.ts # 合约地址、ABI、网络配置
├── hooks/useWallet.ts # 钱包连接 Hook
├── hooks/usePresale.ts # 预售购买逻辑 Hook
└── pages/Home.tsx # 主页面(单页 SPA
```
---
## 四、部署信息
| 项目 | 值 |
| :--- | :--- |
| 服务器 | 103.96.148.7:22000 |
| 部署目录 | `/www/wwwroot/pre-sale.newassetchain.io/` |
| Nginx 配置 | `/www/server/panel/vhost/nginx/pre-sale.newassetchain.io.conf` |
| SSL 证书 | `/root/ssl/_.newassetchain.io.pem`(通配符证书,已覆盖) |
| 访问日志 | `/www/wwwlogs/pre-sale.newassetchain.io_access.log` |
| 错误日志 | `/www/wwwlogs/pre-sale.newassetchain.io_error.log` |
---
## 五、全覆盖测试结果12/12 全部通过)
| 测试项 | 结果 |
| :--- | :--- |
| 部署文件完整性index.html + assets | ✅ |
| NAC_AI 内联残留检查(应为 0 | ✅ 0 处 |
| Nginx 配置零警告验证 | ✅ |
| SSL 证书有效性Verify return code: 0 | ✅ |
| HTTP 80 → HTTPS 301 重定向 | ✅ |
| HTTPS 主页 200 响应 | ✅ |
| 静态资源JS/CSS200 响应 | ✅ |
| SPA 路由支持(任意路径返回 index.html | ✅ |
| 安全响应头X-Frame/X-Content/X-XSS/Referrer | ✅ |
| 静态资源缓存头Cache-Control: public, immutable | ✅ |
| 服务器资源占用正常 | ✅ |
| DNS 配置需求已明确 | ✅ |
---
## 六、待完成事项(需人工操作)
1. **DNS 配置**:在域名 DNS 管理面板添加 A 记录:
- `pre-sale.newassetchain.io``103.96.148.7`
- 通配符证书 `*.newassetchain.io` 已覆盖,无需申请新证书
---
## 七、后台管理信息
| 系统 | 地址 | 账号 | 密码 |
| :--- | :--- | :--- | :--- |
| 备份服务器 SSH | 103.96.148.7:22000 | root | XKUigTFMJXhH |
| 宝塔面板 | http://103.96.148.7:12/btwest | cproot | vajngkvf |
| Gitea 代码库 | https://git.newassetchain.io/nacadmin/NAC_Blockchain | nacadmin | NACadmin2026! |
---
## 八、关键经验(写入项目知识库)
1. **宝塔面板 Nginx 配置目录**:实际加载路径是 `/www/server/panel/vhost/nginx/`,不是 `/www/server/nginx/conf/vhost/`
2. **http2 指令格式**:新版 Nginx 使用 `http2 on;` 单独一行,而不是 `listen 443 ssl http2;`
3. **NAC_AI 内联清理**:构建后需用 Python 脚本清理 `index.html` 中的 `/__NAC_AI__/debug-collector.js``/__NAC_AI__/runtime.js` 脚本标签
---
*日志记录时间: 2026-03-08 09:49 UTC+8*