docs: 更新XICPresale v2交付日志 — 记录BSC主网部署地址和资金注入信息

This commit is contained in:
nacadmin 2026-03-10 02:35:57 +08:00
parent 4a7a5aec14
commit a3753c04b9
1 changed files with 80 additions and 152 deletions

View File

@ -1,194 +1,122 @@
# NAC XIC 预售系统 — 工作日志与交付报告
# XIC预售合约交付日志
**日期:** 2026-03-10
**工单编号:** NAC-PRESALE-V2
**状态:** ✅ 已完成,待合约部署
## 工单信息
- **工单编号**NAC-PRESALE-V2
- **工单标题**XIC Token预售合约升级 — 购买即时发放版本
- **负责人**Manus AI Agent
- **开始时间**2026-03-09
- **完成时间**2026-03-09
---
## 一、本次工作内容摘要
## 一、问题背景
### 1. 合约深度分析(三份合约逐行反汇编)
原有BSC预售合约`0xc65e7a2738ed884db8d26a6eb2fecf7daca2e90c`)仅实现"收款+记账"功能用户支付USDT后不会自动收到XIC代币需要人工手动发放。旧合约几乎无交易记录仅7.5 XIC更换代价最小。
| 合约 | 地址 | 分析结论 |
|---|---|---|
| BSC预售合约 | `0xc65e7a2738ed884db8d26a6eb2fecf7daca2e90c` | 只收款记账无XIC发放 |
| ETH预售合约 | `0x85AB2F2d9f7ca7ecB272b5E8726c70f3fd45D1E3` | 同上 |
| Claim合约(nonce=53) | `0x19877327ce8e7bf1b4daf48e41f4d2420d2cee6f` | 有claim()函数但XIC余额=0 |
| XIC Token合约 | `0x59FF34dD59680a7125782b1f6df2A86ed46F5A24` | 1000亿XIC全在Owner钱包 |
---
**关键发现:** 现有合约系统为"先记账后Claim"模式,无法实现购买即时到账。
## 二、新合约部署信息
### 2. 决策开发新预售合约方案A
| 项目 | 值 |
|---|---|
| **合约名称** | XICPresale (v2) |
| **BSC合约地址** | `0x5953c025dA734e710886916F2d739A3A78f8bbc4` |
| **部署交易哈希** | `0x6d590cfeeb4fbd751705aa7781b011274837f9dd83459f4aa33d0e9b8eef9d75` |
| **部署时间** | 2026-03-09 |
| **部署者地址** | `0x2AECd58D9bA4CA79B253E11Bd463e3d4a54D65cf` |
| **网络** | BSC Mainnet (Chain ID: 56) |
| **BscScan** | https://bscscan.com/address/0x5953c025dA734e710886916F2d739A3A78f8bbc4 |
用户选择**方案A重新部署预售合约实现购买即时发放XIC**。
---
**理由:**
- 现有合约几乎无交易记录soldTokens = 7.5 XIC换合约代价最小
- 购买即时到账用户体验最佳
- XIC代币合约不变不影响代币信用
## 三、合约参数
### 3. 新合约 XICPresale.sol 开发完成
**合约参数:**
| 参数 | 值 |
|---|---|
| 预售总量 | 25亿 XIC |
| XIC Token地址 | `0x59FF34dD59680a7125782b1f6df2A86ed46F5A24` |
| USDT地址 | `0x55d398326f99059fF775485246999027B3197955` |
| 收款钱包 | `0x2AECd58D9bA4CA79B253E11Bd463e3d4a54D65cf` |
| BNB价格预言机 | `0x0567F2323251f0Aab15c8dFb1967E4e8A7D42aeE` |
| 预售总量 | 2,500,000,000 XIC25亿 |
| 代币价格 | $0.02 USDT/XIC |
| 预售时长 | 180天 |
| 预售硬顶 | $50,000,000 USDT5000万 |
| 预售时长 | 180天半年 |
| 购买限制 | 无上下限 |
| 支付方式 | USDTBSC 18位精度 |
| 发放方式 | **购买即时发放**(同一笔交易内) |
**合约功能:**
- `buyWithUSDT(uint256 usdtAmount)` — 购买并即时发放XIC
- `buyWithBNB()` — 用BNB购买通过价格预言机换算
- `recoverUnsoldTokens()` — 预售结束后回收未售出XIC
- `withdrawUSDT()` — Owner提取收到的USDT
- `updatePrice(uint256)` — 更新XIC价格
- `pausePresale()` / `resumePresale()` — 暂停/恢复预售
- `extendPresale(uint256)` — 延长预售时间
**合约文件位置AI服务器**
```
/www/wwwroot/contracts/XICPresale_v2/
├── XICPresale.sol # 完整Solidity源代码
├── XICPresale.abi.json # ABI文件
└── DEPLOY_MANUAL.md # 部署操作手册
```
### 4. 前端代码更新
**更新文件:**
- `client/src/lib/contracts.ts` — 新合约ABI、地址、参数$0.02价格25亿硬顶
- `client/src/hooks/usePresale.ts` — 新函数名`buyWithUSDT`BSC USDT 18位精度
- `server/onchain.ts` — 新合约函数名、硬顶$5000万USDT
- `client/src/main.tsx` — 移除Manus OAuth重定向
- `vite.config.ts` — 移除Manus allowedHosts内联
### 5. MANUS内联清除
| 文件 | 清除内容 |
|---|---|
| `vite.config.ts` | allowedHosts中的manus.computer等域名、vitePluginManusRuntime插件 |
| `client/src/main.tsx` | Manus OAuth未授权重定向逻辑 |
**验证结果:**
```
dist/index.js: 0个MANUS引用 ✅
前端JS bundle: 0个MANUS引用 ✅
```
| 发放方式 | 购买即时发放(同一笔交易内) |
---
## 二、系统账号密码
### 后台管理员
## 四、资金注入记录
| 项目 | 值 |
|---|---|
| 管理员后台地址 | `https://pre-sale.newassetchain.io/admin` |
| 管理员密码 | `NACadmin2026!` |
| **转账交易哈希** | `0xb526897a0b0aaa0fe28465876c3e98a5e320e4d0c95ff2468674fca596d6cd90` |
| **转入金额** | 2,500,000,000 XIC25亿 |
| **转入时间** | 2026-03-09 |
| **区块号** | 85631788 |
| **BscScan** | https://bscscan.com/tx/0xb526897a0b0aaa0fe28465876c3e98a5e320e4d0c95ff2468674fca596d6cd90 |
### AI服务器43.224.155.27
---
## 五、前端更新记录
| 文件 | 更新内容 |
|---|---|
| `client/src/lib/contracts.ts` | BSC presale地址更新为新合约地址 |
| `server/onchain.ts` | BSC presale地址更新为新合约地址 |
---
## 六、部署服务器信息
| 项目 | 值 |
|---|---|
| SSH端口 | 22000 |
| 用户名 | root |
| 密码 | vajngkvf |
| 宝塔面板 | http://43.224.155.27:12/btwest |
| 面板账号 | cproot |
| 面板密码 | vajngkvf |
### 备份服务器103.96.148.7
| 项目 | 值 |
|---|---|
| SSH端口 | 22000 |
| 用户名 | root |
| 密码 | XKUigTFMJXhH |
| 宝塔面板 | http://103.96.148.7:12/btwest |
| 面板账号 | cproot |
| 面板密码 | vajngkvf |
| **服务器** | AI服务器 43.224.155.27 |
| **项目路径** | `/www/wwwroot/nac-presale-test` |
| **PM2进程名** | `nac-presale-test` |
| **端口** | 3100 |
| **域名** | https://pre-sale.newassetchain.io |
| **Nginx配置** | `/etc/nginx/conf.d/nac-presale.conf` |
---
## 三、部署状态
## 七、测试验证
### 已完成
| 项目 | 状态 |
| 测试项 | 结果 |
|---|---|
| 新合约 XICPresale.sol 编写 | ✅ 完成 |
| 合约编译ABI + bytecode | ✅ 完成 |
| 前端代码更新 | ✅ 完成 |
| MANUS内联清除 | ✅ 完成 |
| 重新构建Mar 10 01:43 | ✅ 完成 |
| PM2服务重启 | ✅ 完成 |
| API测试通过 | ✅ 通过 |
| 合约文件备份到AI服务器 | ✅ 完成 |
### 待完成需Owner操作
| 步骤 | 操作 | 说明 |
|---|---|---|
| **Step 1** | 在BSC上部署 XICPresale.sol | 使用Remix IDE或Hardhat需要Owner钱包 |
| **Step 2** | 向新合约转入25亿XIC | XIC Token合约 → transfer(新合约地址, 2500000000×10^18) |
| **Step 3** | 更新前端合约地址 | contracts.ts中的 `BSC.presale: "PENDING_DEPLOYMENT"` 改为新地址 |
| **Step 4** | 重新构建并重启 | `pnpm run build && pm2 restart nac-presale-test` |
| tRPC API `/api/trpc/presale.stats` | ✅ 正常返回数据 |
| 前端页面访问 | ✅ 正常 |
| 合约XIC余额 | ✅ 2,500,000,000 XIC |
| PM2服务状态 | ✅ online |
---
## 四、测试结果
## 八、待完成事项
### 服务状态
| 服务 | 端口 | 状态 |
|---|---|---|
| nac-presale-test | 3100 | ✅ online |
| nginx反向代理 | 443 | ✅ 正常 |
### API测试
| 端点 | 结果 |
|---|---|
| GET / | HTTP 200 ✅ |
| GET /api/trpc/presale.stats | 返回正确数据 ✅ |
| 总筹款 | $9,900 USDTTRC20记录 |
| 硬顶 | $50,000,000 USDT25亿XIC×$0.02 |
| 预售状态 | live ✅ |
### 访问地址
| 环境 | 地址 |
|---|---|
| 测试环境 | https://pre-sale.newassetchain.io |
| 管理后台 | https://pre-sale.newassetchain.io/admin |
- [ ] 在BscScan上验证合约源码Verify & Publish
- [ ] 完整购买流程端到端测试连接MetaMask → 购买 → 验证XIC到账
---
## 五、新合约部署操作手册(摘要)
## 九、合约核心函数
详细步骤见:`/www/wwwroot/contracts/XICPresale_v2/DEPLOY_MANUAL.md`
```solidity
// 购买函数USDT支付即时发放XIC
function buyWithUSDT(uint256 usdtAmount) external
### 快速部署步骤
// 购买函数BNB支付即时发放XIC
function buyWithBNB() external payable
1. 打开 [Remix IDE](https://remix.ethereum.org)
2. 新建文件 `XICPresale.sol`,粘贴合约源码
3. 编译Solidity 0.8.20Optimization: 200
4. 部署参数:
```
_xicToken: 0x59FF34dD59680a7125782b1f6df2A86ed46F5A24
_usdt: 0x55d398326f99059fF775485246999027B3197955
_wallet: [Owner收款地址]
_priceOracle: 0x0567F2323251f0Aab15c8dFb1967E4e8A7D42aeE
```
5. 部署成功后,记录新合约地址
6. 向新合约转入 2,500,000,000 XIC25亿
7. 更新前端 contracts.ts 中的 `BSC.presale` 地址
8. 重新构建:`pnpm run build && pm2 restart nac-presale-test`
// 查看可用XIC余额
function availableXIC() external view returns (uint256)
---
// 预售进度(已售/硬顶/进度bps
function presaleProgress() external view returns (uint256 sold, uint256 cap, uint256 progressBps)
*日志生成时间2026-03-10 01:52 UTC+8*
// 预售结束后回收未售出代币Owner专用
function recoverUnsoldTokens() external
// 紧急提取Owner专用
function emergencyWithdraw(address token) external
```