项目状态:已归档。 DIALECT World DApp 的线上服务已经停止,本文不提供可操作的在线演示。请勿向历史地址或合约转入资产,也不要使用真实钱包尝试授权、铸造、兑换或领取奖励。本文只记录前端工程实现,不构成投资建议。
项目概览
DIALECT World DApp 是一套面向移动端的多语言 Web3 应用前端。产品概念围绕方言采集与社区协作展开,现存代码主要实现了 DLW 代币与 NFT 权益体系,包括钱包连接、用户看板、NFT 铸造与升级、DLW/USDT 兑换、奖励提取以及团队数据展示。
项目基于 BNB Smart Chain 构建:生产环境连接 BSC 主网,其他环境连接 BSC 测试网。当前保留的仓库只有前端代码,完整运行仍依赖独立后端、已部署合约和环境配置,因此它更适合作为一份历史工程案例,而不是可继续使用的产品。
核心用户流程
前端把钱包、账户与链上操作组织成一套连续流程:
- 用户通过 RainbowKit 连接浏览器钱包,并切换到 BSC 主网或测试网。
- 钱包对登录消息签名,前端通过 NextAuth 与后端换取并保存会话信息。
- 首页同时读取链上余额以及后端维护的用户、推荐、奖励和团队数据。
- NFT 页面根据卡片等级展示额度与价格,并处理授权、铸造、升级和续期操作。
- Swap 页面校验 DLW/USDT 余额与额度,完成代币授权后提交买入或卖出交易。
- 全局交易状态组件持续展示待确认、成功或失败结果,并在本地保存交易记录。
这套结构把职责分成了三个部分:钱包和合约负责链上资产操作,后端维护账户与业务数据,前端负责把登录、查询、授权和交易反馈串成完整体验。
前端技术实现
钱包连接与登录会话
项目使用 wagmi、viem 和 RainbowKit 接入注入式钱包、MetaMask、Rainbow、Trust Wallet 与 Argent。网络配置集中在 wagmi 模块中,根据环境变量选择 BSC 主网或测试网;如果本地缓存了不支持的网络,首页会清理旧的 wagmi 状态。
连接钱包后,登录弹窗要求用户签署固定消息。签名结果被提交给后端,再通过 NextAuth Credentials Provider 建立 JWT 会话。业务 token 和用户信息同时进入 Redux,并持久化到浏览器本地存储,供 Axios 请求头和后续页面使用。
用户、奖励与团队看板
首页组合了链上读取与后端请求:链上部分读取 DLW、USDT 等余额,后端部分提供用户资料、推荐关系、LP 算力、奖励记录和团队信息。奖励提取同样需要后端接口参与,不能只依靠现存前端代码完成。
页面使用 SWR 和 SWR Mutation 处理数据查询与提交,并通过统一提示组件反馈业务结果。这使页面可以独立刷新局部数据,但也意味着后端停服后,看板无法还原原有的完整状态。
NFT 铸造、升级与续期
Mint 页面展示多种 NFT 等级及对应权益。操作前会检查钱包、用户状态、代币余额与授权额度,再根据当前卡片状态进入铸造、升级或续期流程。交易提交后,全局状态模块会跟踪交易结果并刷新相关数据。
NFT 卡片不仅是界面展示项,也与购买额度、LP 算力和奖励计算相关。这些规则横跨后端数据与合约状态,仓库中的前端能够说明交互方式,但不能独立证明或恢复完整业务规则。
DLW 与 USDT 兑换
Swap 页面支持 DLW 与 USDT 的买入和卖出。前端负责读取余额、计算预期结果、检查输入精度和授权额度,再调用买卖合约提交交易。项目也保留了 K 线组件及 WebSocket 接入代码,但当前主流程中没有启用实时行情组件。
状态管理、界面与国际化
Provider 统一组合 Chakra UI、wagmi、TanStack Query、Redux、RainbowKit、SWR 和 NextAuth,并挂载交易与 Multicall 更新器。application、transactions 和 userInfo 三类状态会持久化到本地。
界面以移动端为主,桌面端内容区域仍保持较窄的阅读和操作宽度。运行时提供繁体中文、英语、日语和韩语,并通过带语言参数的 App Router 路由组织页面。
技术栈
- Next.js 13、React 18、TypeScript
- Chakra UI、Emotion、Tailwind CSS、Framer Motion
- wagmi、viem、RainbowKit、ethers、SIWE
- Redux Toolkit、TanStack Query、SWR
- NextAuth.js
- next-intl、lobe-i18n
- ECharts、KLineCharts、Recharts
项目边界
现存前端仓库不包含或不能替代以下部分:
- 已停止的后端 API、数据库及运营数据
- 智能合约源码、部署记录和管理员权限说明
- 可继续使用的生产环境与实时行情服务
- 历史资产、奖励和团队数据的真实性验证
仓库中的 /rechage 是受指定钱包限制的合约管理工具,/mem 是钱包生成与地址校验实验页。它们属于内部开发能力,不应被当作普通用户功能重新开放。
如果今天重新实现
回看这份代码,优先改进的方向包括:
- 减少宽泛的
any和类型断言,为 API 响应、合约读取和交易参数建立明确类型。 - 统一 viem 与 ethers 的金额处理边界,避免重复转换和精度风险。
- 把后端请求、链上读取、交易提交与界面状态拆分成更清晰的数据层。
- 对网络、合约地址和公开环境变量增加启动时校验,防止环境错配。
- 统一 pnpm 锁文件并移除重复的 npm 锁文件,降低依赖树漂移风险。
- 为登录签名、NFT 状态转换、Swap 输入校验和交易失败场景补充自动化测试。
- 从生产构建中明确排除内部管理与钱包实验页面。
总结
DIALECT World DApp 覆盖了 Web3 前端中多项彼此关联的工程能力:钱包连接、签名登录、链上余额、代币授权、NFT 状态流转、Swap、后端会话、交易反馈、多语言和移动端布局。
虽然线上服务已经停止,前端仓库仍能呈现当时的产品范围与技术实现。以源码、视觉素材和工程复盘的方式归档,比保留一个无法完成真实业务的 Demo 更准确,也能明确区分可阅读的前端代码与已经缺失的服务、合约和运营环境。
仓库当前未声明开源许可证,因此这里使用“源码公开”而不是“开源项目”。代码仅用于阅读和项目回顾,复制、修改或分发权限应以仓库后续声明的许可证为准。