docs: 更新XICPresale v2交付日志 — 记录BSC主网部署地址和资金注入信息
This commit is contained in:
parent
4a7a5aec14
commit
a3753c04b9
|
|
@ -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 XIC(25亿) |
|
||||
| 代币价格 | $0.02 USDT/XIC |
|
||||
| 预售时长 | 180天 |
|
||||
| 预售硬顶 | $50,000,000 USDT(5000万) |
|
||||
| 预售时长 | 180天(半年) |
|
||||
| 购买限制 | 无上下限 |
|
||||
| 支付方式 | USDT(BSC 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 XIC(25亿) |
|
||||
| **转入时间** | 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 USDT(TRC20记录) |
|
||||
| 硬顶 | $50,000,000 USDT(25亿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.20,Optimization: 200)
|
||||
4. 部署参数:
|
||||
```
|
||||
_xicToken: 0x59FF34dD59680a7125782b1f6df2A86ed46F5A24
|
||||
_usdt: 0x55d398326f99059fF775485246999027B3197955
|
||||
_wallet: [Owner收款地址]
|
||||
_priceOracle: 0x0567F2323251f0Aab15c8dFb1967E4e8A7D42aeE
|
||||
```
|
||||
5. 部署成功后,记录新合约地址
|
||||
6. 向新合约转入 2,500,000,000 XIC(25亿)
|
||||
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
|
||||
```
|
||||
|
|
|
|||
Loading…
Reference in New Issue