- React + TypeScript + Vite 项目结构 - WalletConnect 钱包连接功能 - WUSD 铸造页面(含边界测试) - Vault 交易页面(买入/卖出 YT,含边界测试) - Factory 管理页面(创建 Vault、更新价格,含权限测试) - 中英文国际化支持 - 显示 Owner/Manager 角色信息 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
4.3 KiB
4.3 KiB
YT Asset 合约测试前端项目
项目概述
这是一个用于测试 YT Asset 合约的前端项目,使用 React + TypeScript + WalletConnect 技术栈。
仓库信息
- Git仓库: https://code.desunweb3.com/xie/Heyue_test.git
- 账号: xie
- 访问令牌: ed6a912e50da5e7c67ce64608f112fa1e6b7b71d
- 克隆命令:
git clone https://xie:ed6a912e50da5e7c67ce64608f112fa1e6b7b71d@code.desunweb3.com/xie/Heyue_test.git
部署信息
- 域名: https://maxfight.vip
- 服务器IP: 152.69.205.186
- 端口: 50001
- 反向代理配置: /opt/1panel/apps/openresty/openresty/www/sites/maxfight.vip/proxy/root.conf
合约信息 (Arbitrum Sepolia 测试网)
测试私钥
0xa082a7037105ebd606bee80906687e400d89899bbb6ba0273a61528c2f5fab89
合约地址
| 合约 | 地址 |
|---|---|
| YTAssetFactory | 0x6DaB73519DbaFf23F36FEd24110e2ef5Cfc8aAC9 |
| YT-A | 0x0cA35994F033685E7a57ef9bc5d00dd3cf927330 |
| YT-B | 0x333805C9EE75f59Aa2Cc79DfDe2499F920c7b408 |
| YT-C | 0x6DF0ED6f0345F601A206974973dE9fC970598587 |
| WUSD | 0x939cf46F7A4d05da2a37213E7379a8b04528F590 |
合约文档位置
/root/Heyue_test/document/合约文档.md
项目结构
/root/Heyue_test/
├── frontend/ # 前端项目目录
│ ├── src/
│ │ ├── config/
│ │ │ ├── wagmi.ts # WalletConnect配置
│ │ │ └── contracts.ts # 合约地址和ABI
│ │ ├── components/
│ │ │ ├── ConnectButton.tsx # 钱包连接按钮
│ │ │ ├── LanguageSwitch.tsx # 语言切换组件
│ │ │ ├── WUSDPanel.tsx # WUSD铸造面板
│ │ │ ├── VaultPanel.tsx # Vault交易面板
│ │ │ └── FactoryPanel.tsx # Factory管理面板
│ │ ├── i18n/
│ │ │ ├── index.ts # i18n配置
│ │ │ └── locales/
│ │ │ ├── en.json # 英文翻译
│ │ │ └── zh.json # 中文翻译
│ │ ├── App.tsx
│ │ ├── App.css
│ │ ├── main.tsx
│ │ └── index.css
│ ├── vite.config.ts
│ └── package.json
├── document/
│ └── 合约文档.md # 合约ABI和详细信息
└── PROJECT_INFO.md # 本文档
技术栈
- React: 19.2.3
- TypeScript: 5.9.3
- Vite: 7.3.0
- wagmi: 3.1.0
- viem: 2.42.1
- @web3modal/wagmi: 5.1.11
- react-i18next: 国际化支持
WalletConnect配置
- Project ID: 3a8170812b534d0ff9d794f19a901d64 (临时测试ID)
- 获取自己的ID: https://cloud.walletconnect.com/
功能列表
1. WUSD页面
- 显示WUSD余额
- 铸造WUSD代币
2. Vault交易页面
- 选择Vault (YT-A/B/C)
- 显示Vault信息 (总资产、闲置资产、总供应量、硬顶、价格等)
- 买入YT (用WUSD购买)
- 卖出YT (换回WUSD)
- 预览交易结果
3. Factory管理页面
- 显示Factory信息
- 显示所有Vault列表
- Owner可创建新Vault
- Owner可更新Vault价格
4. 国际化
- 支持英文和简体中文
- 语言切换按钮在右上角
- 语言设置保存到localStorage
常用命令
# 进入前端目录
cd /root/Heyue_test/frontend
# 安装依赖
npm install
# 开发模式运行 (端口50001)
npm run dev
# 构建生产版本
npm run build
# 后台启动开发服务器
nohup npm run dev > /tmp/vite.log 2>&1 &
# 查看运行日志
cat /tmp/vite.log
# 杀掉占用50001端口的进程
lsof -i :50001 | grep -v "^COMMAND" | awk '{print $2}' | xargs -r kill -9
Vite配置 (vite.config.ts)
export default defineConfig({
plugins: [react()],
server: {
port: 50001,
host: '0.0.0.0',
strictPort: true,
allowedHosts: ['maxfight.vip', 'localhost', '127.0.0.1'],
}
})
注意事项
- @web3modal/wagmi 已被官方弃用,建议迁移到 Reown AppKit
- 当前使用的是公共测试WalletConnect项目ID,生产环境建议使用自己的ID
- 合约部署在Arbitrum Sepolia测试网
待办事项
- 迁移到 Reown AppKit (替代 @web3modal/wagmi)
- 添加交易历史记录
- 添加更多错误处理和用户提示
- 优化打包大小 (当前有大chunk警告)
文档更新时间: 2025-12-15