samar-syd7/medledger

GitHub: samar-syd7/medledger

基于以太坊智能合约的医疗数据完整性锚定平台,通过链上存证与链下存储分离架构实现医疗数据的防篡改审计。

Stars: 0 | Forks: 0

# MedLedger 区块链锚定的医疗数据完整性平台 MedLedger 是一个面向合规的后端系统,旨在使用 Ethereum 智能合约以加密方式锚定医疗数据完整性。 该平台集成了 HL7、DICOM 和 FHIR 工作流与链上不可变审计日志记录,同时将 PHI(受保护健康信息)保留在链下。 ## 概述 医疗系统生成的高价值数据(影像、住院、临床记录)必须具备防篡改和可审计特性。 MedLedger 提供: - 医疗数据的 SHA-256 哈希处理 - Ethereum 智能合约锚定 - 不可变审计追踪 - 篡改验证引擎 - 访问证明日志记录 - SaaS 风格监控仪表板 该系统展示了适用于注重合规环境的链下存储 + 链上完整性锚定架构。 ## 架构 链下数据 → SHA-256 哈希 → 智能合约 (Ethereum) → 不可变记录 医疗数据绝不存储在链上。 仅锚定加密指纹。 详细流程请参见 `/docs/architecture.md`。 ## 技术栈 后端: - FastAPI - Web3.py - SHA-256 加密哈希 区块链: - Solidity - Hardhat(本地开发网络) - Ethereum 智能合约 前端: - 基于 Tailwind 的 SaaS 仪表板 - Chart.js 可视化 ## 功能特性 - HL7 消息锚定 - DICOM 文件哈希锚定 - FHIR 资源规范化哈希 - 不可变审计日志 - 访问事件证明生成 - 篡改验证端点 - 实时仪表板监控 ## 本地设置 ### 1. 克隆仓库 ``` git clone cd medledger ``` ### 2. 安装 Python 依赖 ``` python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate pip install -r requirements.txt ``` ### 3. 启动本地区块链 (Hardhat) 在 `/blockchain` 目录下: ``` npm install npx hardhat node ``` 重要提示: - 推荐使用 Hardhat v2。 - Node.js 版本高于 20 可能会产生兼容性警告。 ### 4. 部署智能合约 在 `/blockchain` 目录下: ``` npx hardhat ignition deploy ./ignition/modules/Lock.js --network localhost ``` 复制部署的合约地址并更新到: `api/blockchain.py` ### 5. 运行后端 从项目根目录: ``` uvicorn api.main:app --reload ``` 访问地址: http://127.0.0.1:8000 Swagger UI: http://127.0.0.1:8000/docs ## 常见设置问题 ### Hardhat 版本冲突 如果发生依赖错误: - 确保安装了 Hardhat v2.x - 避免混合使用 Hardhat v3 包和 v2 toolbox - 使用与 ethers v5 兼容的 `@nomiclabs/hardhat-ethers` ### Node.js 兼容性警告 Hardhat 可能会针对 Node v24 发出警告。请使用 Node 18--20 以获得稳定的兼容性。 ### CORS 错误 仪表板直接由 FastAPI 提供服务,以避免跨域问题。 ## 设计原则 - 区块链上不存储 PHI - 加密篡改检测 - 确定性哈希比对 - 不可变审计追踪 - 链上与链下数据清晰分离 ## 免责声明 这是一个演示医疗完整性锚定的概念验证架构。它不是生产就绪的医疗系统。
标签:AV绕过, DICOM, DNS 反向解析, FastAPI, FHIR, Hardhat, HIPAA合规, HL7, PHI数据保护, SaaS仪表盘, SHA-256, Solidity, Web3.py, Zenmap, 不可篡改记录, 人工智能安全, 以太坊, 区块链, 医疗健康, 医疗数据安全, 合规性, 后端开发, 后端开发, 后端开发, 后端系统, 审计日志, 密码学锚定, 数据完整性, 数据指纹, 智能合约, 网络安全, 访问证明, 逆向工具, 链下存储, 防篡改, 隐私保护