包含 webapp(Next.js 用户端)、webapp-back(Go 后端)、 antdesign(管理后台)、landingpage(营销落地页)、 数据库 SQL 和配置文件。
5.5 KiB
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
核心功能模块
- Product - 产品详情展示 (APY, TVL, 资产概述等)
- ALP - 资产流动性池
- Swap - 代币交换
- Lending - 借贷系统
- Transparency - 透明度/验证
- Points - 积分系统
- Ecosystem - 生态系统
- 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/)