Files
assetx/webapp/QWEN.md
default 2ee4553b71 init: 初始化 AssetX 项目仓库
包含 webapp(Next.js 用户端)、webapp-back(Go 后端)、
antdesign(管理后台)、landingpage(营销落地页)、
数据库 SQL 和配置文件。
2026-03-27 11:26:43 +00:00

5.5 KiB

AssetX Webapp 项目记忆文件

项目概述

AssetX 是一个 DeFi 资产管理平台前端,基于 Next.js 15 + React 19 + TypeScript 构建。

技术栈

  • 框架: Next.js 15 (App Router)
  • UI库: React 19, HeroUI, Tailwind CSS
  • Web3: wagmi, viem, Reown AppKit, MetaMask SDK, Coinbase Wallet SDK, WalletConnect
  • 图表: ECharts
  • 动画: Framer Motion
  • 通知: Sonner
  • 包管理: npm/bun

目录结构

webapp/
├── app/                      # Next.js App Router 页面
│   ├── layout.tsx           # 根布局
│   ├── page.tsx             # 首页
│   ├── alp/                 # ALP (资产流动性池) 模块
│   ├── ecosystem/           # 生态系统页面
│   ├── lending/             # 借贷模块
│   ├── market/              # 市场模块
│   ├── points/              # 积分模块
│   ├── product/             # 产品详情页
│   ├── swap/                # 交易兑换模块
│   └── transparency/         # 透明度页面
│
├── components/              # React 组件
│   ├── alp/                 # ALP 相关组件
│   ├── common/              # 通用组件
│   ├── fundmarket/          # 基金市场组件
│   ├── icons/               # 图标组件
│   ├── layout/              # 布局组件 (Sidebar, TopBar等)
│   ├── lending/             # 借贷相关组件
│   ├── modals/              # 弹窗组件
│   ├── points/              # 积分相关组件
│   ├── product/             # 产品相关组件
│   ├── transparency/        # 透明度组件
│   ├── wallet/              # 钱包组件
│   ├── Providers.tsx        # 全局 Provider 包装器
│   └── ResourcePreload.tsx  # 资源预加载
│
├── hooks/                   # 自定义 React Hooks
│   ├── useBalance.ts        # 余额查询
│   ├── useCollateral.ts     # 抵押品操作
│   ├── useContractRegistry.ts # 合约注册表
│   ├── useDeposit.ts        # 存款操作
│   ├── useHealthFactor.ts   # 健康因子
│   ├── useLendingCollateral.ts # 借贷抵押
│   ├── useLendingSupply.ts  # 借贷供应
│   ├── useLendingWithdraw.ts # 借贷提取
│   ├── usePoolDeposit.ts    # 池存款
│   ├── usePoolWithdraw.ts   # 池提取
│   ├── useSwap.ts           # 交换操作
│   ├── useTokenBySymbol.ts  # 按符号获取代币
│   ├── useTokenDecimals.ts  # 代币精度
│   ├── useTokenList.ts      # 代币列表
│   ├── useWalletStatus.ts   # 钱包状态
│   └── useWithdraw.ts       # 提款操作
│
├── lib/                     # 工具库
│   ├── api/                 # API 接口
│   │   ├── contracts.ts     # 合约 API
│   │   ├── fundmarket.ts    # 基金市场 API
│   │   ├── lending.ts       # 借贷 API
│   │   ├── points.ts        # 积分 API
│   │   └── tokens.ts        # 代币 API
│   ├── contracts/           # 合约相关
│   │   ├── abis/           # 合约 ABI 文件
│   │   │   ├── lendingProxy.json
│   │   │   ├── USDY.json
│   │   │   ├── YT-Token.json
│   │   │   ├── YTAssetFactory.json
│   │   │   ├── YTLPToken.json
│   │   │   ├── YTPoolManager.json
│   │   │   ├── YTPriceFeed.json
│   │   │   ├── YTRewardRouter.json
│   │   │   └── YTVault.json
│   │   ├── index.ts
│   │   └── registry.ts      # 动态合约地址注册表
│   ├── wagmi.ts             # Wagmi 配置
│   └── buttonStyles.ts      # 按钮样式
│
├── contexts/                # React Context
│   └── AppContext.tsx       # 全局应用状态
│
├── locales/                 # 国际化
│   ├── en.json              # 英文
│   └── zh.json              # 中文
│
├── public/                  # 静态资源
├── scripts/                 # 脚本工具
└── logs/                    # 日志目录

支持的区块链网络

  • Ethereum Mainnet
  • Sepolia (测试网)
  • Arbitrum
  • Base
  • BSC (Binance Smart Chain)
  • Arbitrum Sepolia (测试网)
  • BSC Testnet

核心功能模块

  1. Product - 产品详情展示 (APY, TVL, 资产概述等)
  2. ALP - 资产流动性池
  3. Swap - 代币交换
  4. Lending - 借贷系统
  5. Transparency - 透明度/验证
  6. Points - 积分系统
  7. Ecosystem - 生态系统
  8. Market - 市场模块

常用命令

npm run dev      # 开发模式 (端口 3010)
npm run build    # 构建生产版本
npm start        # 启动生产服务器
npm run lint     # 代码检查

钱包支持

  • MetaMask
  • OKX Wallet
  • Trust Wallet
  • Coinbase Wallet
  • Backpack Wallet
  • WalletConnect

合约 ABI 文件

项目包含以下智能合约 ABI:

  • YTVault - 金库合约
  • YTPoolManager - 池管理合约
  • YTLPToken - LP 代币合约
  • YT-Token - YT 代币合约
  • YTAssetFactory - 资产工厂合约
  • YTPriceFeed - 价格预言机合约
  • YTRewardRouter - 奖励路由合约
  • USDY - USDY 代币合约
  • lendingProxy - 借贷代理合约

开发注意事项

  • 使用 App Router (Next.js 15)
  • 全局状态通过 AppContext.tsx 管理
  • Web3 配置在 lib/wagmi.ts
  • 合约地址支持动态注册 (lib/contracts/registry.ts)
  • 支持中英文国际化 (locales/)