Skip to content

QuocAn118/Blockchain_Log_System

Repository files navigation

Ứng dụng Blockchain trong bảo mật dữ liệu – Log trên Sepolia

Ứng dụng Web lưu trữ log hệ thống trên Blockchain Ethereum (Sepolia) để chống ghi đè/sửa đổi.

Yêu cầu

  • Python 3.10+
  • Ví MetaMask (hoặc tương tự) có Sepolia Testnet ETH
  • API Alchemy hoặc Infura cho Sepolia

Cài đặt

cd "c:\Users\Quoc An\Pictures\ATTT\Project"
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt

Deploy Smart Contract lên Sepolia

  1. Dùng Remix hoặc Hardhat để biên dịch và deploy contracts/SystemLogStorage.sol lên mạng Sepolia.
  2. Lưu lại địa chỉ contract sau khi deploy.
  3. Lấy Sepolia ETH miễn phí tại: https://sepoliafaucet.com/ hoặc https://www.alchemy.com/faucets/ethereum-sepolia

Cấu hình .env

Sao chép .env.example thành .env và điền:

PROVIDER_URL=https://eth-sepolia.g.alchemy.com/v2/YOUR_API_KEY
PRIVATE_KEY=your_private_key_hex_without_0x
CONTRACT_ADDRESS=0x...   # địa chỉ contract vừa deploy
  • PROVIDER_URL: URL RPC Sepolia (Alchemy/Infura).
  • PRIVATE_KEY: Khóa riêng của ví (không có tiền tố 0x) – ví này cần có Sepolia ETH để gửi giao dịch saveLog.
  • CONTRACT_ADDRESS: Địa chỉ contract SystemLogStorage trên Sepolia.

Chạy ứng dụng

venv\Scripts\activate
python app.py

Mở trình duyệt: http://127.0.0.1:5000

Cấu trúc giao diện (2 Tab)

Tab 1 – Hệ thống (User App)

  • Nút Đăng nhập, Xóa dữ liệu, Thay đổi mật khẩu: giả lập hành động.
  • Mỗi lần nhấn: ghi 1 dòng vào system.log (ví dụ: 2026-03-06 20:00:00 - Admin - Login), băm SHA-256, rồi gửi hash lên Sepolia qua Smart Contract (chạy trong thread, không treo giao diện).

Tab 2 – Dashboard Đối soát (Security Audit)

  • Bảng 2 cột: Cột A = nội dung log từ file system.log, Cột B = mã hash tương ứng từ Blockchain.
  • Nút Verify Integrity: băm lại từng dòng trong file và so sánh với hash trên chain.
    • Xanh (Vẹn toàn): khớp.
    • Đỏ (Cảnh báo: Log bị sửa đổi): không khớp.

Kịch bản Demo

  1. Tab 1: Nhấn một trong các nút (ví dụ Đăng nhập) → log được ghi và hash đẩy lên Sepolia.
  2. Tab 2: Nhấn Verify Integrity → toàn bộ dòng báo xanh (Vẹn toàn).
  3. Mở file system.log (Notepad), sửa nội dung một dòng và lưu.
  4. Quay lại Tab 2, nhấn lại Verify Integrity → dòng bị sửa báo đỏ (Cảnh báo: Log bị sửa đổi).

Cấu trúc thư mục

Project/
├── app.py                 # Flask, routes, API
├── blockchain.py          # web3.py, kết nối Sepolia, saveLog/getAllLogs, threading
├── log_service.py         # Ghi file log, SHA-256, verify
├── requirements.txt
├── .env.example
├── system.log             # Tạo tự động khi có ghi log
├── contracts/
│   ├── SystemLogStorage.sol
│   └── SystemLogStorage_abi.json
├── templates/
│   └── index.html         # Giao diện 2 Tab
└── README.md

Lưu ý bảo mật

  • Không commit file .env hoặc private key lên Git.
  • Chỉ dùng ví test và Sepolia Testnet cho mục đích demo/học tập.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors