This is my turbin3 capstone project called BloodLedger. BloodLedger is a decentralised Blood Donation Management System in Solana where healthcare professionals can have real-time access to blood inventory data (e.g., blood types and their availability) with tokenized incentives for donors.
The goals are to help shortage by boosting donor engagement with a recognition system, enhance security by protecting sensitive donor and patient data using encrypted storage in solana blockchain, and to ensure timely access to blood supplies.
The Anchor-based Solana program that handles:
- Blood donation management
- Institution registration and inventory tracking
- Donor registration and reward system
- Blood unit lifecycle management
Comprehensive test suite covering:
- Program initialization
- Institution management
- Donor registration and tracking
- Blood donation workflows
- Reward distribution
- Error cases and edge conditions
React-based user interface providing:
- Program monitoring and administration
- Institution management dashboard
- Donor registration and tracking
- Blood inventory management See the app README for detailed features.
Program ID: b1oodxpcTKPaXCUd5nnmTb8q85vRMfNmDLsqcqvUwwF
To interact with the deployed program:
- Configure your wallet to Devnet
- Ensure you have sufficient SOL (use devnet faucet if needed)
- Run the React App (instructions bellow)
- Node.js v18.18.0 or higher
- Rust v1.77.2 or higher
- Solana CLI 1.18.17 or higher
- Anchor CLI 0.30.1 or higher
- pnpm (for package management)
- Clone the repository
git clone <repository-url>
cd bloodledger- Install dependencies
pnpm install- Build the Anchor program
anchor build- Deploy to localnet (for development)
anchor deploy --provider.cluster localnet- Start the web application
cd app
pnpm dev- Start a local validator:
solana-test-validator- Deploy the program:
anchor deploy --provider.cluster localnet- Run integration tests:
anchor test- Start the web interface:
cd app
pnpm dev- Run all tests:
anchor test - Run specific test:
anchor test --filter <test-name>
This project is licensed under the MIT License - see the LICENSE file for details.