BC Miniproject
BC Miniproject
Aim
To develop a blockchain-based application that ensures transparency, accountability, and genuine use
of charity donations by integrating government organizations, NGOs, and contractors. The platform
allows NGOs to submit requests to the government, which can then delegate tasks to contractors,
ensuring proper fund utilization.
Objectives
● To ensure transparency in charity requests, fund distribution, and the role of contractors
through a verifiable public ledger.
● To prevent fraud and misuse by automating fund distribution and project assignments via
blockchain.
● To enhance trust among all stakeholders (government, NGOs, contractors, and donors) by
maintaining an immutable and transparent record of all transactions.
Software Requirements
● Frameworks:
● Development Tools:
o MetaMask (for Ethereum wallet integration)
Hardware Requirements
● System Requirements:
o Storage: 20GB free space (for running local blockchain nodes and development
environments)
● Network Requirements: Stable internet connection to interact with the blockchain network
Theory
Blockchain is a decentralized digital ledger that records transactions securely and transparently. In the
context of charity, blockchain can provide trust and accountability by ensuring that every donation or
request is visible to all stakeholders. NGOs can submit requests to the government, which will be
recorded on the blockchain. Government organizations can then assign contractors to fulfill the
requests, ensuring that funds and resources are used appropriately. Smart contracts automate these
interactions, ensuring that tasks are only executed when predefined conditions are met.
Implementation Phase
1. Install Node.js
Install Node.js, a free runtime necessary for running blockchain development tools and the
frontend.
3. Install Ganache
Ganache simulates a local blockchain, allowing testing without interacting with the public
network.
● Use Solidity to write smart contracts that manage NGO requests, government approval, and
contractor assignments.
● Smart contracts will store the NGO's request, automate the approval process, and allocate
tasks to contractors once government approval is given.
● Deploy the smart contracts to a local blockchain (Ganache) using Truffle. Test the entire flow
from NGO requests to government approvals and contractor assignments.
● Web3.js will connect the frontend to the blockchain, enabling interaction with the smart
contracts.
● After testing locally, deploy the contracts to an Ethereum testnet (like Ropsten or Goerli) to
simulate real-world deployment.
● Use free platforms like GitHub Pages, Netlify, or Vercel to host the frontend for public access.
Output:
Conclusion
This blockchain-based charity application enhances transparency, trust, and accountability by securely
recording NGO requests, government approvals, and contractor assignments. Using smart contracts,
it automates fund allocation and project execution, ensuring that resources are used as intended. The
decentralized nature of the system helps eliminate fraud, creating a more genuine and efficient charity
process.