Final_report
Final_report
Final_report
A project report submitted in partial fulfilment of the requirements for the degree of
2023-2025
Submitted by
Guided by
SUPERVISOR’S
CERTIFICATE
This is to certify that the project report entitled Web3 Blockchain based Crowdfunding
Platform, submitted to the Department of Computer Science and Engineering, Tezpur University, in
partial fulfilment for the award of the degree of Master of Computer Application is a record of work
carried out by Mr Bhargav Pratim Sarma , Roll No. CSM23012 and Mr. Bhrigu Moni Baruah,
Roll No. CSM23057 at Tezpur University, Tezpur.
No part of this dissertation/report has been submitted elsewhere for award of any other degree.
EXAMINER’S
CERTIFICATE
This project entitled Web3 Blockchain based Crowdfunding Platform submitted by Bhargav
Pratim Sarma and Bhrigu Moni Baruah in partial fulfilment of the requirements for the degree of
Master of Computer Application (MCA) of Tezpur University has been examined.
Examiner Examiner
We affirm that the project work entitled, “Web3 Blockchain based Crowdfunding Platform”
submitted to the Department of Computer Science & Engineering at Tezpur University, was authored
solely by us and has not been presented to any other institution for the purpose of obtaining any other
degree.
We express our sincere appreciation to my project mentor, Dr. Sanjib K Deka, who is a
Professor in the Department of Computer Science and Engineering at Tezpur University, for granting us
the opportunity to work under his guidance and offering extensive support throughout the project.
We also extend our gratitude to the Head of the Department of Computer Science and
Engineering (CSE) and the entire faculty of the CSE Department, Tezpur University for their
invaluable guidance and cooperation during the project. We would like to acknowledge and thank all
individuals who, in various capacities, have provided assistance, whether directly or indirectly, with
their skills and contributions.
Supervisor’s Certificate..............................................................................................................i
Supervisor’s Certificate............................................................................................................. ii
HoD’s Certificate......................................................................................................................iii
Examiner’s Certificate.............................................................................................................. iv
Declaration.................................................................................................................................v
Acknowledgement.................................................................................................................... vi
GUIDELINES FOR REPORT FOR MCA FINAL SEMESTER PROJECT.........................xiii
1 Introduction........................................................................................................................ 1
1.1 Project Profile............................................................................................................................ 1
2 Initial System Study...........................................................................................................3
2.1 Land Acquisition Process in XYZ Corp.................................................................................... 4
2.2 Drawbacks of the Existing System............................................................................................ 4
2.3 Problem Definition....................................................................................................................5
2.4 The Proposed System................................................................................................................ 5
2.5 Scope of the System.................................................................................................................. 5
2.6 Scope of the Project................................................................................................................... 6
2.7 System Development Approach................................................................................................ 6
3 Feasibility Analysis............................................................................................................8
3.1 Requirements for System Deployment......................................................................................9
3.2 Behavioural aspects of the proposed system.............................................................................9
3.3 feasibility Statemet....................................................................................................................9
4 System Analysis...............................................................................................................10
4.1 Introduction............................................................................................................................. 10
4.2 Process of Land Acquisition.................................................................................................... 10
4.3 Data Flow Diagram of the Land Acquisition Process.............................................................12
4.4 Data Dictionary........................................................................................................................13
4.5 Entity Relationship Diagram...................................................................................................14
4.6 Physical and Behavioural Aspects of the System.................................................................... 15
5 Software Requirements and Specifications......................................................................16
5.1 General Descritptions..............................................................................................................16
5.1.1 Product Perspective.....................................................................................16
5.1.2 Product Functions........................................................................................16
5.1.3 User Characteristics.....................................................................................17
5.1.4 General Constraints.....................................................................................17
5.1.5 Assumptions and Dependencies..................................................................17
5.2 Functional Requirements.........................................................................................................17
5.2.1 Functional Requirement 1............................................................................17
5.2.2 Functional Requirement 2............................................................................18
5.2.3 Functional Requirement n............................................................................18
5.3 External Interface Requirements.............................................................................................18
5.3.1 User Interfaces............................................................................................. 18
5.4 Performance Requirements......................................................................................................19
5.5 Design Constraints...................................................................................................................19
5.5.1 Standard Compliance...................................................................................20
5.5.2 Hardware Constraints..................................................................................20
5.6 Other Requirements................................................................................................................. 20
5.7 Scope of this project................................................................................................................20
6 System Design..................................................................................................................21
6.1 Introduction............................................................................................................................. 21
6.2 System Architecture.................................................................................................................21
6.3 Module Design........................................................................................................................ 21
6.4 Database Design......................................................................................................................22
6.5 Input/Output Design................................................................................................................23
6.6 Algorithm Design....................................................................................................................23
6.7 Electronic Data-Communication Design.................................................................................23
6.8 System Maintenance................................................................................................................24
6.9 Other Alternatives Considered.................................................................................................24
7 System Implementation....................................................................................................26
7.1 Hardware Components............................................................................................................26
7.2 Softweare Environment........................................................................................................... 26
7.3 System Development Platform................................................................................................27
7.4 Project Acomplishment Status.................................................................................................27
7.5 Guidelines for Continuation.................................................................................................... 28
8 System Testing................................................................................................................. 29
8.1 Test Plan 29
8.2 Test Cases................................................................................................................................29
9 Conclusion........................................................................................................................30
Appendix A.............................................................................................................................. 31
Installation Manual........................................................................................................................... 31
Reference Manual.............................................................................................................................31
Maintenance Manual........................................................................................................................31
Appendix B.............................................................................................................................. 33
White Box Testing............................................................................................................................ 33
Black Box Testing.............................................................................................................................33
Functional Testing....................................................................................................................33
Non-Functionial Testing..........................................................................................................34
Grey Box Testing.............................................................................................................................. 34
Others 34
Appendix C.............................................................................................................................. 35
Paper Forms Used in The Organisation............................................................................................35
Input Forms in the New System.......................................................................................................35
Output Formats in the New System..................................................................................................36
Appendix D..............................................................................................................................37
Bibliography............................................................................................................................ 38
ABSTRACT
The rapid growth of decentralized finance (DeFi) has paved the way for innovative fundraising
methods, with crowdfunding being one of the most impactful applications. .This project presents the
development of a blockchain-based crowdfunding platform utilizing Thirdweb SDK, React, and
TypeScript, deployed on the Sepolia testnet. The platform aims to provide a decentralized,
transparent, and secure method for raising funds, eliminating intermediaries and enhancing trust
between project creators and contributors. By leveraging smart contracts, all transactions are recorded
on the blockchain, ensuring immutability and accountability. Users can create campaigns, contribute
funds, and monitor campaign progress in real-time. The integration of Web3 technologies highlights
the potential for blockchain to transform traditional crowdfunding models, offering a more efficient,
cost-effective, and transparent fundraising approach.
CHAPTER 1
INTRODUCTION
Information processing plays a vital role in today’s digital world. The availability of structured,
analyzable information is essential for making well-informed decisions, particularly in sectors like
finance, governance, and technology. In the context of crowdfunding, efficient processing and
transparency of contributions, campaigns, and financial transactions are crucial. Traditional
crowdfunding models often face issues like lack of transparency, intermediary fees, and trust issues
among participants. Blockchain technology offers a decentralized, transparent solution to these
problems, making it an ideal tool for creating a crowdfunding platform. The Crowdfunding DApp is
designed to leverage smart contracts and blockchain technology to enable secure, transparent, and cost-
effective fundraising.
The existing systems for crowdfunding, although widely used, are centralized and often rely on third-
party intermediaries that introduce inefficiencies and increase costs. With the adoption of Web3
technologies in the form of smart contracts, contributors and campaign creators can interact directly,
without the need for intermediaries. This project aims to replace the traditional system with a
decentralized solution that offers transparency, security, and efficiency. By using blockchain, the
system ensures that all transactions are recorded in an immutable ledger, guaranteeing full transparency
for all users. Therefore, the need to computerize the current crowdfunding process through blockchain
technology is clear, as it addresses issues of trust, efficiency, and cost reduction.
The idea for this project emerged from the desire to explore the potential of blockchain technology in
transforming traditional systems. After gaining experience in smart contract development using
Thirdweb SDK and React, I realized the opportunity to apply these technologies to build a
decentralized crowdfunding platform. Over the course of this project, I have successfully developed a
working prototype of the Crowdfunding DApp, deployed on the Sepolia testnet, where users can create,
fund, and track campaigns securely through a user-friendly interface.
1.1 PROJECT PROFILE
Problem statement : The existing centralized crowdfunding platforms often suffer from issues like
high fees, lack of transparency, and reliance on intermediaries. The proposed
solution, a Blockchain-based Crowdfunding DApp, leverages smart contracts to
automate and secure the fundraising process, offering transparency and
eliminating intermediaries.
Person doing the project: Bhargav Pratim Sarma (CSM23012), Bhrigu Moni Baruah (CSM23057)
Duration : 4 months
Environment :
• High Transaction Fees: Crowdfunding platforms often charge a significant fee for facilitating
transactions, reducing the overall funds available for campaign creators.
• Lack of Transparency: Contributors have limited visibility regarding how their funds are used
after the donation, leading to concerns over fund mismanagement.
• Centralized Control: Traditional systems rely on centralized intermediaries to manage funds,
which can be vulnerable to fraud, hacking, or mismanagement.
• Trust Issues: Without proper monitoring, contributors may not trust that the campaign creator
will deliver on their promises or meet the goals set out at the beginning.
• Delays: The involvement of multiple intermediaries can slow down the fundraising process and
delay the transfer of funds, making it less efficient.
These drawbacks are significant in limiting the potential of crowdfunding platforms and can discourage
contributors from participating.
2.3 Problem Definition
The problem addressed by this project is the lack of transparency, security, and high transaction fees in
traditional centralized crowdfunding platforms, which can lead to inefficiencies and trust issues
between campaign creators and contributors.
The proposed Crowdfunding DApp utilizes blockchain and smart contracts to revolutionize the
crowdfunding process:
1. Smart Contracts: These are self-executing contracts where the terms and conditions of the
agreement between the campaign creator and contributors are directly written into lines of code.
Once the specified conditions are met, the smart contract will automatically release funds to the
campaign creator.
2. Decentralization: The system eliminates the need for a central authority by utilizing
blockchain, where transactions are validated and recorded on a distributed ledger.
3. Transparency: All transactions, including contributions and fund transfers, are visible to
everyone on the blockchain, ensuring complete transparency.
4. Lower Transaction Costs: By removing intermediaries, the platform significantly reduces the
fees charged for transactions, allowing campaign creators to keep a larger portion of the raised
funds.
5. Security: Blockchain technology ensures that the funds are securely managed, with no single
point of failure, reducing the chances of fraud or hacking.
6. Real-Time Updates: Contributors can track the progress of the campaign in real-time, ensuring
that funds are being used as promised.
1. Requirement Analysis: Understanding the user needs and defining the requirements for the
crowdfunding platform, focusing on user functionality and blockchain integration.
2. System Design: Designing the architecture of the DApp, including smart contract logic,
frontend layout, and user interaction flow.
3. Development: Writing and testing the smart contracts, developing the user interface, and
integrating both to create a fully functional system.
4. Testing: Conducting extensive testing on the Sepolia testnet to ensure that the platform
functions as expected and is secure.
5. Deployment and Documentation: Deploying the DApp on the testnet, preparing user manuals,
and documenting the development process.
CHAPTER 3
FEASIBILITY ANALYSIS
The successful deployment of the Crowdfunding DApp requires both hardware and software
components that work seamlessly together. Below are the key requirements:
Hardware Requirements:
Software Requirements:
1. Blockchain Network: Sepolia Testnet (for testing purposes) and Ethereum (for future
production deployment).
2. Smart Contract Development Tools: Solidity compiler, Hardhat for writing, testing, and
deploying smart contracts.
3. Frontend Development Tools: React (JavaScript framework), TypeScript, and Node.js to build
the user interface.
4. Version Control: Git and GitHub for source code management and version control.
5. API Tools: Web3.js or Ethers.js to enable interaction between the frontend and the blockchain
network.
6. Wallet Integration: MetaMask or any compatible cryptocurrency wallet for user interaction
and transaction signing.
These requirements ensure that the system is capable of handling the decentralized nature of the
crowdfunding process securely and efficiently.
The Crowdfunding DApp system will exhibit the following behavioral aspects:
1. User Interaction:
i. Campaign Creators will interact with the system to create new crowdfunding
campaigns, define funding goals, and set the timeline.
ii. Contributors will browse active campaigns, read the terms and conditions, and
contribute funds securely through the platform.
2. Smart Contract Execution:
i. Once the specified funding goal is reached, the smart contract will automatically release
funds to the campaign creator.
ii. If the campaign fails to meet its goal, the funds will be refunded to the contributors,
ensuring transparency and fairness.
3. Real-Time Updates:
i. The system will provide real-time status updates on the campaign’s funding progress,
showing contributors how much has been raised and whether the goal has been met.
4. Security:
i. All transactions will be processed through Ethereum smart contracts, ensuring that funds
are transferred only when predefined conditions are met, reducing the risk of fraud.
5. Transparency:
i. All contributions, fund transfers, and smart contract executions will be publicly available
on the blockchain, allowing users to verify the legitimacy of transactions.
These behavioral aspects ensure that the system operates according to its intended functionality,
providing a transparent, secure, and efficient environment for both campaign creators and contributors.
3.3 Feasibility Statement
The proposed Crowdfunding DApp is technically and economically feasible within the scope of the
project. Blockchain technology provides the necessary infrastructure to achieve the objectives of
transparency, decentralization, and security. The project is feasible in terms of:
1. Technical Feasibility: The development of smart contracts using Solidity is supported by the
Ethereum blockchain, and the integration of frontend technologies like React and TypeScript
with Web3 libraries ensures smooth interaction with the blockchain.
2. Operational Feasibility: The system can be deployed on a test network (Sepolia) to evaluate its
functionality before moving to a live environment. The required tools and resources are
available, and the platform will be easy for users to interact with.
3. Economic Feasibility: With the use of decentralized technology, the system reduces costs
associated with intermediaries, transaction fees, and trust-related issues inherent in traditional
crowdfunding platforms. Future scalability can be achieved through the addition of other
blockchain networks, further increasing the reach and viability of the platform.
CHAPTER 4
1
SYSTEM ANALYSIS
4.1 Introduction
System analysis plays a critical role in the design and development of any software system. It involves
understanding the requirements, processes, and interactions of various system components to ensure
smooth execution of functionalities. For the Crowdfunding DApp, system analysis focuses on the
crowdfunding process, user interactions, and blockchain-based operations to achieve transparency,
security, and efficiency. This chapter provides an overview of the fundraising process, visual
representations through Data Flow Diagrams (DFDs), and a description of the system's physical and
behavioral aspects.
The process of fundraising in the Crowdfunding DApp is decentralized and operates using blockchain
smart contracts. The steps involved in this process are as follows:
1. Campaign Creation:
i. The campaign is displayed on the frontend (React UI), allowing potential contributors to
view the active campaigns and their details.
ii. Contributors can browse the campaign's description, funding goal, and deadline to
decide on contributing.
3. Contribution:
i. If the campaign reaches its funding goal before the deadline, the smart contract
automatically transfers the collected funds to the campaign creator.
ii. If the campaign does not reach its funding goal by the deadline, the funds are
automatically refunded to the contributors through the smart contract.
5. Campaign Closure:
i. Once the funds are released or refunded, the campaign is marked as "Closed" and can no
longer accept contributions.
ii. The blockchain maintains an immutable record of the transaction history, ensuring full
transparency and accountability.
A Data Dictionary lists and defines all data items, variables, and constants used in the system. Here is
the Data Dictionary for key elements in the Crowdfunding Dapp.
The data dictionary ensures that all variables used in the smart contract, frontend, and blockchain
system are well defined and understood.
CHAPTER 5
This section provides an overview of the Crowdfunding DApp from a high-level perspective, outlining
its purpose, key functionalities, user characteristics, and system constraints.
The Crowdfunding DApp is a decentralized application built on the Ethereum blockchain using
Solidity smart contracts. Unlike traditional centralized crowdfunding platforms, this system ensures
transparency, immutability, and decentralization. Users can create, contribute to, and track fundraising
campaigns directly on the blockchain without relying on intermediaries. The application comprises:
i. Campaign Creation: Allows users to create new fundraising campaigns with details like title,
description, funding goal, and deadline.
ii. Campaign Browsing: Users can browse active campaigns, view descriptions, and track their
progress.
iii.Contribution to Campaigns: Contributors can send ETH to support campaigns directly via a
crypto wallet (like MetaMask).
iv. Automatic Refunds: If the funding goal is not met, the smart contract refunds contributors
automatically.
v. Fund Withdrawal: If the funding goal is met, the campaign creator can withdraw funds.
vi. Auditability and Transparency: Blockchain ensures immutability and transparency of all
transactions.
i. Campaign Creators: Users who launch fundraising campaigns. They require basic knowledge
of campaign creation, and access to a crypto wallet like MetaMask.
ii. Contributors: Users who support campaigns by donating ETH. They should know how to
connect a wallet to the application.
iii.System Administrator (Smart Contract Owner): This role is responsible for deploying the
smart contract and ensuring the platform's smooth operation.
i. Gas Fees: Users must pay gas fees for transactions, which may vary depending on network
traffic.
ii. Blockchain Immutability: Once deployed, the smart contract cannot be changed. Any logic
errors require a new contract deployment.
iii.Wallet Requirement: Users must have a MetaMask wallet or similar to interact with the
DApp.
iv. Internet Requirement: Since the DApp interacts with the blockchain, a stable internet
connection is essential.
The functional requirements define the primary operations and processes of the system.
i. Description: Users can create a new campaign by entering details like title, description, funding
goal, and deadline.
ii. Input: Title, description, goal amount, deadline.
iii.Output: Campaign is listed on the DApp, and its details are stored on the blockchain.
iv. Actors: Campaign Creator.
i. Description: Campaign creators can withdraw funds if the funding goal is met before the
deadline.
ii. Input: Withdrawal request.
iii.Output: Funds are transferred to the campaign creator's wallet.
iv. Actors: Campaign Creator, Smart Contract.
This section outlines the system's external interfaces, including how users interact with the system.
The frontend is built using React.js and styled with CSS/Bootstrap for a responsive and interactive user
experience.
The system's performance depends on blockchain performance and network conditions. Key
performance requirements include:
• Transaction Latency: Transaction time depends on network congestion but should not exceed
15 seconds.
• Throughput: The system can handle multiple user interactions simultaneously.
• Scalability: The system should remain functional even with an increase in the number of
campaigns and contributors.
• Availability: The system should be available 24/7, subject to the availability of the Ethereum
network.
There are no stringent hardware requirements as most processing is done on the blockchain. Users
require:
i. Security Requirements: Smart contracts must prevent attacks like re-entrancy, overflow, and
underflow errors.
ii. Regulatory Requirements: Must comply with regulations for financial transactions involving
cryptocurrency.
iii.Ethical Requirements: Should maintain transparency and trust, as funds are raised publicly.
2
SYSTEM DESIGN
6.1 Introduction
System design plays a crucial role in ensuring that the system functions as intended. This chapter
outlines the architectural layout, design methodologies, key modules, and the interaction between the
system's components. The design approach for this blockchain-based crowdfunding DApp focuses on
ensuring security, scalability, and transparency. Each component of the system is discussed in detail,
with an emphasis on the design of the smart contract, which serves as the backbone of the decentralized
application (DApp).
The architecture of the Crowdfunding DApp is divided into three main layers:
1. Client-Side (Frontend)
1. User Module
This section outlines the key inputs and outputs for various components of the system.
Inputs
1. Campaign Creation:
Outputs
1. Campaign Status:
The algorithm design has already been provided earlier in detail. It explains the logic behind the core
operations like campaign creation, contributions, refunds, and withdrawals.
START
1. Campaign Initialization:
- Set owner, name, description, goal, deadline
- Set state to "Active"
4. Owner can:
- Withdraw funds if campaign is successful
- Extend the campaign deadline
- Pause/unpause the campaign
5. Backers can:
- Request refunds if the campaign failed
6. Functions:
- View the status of tiers
- Check if a backer funded a specific tier
- View campaign balance
END
i. Since smart contracts are immutable, any update would require deploying a new version
of the contract.
ii. Proxy contracts can be used to maintain upgradability.
2. Bug Fixes and Security Patches
i. Regular audits of the smart contract are required to detect and fix vulnerabilities.
3. Tier Adjustments
i. The owner can extend the deadline if required to give backers more time to fund the
campaign.
6.7 Other Alternatives Considered
SYSTEM IMPLEMENTATION
Hardware
Specification Purpose
Component
Development Apple M1, 8GB RAM, 256GB Used for local development, testing, and
Machine SSD deployment of the DApp.
Broadband with 10+ Mbps Required for accessing blockchain networks
Internet Connection
speed (Sepolia) and GitHub for version control.
External Storage Backup of source code and important
32GB USB
(Optional) resources.
The following software tools and platforms were used for the development, testing, and deployment of
the Crowdfunding DApp.
SYSTEM TESTING
1. Integration Testing: Ensures proper interaction between the smart contract, Thirdweb SDK,
and React frontend.
2. System Testing: End-to-end testing to validate the entire system workflow (campaign creation,
funding, withdrawal, refunds).
3. Security Testing: Identifies vulnerabilities like reentrancy attacks using MythX and Slither.
4. Performance Testing: Tests system stability under concurrent users and transaction load.
5. Regression Testing: Ensures that updates to the contract or UI don't break existing features.
Objective: Ensure campaign creation, funding, refunds, and withdrawals work as expected.
1. Successful Campaign Execution: Users can create, fund, and track crowdfunding campaigns
in real time.
2. Efficient Fund Management: Funds are securely stored in the smart contract and released only
after campaign success.
3. Transparency & Security: Blockchain ensures transparency, immutability, and verifiability of
transactions.
4. User-Friendly Interface: Integrated a seamless UI using React and Thirdweb SDK for a
smooth user experience.
10.1 Conclusion
1. Multi-Currency Support: Enable support for multiple cryptocurrencies for wider participation.
2. Governance Mechanism: Introduce a voting system where backers can influence campaign
decisions.
3. Milestone-based Funding: Release funds in stages as campaign milestones are achieved.
4. Enhanced UI/UX: Improve user experience with better animations, notifications, and error
handling.
5. Integration with IPFS: Store campaign details and media files on a decentralized storage
platform like IPFS.
BIBLIOGRAPHY
[1] React Team, "Getting Started with React," React Official Documentation. Available:
https://legacy.reactjs.org/docs/getting-started.html
[2] Solidity Developers, "Solidity — Solidity 0.8.28 Documentation," Solidity Official Documentation.
Available: https://docs.soliditylang.org/en/v0.8.28/
[3] Thirdweb Team, "Thirdweb Developer Portal," Thirdweb Documentation. Available:
https://portal.thirdweb.com/
[4] Ethereum Foundation, "Ethereum Developer Documentation," Ethereum Official Documentation.
Available: https://ethereum.org/en/developers/docs/
[5] Etherscan Developers, "Sepolia Testnet Etherscan Documentation," Etherscan Documentation.
Available: https://docs.etherscan.io/sepolia-etherscan
[6] TypeScript Team, "TypeScript Documentation," TypeScript Official Documentation. Available:
https://www.typescriptlang.org/docs/