## 项目简介
手机模拟挖矿平台是一个模拟区块链挖矿过程的应用,旨在让用户无需实际硬件设备即可体验挖矿的基本原理和流程。本平台包含 Flutter 前端应用和 Node.js 后端服务,提供完整的用户管理、挖矿模拟、算力计算、收益统计等功能。
## 功能特性
### 核心功能
- 用户注册、登录和个人信息管理
- 模拟挖矿过程,包括开始/停止挖矿
- 实时算力计算和显示
- 自动收益计算和统计
- 挖矿状态监控
- 管理后台功能
- 国际化支持(中文和英文)
## 2. 系统架构
### 2.1 架构概述
- **前端**:Flutter 跨平台移动应用(主要负责用户界面和仿真核心逻辑)
- **后端**:Node.js + Express服务器(负责数据存储、管理和核心业务逻辑)
- **数据库**:SQLite轻量级数据库(存储用户数据、挖矿配置和收益记录)
- **通信**:RESTful API(HTTP请求响应模式)
- **国际化**:i18n框架实现中英文双语支持
### 2.2 核心模块
1. **算力管理模块**:控制挖矿状态和流程,通过调整挖矿配置参数来管理用户算力(后端)
2. **收益管理模块**:计算和记录挖矿收益(后端)
3. **仿真核心模块**:模拟挖矿算法和过程(前端Flutter)
4. **系统参数模块**:默认的挖矿配置参数修改(后端)
5. **监控统计模块**:监控挖矿状态和统计数据(后端)
6. **国际化模块**:中英文双语支持(前端+后端)
7. **后台管理模块**:Web端管理界面(后端+前端HTML)
## 3. 技术栈
### 3.1 前端技术
- **Flutter**:跨平台移动应用开发框架
- **crypto**:Dart内置加密库,用于SHA-256哈希计算
- **blake3_dart**:BLAKE3哈希算法实现库
- **logging**:日志记录库
- **provider**:状态管理库,用于管理登录状态和语言状态
- **dio**:网络请求库,用于API调用
- **shared_preferences**:本地存储,用于保存token和语言设置
- **flutter_localizations**:Flutter国际化支持
- **fl_chart**:图表库,用于数据可视化
- **getwidget**:UI组件库
- **google_fonts**:Google字体库
### 3.2 后端技术
- **Node.js**:轻量级服务器运行环境
- **Express**:Web应用框架,处理HTTP请求
- **SQLite**:嵌入式数据库,适合个人使用场景
- **Sequelize**:ORM库,用于数据库操作
- **JWT**:无状态认证,便于移动端使用
- **i18n**:国际化库,支持中英文
- **bcrypt**:密码加密库
- **cors**:跨域资源共享
- **dotenv**:环境变量管理
### 3.3 后台管理前端技术
- **HTML5**:页面结构
- **CSS3**:样式设计
- **JavaScript**:交互逻辑
- **Bootstrap**:UI框架
- **Axios**:HTTP客户端
- **Chart.js**:图表库
- **i18n.js**:前端国际化