Skip to content

kingdavidch/alu-medical-blockchain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ALU Medical Blockchain System

A blockchain-based medical records system implemented in C for the ALU Clinic. This system provides a secure, immutable, and transparent way of managing patient medical records.

Features

  • Secure blockchain implementation for medical records
  • Proof of Work mining mechanism
  • Command Line Interface (CLI) for system interaction
  • SHA-256 hashing for data integrity
  • Transaction handling for medical records
  • Chain verification and integrity checking
  • Persistence: Blockchain data is automatically saved and loaded from disk
  • Backup and Restore: Easily create and restore blockchain backups via CLI

Project Structure

.
├── src/
│   ├── block.c
│   ├── block.h
│   ├── blockchain.c
│   ├── blockchain.h
│   ├── transaction.c
│   ├── transaction.h
│   ├── cli.c
│   ├── cli.h
│   ├── utils.c
│   ├── utils.h
│   ├── persistence.c
│   └── persistence.h
├── include/
│   └── sha256.h
├── Makefile
├── README.md
└── documentation.md

Requirements

  • GCC compiler (version 7.0 or higher)
  • Make build system
  • OpenSSL development libraries (for SHA-256)

Installation

  1. Install required dependencies:

    # For Ubuntu/Debian
    sudo apt-get install build-essential libssl-dev
    
    # For macOS
    brew install openssl
  2. Clone the repository:

    git clone [repository-url]
    cd alu-medical-blockchain
  3. Compile the project:

    make

Usage

Run the program:

./bin/medblockchain

Available commands:

  • add - Add a new medical record
  • mine - Mine a new block
  • view - View the entire blockchain
  • verify - Verify chain integrity
  • backup - Create a backup of the blockchain
  • restore - Restore blockchain from the latest backup
  • help - Show available commands
  • exit - Exit the program

System Limitations

  • Currently supports only local storage (no networking)
  • Limited to basic Proof of Work consensus
  • No user authentication system
  • No encryption of sensitive data (basic implementation)
  • Persistence and backup/restore are implemented, but not encrypted

Contributors

King Chukwumere - ALU Student

License

This project is created for educational purposes as part of the ALU Software Engineering Low-Level Specialization coursework.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published