Logo Lanfrica

Bloomkit6/bloomkit-pad-it-forward-poc

Domain:

socioeconomic

Record type:

software
Creator:
Blo
Host:
Proof-of-concept smart contract for transparent, immutable tracking of "Pad It Forward" donations in BloomKit — enabling verifiable kit distribution to girls in Nigeria to reduce period poverty. # bloomkit-pad-it-forward-poc Proof-of-concept smart contract for transparent, immutable tracking of "Pad It Forward" donations in BloomKit — enabling verifiable kit distribution to girls in Nigeria to reduce period poverty. # BloomKit Pad It Forward Blockchain PoC This is a proof-of-concept smart contract for transparent, immutable tracking of "Pad It Forward" donations in BloomKit — enabling verifiable proof that user donations (linked to kit sales) are distributed as menstrual wellness kits to underserved girls in Nigeria, reducing period poverty and school absenteeism. ## Purpose - Record donations on-chain (donor, amount, kit type, timestamp). - Allow admin to mark distribution to beneficiaries. - Provide public, tamper-proof verification via events and state queries. - Aligns with UNICEF Venture Fund focus on blockchain for accountability and child impact. ## Tech Stack - Solidity ^0.8.20 - Deployed & tested on **Remix VM local simulator** (gas-free PoC environment) - Ready for migration to **Arbitrum Sepolia testnet** (Ethereum Layer 2) for low-cost public verification ## Smart Contract **File**: PadItForwardTracker.sol **Key Functions**: - `donate(string kitType)` – payable function to record donation - `distribute(uint256 donationId, address beneficiary)` – admin marks distribution - `getDonation(uint256 id)` – view donation details - `getDonationCount()` – total donations ## Demo & Testing (Remix VM) 1. Deployed contract (local VM address): `0xd8b934580fcE35a11B58C6D73aDeE468a2833fa8` 2. Tested flow: - Called `donate("Heavy Flow Kit")` with 0.01 ETH (fake) - Verified via `getDonationCount()` → returned 1 - Called `getDonation(0)` → showed donor, amount, kitType, distributed=false - Called `distribute(0, 0x000...000)` → emitted DonationDistributed event - Re-checked `getDonation(0)` → distributed=true ## Screenshots *(Upload your screenshots to the repo first: Add file → Upload files → drag images → commit as "Add demo screenshots")* ## Future …

Licenses