# eth **Repository Path**: luming-02/eth ## Basic Information - **Project Name**: eth - **Description**: 区块链交易行为特征分析与可视化系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-08 - **Last Updated**: 2026-04-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 区块链交易行为特征分析与可视化系统 ## 项目简介 本系统是一个基于Python和Flask框架开发的区块链交易行为特征分析与可视化系统,使用MySQL作为数据库管理系统,Peewee作为ORM工具。系统集成了机器学习模型,能够对区块链交易数据进行分析,识别潜在的非法账号,并通过可视化图表直观展示交易数据特征。 ## 功能特点 - **账户管理**:用户注册、登录、个人信息修改、密码修改 - **交易存储管理**:历史数据导入、交易数据明细查询、明细数据汇总、汇总数据导出CSV - **可视化管理**:交易数据汇总、用户近期交易金额趋势、用户交易次数占比、交易金额分布 - **交易分析管理**:非法账号识别(基于机器学习模型) ## 系统架构 - **前端**:HTML, CSS, JavaScript, Bootstrap 5, Chart.js - **后端**:Python 3.10, Flask - **数据库**:MySQL - **ORM**:Peewee - **机器学习**:PyTorch (用于非法账号识别) ## 安装指南 ### 环境要求 - Python 3.10 - MySQL 数据库 - 操作系统:Windows/Linux/MacOS ### 安装步骤 1. 克隆或下载项目代码 2. 创建并激活虚拟环境(可选但推荐) ```bash python -m venv .venv .venv\Scripts\activate # Windows source .venv/bin/activate # Linux/MacOS ``` 3. 安装依赖包 ```bash pip install flask peewee pandas numpy networkx torch matplotlib ``` 4. 配置MySQL数据库 - 确保MySQL服务已启动 - 创建名为`qkl`的数据库 - 默认用户名:root,密码:123456 - 如需修改数据库配置,请编辑`app.py`和`import_data.py`中的数据库连接信息 5. 导入交易数据 ```bash python import_data.py ``` 6. 启动Web应用 ```bash python app.py ``` 7. 在浏览器中访问 http://localhost:5000 即可使用系统 ## 使用说明 ### 数据导入 系统使用`import_data.py`脚本从CSV文件导入交易数据到MySQL数据库。默认数据文件路径为`data/first_order_df.csv`。 ### 账户管理 - 新用户需要先注册账号 - 登录后可以在个人信息页面修改邮箱和密码 ### 交易数据查询 - 在交易数据明细页面可以查看所有交易记录 - 支持按地址和金额范围筛选交易 - 交易数据汇总页面提供数据统计和导出功能 ### 数据可视化 可视化页面提供三种图表: - 近期交易金额趋势(折线图) - 用户交易次数占比(饼图) - 交易金额分布(柱状图) ### 非法账号识别 - 在非法账号识别页面输入区块链地址进行分析 - 如不输入地址,系统将随机选择交易进行分析 - 分析结果包括风险概率和风险等级 ## 模型说明 非法账号识别功能使用了基于图注意力网络的深度学习模型,该模型通过分析交易行为特征来识别潜在的非法账号。模型文件存放在`model`目录下。 ## 注意事项 - 首次运行前请确保已创建`qkl`数据库 - 确保`model`目录下有训练好的模型文件 - 系统默认在5000端口运行,请确保该端口未被占用