We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 15
Charity Donations Using Blockchain
Submitted in partial fulfillment of the requirements of
Final Year
in
B.E(Artificial Intelligence and Data Science)
By
Sanika Chawhan - 9
Aditya Patil - 46
Swaraj Patil - 52
Om Patil- 49
Supervisor
Prof. Neha Kale
Department of Artificial Intelligence and
Data Science
DATTA MEGHE COLLEGE OF ENGINEERING, AIROLI,
NAVI MUMBAI - 400 708
University of Mumbai
(AY 2024-25)Abstract
This report outlines the development of a charity donation platform using
blockchain technology. The application leverages Ethereum and Web3 to facilitate
transparent and secure donations
lowing users to donate to charitable causes
using cryptocurrency. Through this system, donors can connect thei wallets,
check balances, and transfer funds to help children in need. The project details the
implementation using Flask, a lightweight Python web framework, and the
integration with MetaMask to handle Ethereum transactions.Contents
Abstract
List of Figures and Tables
Chapter 1: Introduction
1.1: Overview of Charity Donations
1.2: Blockchain Technology and Its Application
1.3: Existing Systems and Limitations
1.4: Problem Definition
1.5: Objectives
1.6: Proposed Solution
1.7: Technology Stack Used
Chapter 2: System Design
2.1: System Architecture
2.2: Flow Chart of Donation Process
2.3: Software Requirements
Chapter 3: Implementation
3.1: Smart Contract Development
3.2: Front-End Development
3.3: Blockchain Integration
3.4: Future Directions
Chapter 4; Conclusion
ReferencesList of Figures and Tables
Figure 1: System Architecture
Figure 2: Flow Chart of Donation Process
Figure 3: Implementation Snapshots (Home, Contact pages, Donation Pages)
Table 1: Software RequirementsChapter 1: Introduction
1.1: Overview of Charity Donations
Charity donations play a crucial role in supporting various social causes. However, existing
donation platforms often face issues related to transparency, accountability, and security,
leading to mistrust among donors. Blockchain technology, with its decentralized and immutable
nature, can resolve these challenges, offering a more transparent and secure solution,
1.2: Blockchain Technology and Its Application
Blockchain is a distributed digital ledger that records transactions securely and transparently.
Key features such as decentralization, immutability, and transparency make it ideal for use in
charity donation systems, where secure fund tracking is essential. Ethereum, a blockchain
platform supporting smart contracts, is used in this project to ensure safe and automated
handling of donations.
1.3: Existing Systems and Limitations
Most charity platforms rely on centralized systems, which are vulnerable to hacking and misuse
of funds. Additionally, donors often have limited visibility into how their donations are used,
leading to @ lack of trust in traditional systems.
1.4: Problem Definition
Traditional charity platforms do not provide a transparent and secure way to track donations.
There is a need for a decentralized system that enables donors to trace their contributions while
ensuring the security of transactions.1.5: Objectives
The project aims to:
Build a decentralized platform for charity donations using Ethereum and Web3.
Enable users to connect their wallets, make secure donations, and track their contributions.
Improve the transparency and trust in the management of charitable funds.
1.6: Proposed Solution
The solution involves:
Developing # Flask-based web application that integrates with the Ethereum blockchain to
handle donations.
Creating a smart contract to manage fund transfers.
Using MetaMask to connect users' wallets and allow secure Ethereum transactions.
1,7: Technology Stack Used
Flask: A lightweight Python web framework used to handle the back-end logic and routing of
the application.
HTML/CSSJavaScript: Used for the front-end to create the user interface and manage the user
interaction with the platform.
Web3,js: A JavaScript library used to interact with the Ethereum blockchain, manage wallets,
and execute transactions.
MetaMask: A browser extension for managing Ethereum wallets and interacting with
decentralized applications.
Lottic-player,js: A library used to display animations within the application,Chapter 2: System Design
2.1: System Architecture
The system architecture consists of three major components:
User Interface: A web interface built using Flask, HTML, CSS, and JavaScript.
Blockchain Interaction: Ethereum blockchain connected via Web3.js for handling
donations and transfers.
Smart Contract: A Solidity-based contract for securely managing donation
transactions.
: System Architecture and Block Diagram
(Figure 1: System Architecture )2.2: Flow Chart of To-do Application Functionality
1
pens har dentin platform
+
connect
etatack
Select cha an enters amount
z
Donation
stares?
we
+
Tntracten
ser ces Donate
lckchsin
Tracie
1
“Transact sent poche a WoN 3s, MetaMas confirms transaction
‘cassrmaton and
rocest
L
cor Reraies
‘onion
(Figure 2: Flow Chart )2.3: Software Requirements
etd
era
Reeeeiens
emer
Fund Tracking
preamentest
ee)
Cees
De
ee ee eee ene
Peet eee eke ers eet
eee eae ne tee
aE
(Table 1: Software Requirements)
ad
et
ea
re)Chapter 3: Implementation
3.1: Smart Contract Development
The platform's core functionality is driven by a smart contract written in Solidity.
Key functions include:
Donate(): Allows users to donate Ethereum to the charity fund.
Withdraw(): Enables administrators to withdraw collected funds for the specified
charitable cause.
3.2: Front-End Development
The front-end is built using Flask, HTML, CSS, and JavaScript. Flask handles the
routing of the pages, including the home page, payment page, and contact page.
The HTML files, such as home.html and index.html, define the user interface,
while JavaScript handles interactions with the Ethereum network via Web3 js.
CODE;
@app.route('")
def index():
return render_template(‘home.html')
@app.route('/payment’)
def payment():
return render_template('index.htm!')
@app.route("/contact')def contact():
return render_template(‘contact.html')
3.3: Blockchain Integration
The application connects to the Ethereum blockchain using Web3 js to enable
seamless wallet interaction and transaction execution. MetaMask is used to
manage user wallets, allowing them to donate funds securely to the charity.
3.4: Future Directions
Expanding the application to support additional cryptocurrencies.
Adding a token system to incentivize donors.
Enhancing the user interface with more advanced features, such as donation
history and analytics.3.4: Implementation Snapshots
(Figure 3: Home)
CONTACT US
(Figure 3: Contact Us)Welcome to Donation Payment System!
‘Welcome to Donation Payment System!
‘Welcome to Donation Payment System!
(Figure 5: Donation Page)Chapter 4: Conclusion
The Charity Donations using Blockchain project successfully demonstrates how blockchain
technology can be utilized to improve the transparency, security, and efficiency of charitable
donations. In traditional donation platforms, donors often face challenges related to trust,
transparency, and the proper utilization of funds. Centralized systems are prone to data
manipulation, misuse of funds, and a lack of visibility into how donations are managed. This
project addresses these issues by leveraging the decentralized and immutable nature of
blockchain, specifically the Ethereum platform, ensuring that every donation is securely
recorded and can be traced by donors.
The integration of smart contracts plays a vital role in automating the process of managing
donations, making it both efficient and secure. By using smart contracts, the platform eliminates
the need for intermediaries, ensuring that funds go directly to the intended recipients or causes.
Moreover, the transparency offered by blockehain allows donors to track their contributions in
real-time, enhancing their trust in the system.
In addition, the project showcases the power of Flask, a lightweight Python framework, in
developing a web-based interface that is easy to use and scalable. The integration of Web3.js
and MetaMask ensures seaml
interaction with the Ethereum blockchain, allowing users to
make donations with just a few clicks. The use of modem web technologies such as HTML,
CSS, JavaScript, and Lottie animations further enhances the user experience, making the
platform more engaging and user-friendly.
10References
@ Ethereum Documentation: https://ethereum.org/en/
@ Flask Documentation:
https://flask.palletsprojects.com/en/2.0.x/
@ Web3.js Documentation:
https://web3js.readthedocs.io/en/v1.x/
@ MetaMask Documentation: https://metamask.io/