前言
作为系列开篇,本文将带你完成四项任务:先俯瞰整体架构,再敲定技术选型,接着梳理应用功能,最后手把手初始化项目
技术架构
- 客户端
• React Native + Expo:一套代码同时出 iOS / Android 双端包
• 必备库:ethers.js(签名 / 合约交互)、@walletconnect/react-native(钱包连接)、react-query(远端数据缓存) - 服务端
• NestJS:TypeScript 全栈框架,内置依赖注入、AOP、微服务支持
• 通用能力:REST / GraphQL、JWT 鉴权、队列(Bull + Redis)、Swagger 文档 - 区块链层
• Solidity:合约语言
• OpenZeppelin Contracts:安全、可复用的标准实现(ERC-20 / ERC-721 / Ownable / Pausable)
• Hardhat / Foundry:本地测试链、脚本部署、Gas 报告
• 链交互:ethers.js(前端 + 服务端共用) - 数据存储
• MongoDB:存用户资料、订单、日志等非结构化数据
• Redis:缓存热点查询、队列任务、WebSocket 订阅推送
• MySQL:需要事务与复杂关系的模块(如财务对账、权限 RBAC) - DevOps
• Docker Compose 一键起本地环境:NestJS + MongoDB + Redis + MySQL
• GitHub Actions:合约单元测试 → 部署到测试网 → 服务端 CI/CD → 推送 Expo OTA
DApp功能
一句话总结:一只手机钱包 + 一条龙 DeFi 交易站 + 一键发币工厂 + 全场景设置台
拆成 5 大板块
- 钱包核心
• 多链账户管理(助记词 / 私钥 / 硬件钱包)
• 资产总览、转账、收款、授权管理
• WalletConnect 扫码连接所有 DApp - 交易大厅
• Swap 兑换
• 杠杆 & 永续合约交易
• 流动性挖矿、借贷、收益聚合器
• 跨链桥一键转账 - 发币工厂
• ERC-20 / BEP-20 Token 一键部署
• NFT 一键铸造、合集管理、上架市场 - 设置中心
• 安全与隐私(生物识别、授权白名单)
• 网络切换、节点自定义
• 多语言、法币计价、推送开关
• 关于与帮助(文档 / 社群 / 版本日志) - 其他工具
• 行情市场(K 线、深度、热搜榜)
• 理财产品(定期 / 活期 / 策略池)
• DAO 投票(提案浏览、签名投票、治理收益)
项目初始化
项目初始化、通用工具链配置以及真机调试、打包上架流程,均已由作者在前两篇参考文章中完整覆盖,本文不再赘述。
- 环境搭建与 Nativewind、状态管理、网络、本地存储等通用库集成 → 见《React Native 项目初始化及相关通用工具集成》
- 开发调试、Expo Go 扫码、隧道模式、EAS 打包、Google Play 上架 → 见《从 0 到 1 搭建一个 RN 应用:开发 · 测试 · 上架全流程》
本项目直接复用上述配置,后续章节默认你已按上文完成初始化,可直接进入 DApp 业务开发。
补充说明
UI 设计稿由作者使用 Stitch AI(Google 实验性设计工具) 一键生成。
受网络影响,工具官网暂时无法解析,可稍后重试或直接在浏览器打开 stitch.withgoogle.com/ 验证链接;若仍失败,可切换网络 / 使用镜像站。