G8 GrantBounty Connect

Download as pdf or txt
Download as pdf or txt
You are on page 1of 102

A PROJECT REPORT ON

Grant Bounty Platform

SUBMITTED TO THE SAVITRIBAI PHULE PUNE UNIVERSITY ,


PUNE IN THE PARTIAL FULFILLMENT OF THE REQUIREMENTS
FOR THE AWARD OF THE DEGREE

BACHELOR OF ENGINEERING
(Computer Engineering)
BY
Siddhesh V. Sawant Exam No: 72221312D
Chamanpreet B. Saini Exam No: 72221310H
Priyanka V. Pawar Exam No: 72221304C
Prasad P. Deore Exam No: 72221289F

Under The Guidance of

Mrs. G. P. Mohole

DEPARTMENT OF COMPUTER ENGINEERING


JAWAHAR EDUCATION SOCIETY’S
INSTITUTE OF TECHNOLOGY, MANAGEMENT
AND RESEARCH, NASHIK
SAVITRIBAI PHULE PUNE UNIVERSITY, PUNE
2023 - 24
CERTIFICATE

This is to certify that the Project Entitled


Grant Bounty Platform
Submitted by
Siddhesh V. Sawant Exam No: 72221312D
Chamanpreet B. Saini Exam No: 72221310H
Priyanka V. Pawar Exam No: 72221304C
Prasad P. Deore Exam No: 72221289F
is a bonafide work carried out by them under the supervision of Mrs. G. P.
Mohole and it is approved for the partial fulfillment of the requirement of
Savtribai Phule Pune university, Pune for the award of the degree of Bachelor
of Engineering (Computer Engineering).

Mrs. G. P. Mohole Mrs. G. P. Mohole


Guide H.O.D
Dept. of Computer Engg. Dept. of Computer Engg.

Dr. M. V. Bhatkar
Principal
JESITMR, Nashik

Signature of Internal Examiner Signature of External Examiner


PROJECT APPROVAL SHEET

A Project Report Titled as

Grant Bounty Platform

Is verified for its originality in documentation, problem statement, proposed


work and implementation successfully completed by

Siddhesh V. Sawant Exam No: 72221312D


Chamanpreet B. Saini Exam No: 72221310H
Priyanka V. Pawar Exam No: 72221304C
Prasad P. Deore Exam No: 72221289F

at

DEPARTMENT OF COMPUTER ENGINEERING

JAWAHAR EDUCATION SOCIETY’S INSTITUTE OF TECHNOLOGY,


MANAGEMENT AND RESEARCH, NASHIK

SAVITRIBAI PHULE PUNE UNIVERSITY,PUNE

ACADEMIC YEAR 2023-2024

Mrs. G. P. Mohole Mrs. G. P. Mohole


Guide H.O.D
Dept. of Computer Engg. Dept. of Computer Engg.
Abstract

The Grant/Bounty Platform for Decentralized Collaboration on Multiple


Blockchains is an innovative ecosystem that allows and incentivizes contri-
butions to open-source projects, research initiatives, and blockchain protocol
development. The platform will support major blockchain networks like as
Ethereum, Polkadot, and Solana, ensuring inclusion and accessibility for a
wide spectrum of participants.

The platform’s key goals are to enable users to create, manage, and distribute
grants/bounties in a decentralized and trustless manner. Users will be able
to launch grant or bounty programmer, specifying criteria and prizes, to pro-
mote participation in projects that improve blockchain technology. Smart
contracts will be used on the platform to automate and safeguard the pro-
cesses of contribution submission, and reward Distributions.

The Grant/Bounty Platform’s key features include an easy-to-use interface,


cross-platform compatibility, and seamless connection with blockchain net-
works. The platform’s decentralized design assures transparency, reduces
the need for central authority, and fosters a trustless environment in which
contributors can work without middlemen.

The platform hopes to become a hub for developers, academics, and blockchain
aficionados by encouraging collaboration and incentivizing contributions. The
automatic reward distribution process assures fair and transparent recom-
pense for valuable contributions.

Keywords: Grant/Bounty Platform, Decentralization, Blockchain Platforms,


Smart Contracts, Open-source Projects

JESITMR, Department of Computer Engineering 2023-24 I


Acknowledgments

It gives us great pleasure in presenting the preliminary project report on


‘Grant Bounty Platform’.

We would like to take this opportunity to thank our internal guide Mrs. G.
P. Mohole for giving us all the help and guidance we needed. We are really
grateful to them for their kind support. Their valuable suggestions were very
helpful.

We are also grateful to Mrs. G. P. Mohole, Head of Computer Engineering


Department, JESITMR for her indispensable support, suggestions.

In the end our special thanks to Dr. M. V. Bhatkar for providing various
resources such as laboratory with all needed software platforms, continuous
Internet connection, for Our Project.

Siddhesh V. Sawant

Chamanpreet B. Saini

Priyanka V. Pawar

Prasad P. Deore

(B.E. Computer Engg.)

JESITMR, Department of Computer Engineering 2023-24 II


Contents

1 Synopsis 1
1.1 Project Title . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Project Option . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Internal Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 Technical Keywords (As per ACM Keywords) . . . . . . . . . 2
1.5 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . 2
1.6 Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.7 Goals and Objectives . . . . . . . . . . . . . . . . . . . . . . . 3
1.8 Relevant mathematics associated with the Project . . . . . . . 3
1.9 Names of Conferences / Journals where papers can be published 4
1.10 Review of Conference/Journal Papers supporting Project idea 4
1.11 Plan of Project Execution . . . . . . . . . . . . . . . . . . . . 5

2 Technical Keywords 7
2.1 Area of Project . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Technical Keywords . . . . . . . . . . . . . . . . . . . . . . . . 8

3 Introduction 9
3.1 Project Idea . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2 Motivation of the Project . . . . . . . . . . . . . . . . . . . . 10
3.3 Literature Survey . . . . . . . . . . . . . . . . . . . . . . . . . 10

4 Problem Definition and scope 13


4.1 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . 14
4.1.1 Goals and objectives . . . . . . . . . . . . . . . . . . . 14
4.1.2 Statement of scope . . . . . . . . . . . . . . . . . . . . 14
4.2 Major Constraints . . . . . . . . . . . . . . . . . . . . . . . . 15
4.3 Methodologies of Problem solving and efficiency issues . . . . 16
4.4 Outcome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.5 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.6 Hardware Resources Required . . . . . . . . . . . . . . . . . . 18
4.7 Software Resources Required . . . . . . . . . . . . . . . . . . . 18
5 Project Plan 19
5.1 Project Estimates . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.1.1 Reconciled Estimates . . . . . . . . . . . . . . . . . . . 20
5.1.2 Project Resources . . . . . . . . . . . . . . . . . . . . . 23
5.2 Risk Management w.r.t. NP Hard analysis . . . . . . . . . . . 24
5.2.1 Risk Identification . . . . . . . . . . . . . . . . . . . . 24
5.2.2 Risk Analysis . . . . . . . . . . . . . . . . . . . . . . . 25
5.2.3 Overview of Risk Mitigation, Monitoring, Management 26
5.3 Project Schedule . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.3.1 Project task set . . . . . . . . . . . . . . . . . . . . . . 29
5.3.2 Task network . . . . . . . . . . . . . . . . . . . . . . . 29
5.3.3 Timeline Chart . . . . . . . . . . . . . . . . . . . . . . 30
5.4 Team Organization . . . . . . . . . . . . . . . . . . . . . . . . 31
5.4.1 Team structure . . . . . . . . . . . . . . . . . . . . . . 31
5.4.2 Management reporting and communication . . . . . . . 31

6 Software requirement specification 33


6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.1.1 Purpose and Scope of Document . . . . . . . . . . . . 34
6.1.2 Overview of responsibilities of Developer . . . . . . . . 34
6.2 Usage Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.2.1 User profiles . . . . . . . . . . . . . . . . . . . . . . . . 34
6.2.2 Use-cases . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.2.3 Use Case View . . . . . . . . . . . . . . . . . . . . . . 36
6.3 Data Model and Description . . . . . . . . . . . . . . . . . . . 37
6.3.1 Data Description . . . . . . . . . . . . . . . . . . . . . 37
6.3.2 Data objects and Relationships . . . . . . . . . . . . . 37
6.3.3 Entity Relationships . . . . . . . . . . . . . . . . . . . 38
6.4 Functional Model and Description . . . . . . . . . . . . . . . . 38
6.4.1 Data Flow Diagram . . . . . . . . . . . . . . . . . . . . 39
6.4.2 Activity Diagram: . . . . . . . . . . . . . . . . . . . . . 42
6.4.3 Non Functional Requirements: . . . . . . . . . . . . . . 43
6.4.4 Design Constraints . . . . . . . . . . . . . . . . . . . . 43
6.4.5 Software Interface Description . . . . . . . . . . . . . . 43

7 Detailed Design Document using Annexure A and B 44


7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
7.2 Architectural Design . . . . . . . . . . . . . . . . . . . . . . . 45
7.3 Data design (using Annexures A and B) . . . . . . . . . . . . 47
7.3.1 Internal software data structure . . . . . . . . . . . . . 47
7.3.2 Global data structure . . . . . . . . . . . . . . . . . . . 47

JESITMR, Department of Computer Engineering 2023-24 IV


7.3.3 Temporary data structure . . . . . . . . . . . . . . . . 47
7.3.4 Database description . . . . . . . . . . . . . . . . . . . 47
7.4 Compoent Design . . . . . . . . . . . . . . . . . . . . . . . . . 47
7.4.1 Class Diagram . . . . . . . . . . . . . . . . . . . . . . . 47

8 Project Implementation 49
8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
8.2 Tools and Technologies Used . . . . . . . . . . . . . . . . . . . 50
8.3 Methodologies/Algorithm Details . . . . . . . . . . . . . . . . 51
8.3.1 Algorithm 1/Pseudo Code . . . . . . . . . . . . . . . . 51
8.3.2 Algorithm 2/Pseudo Code . . . . . . . . . . . . . . . . 52
8.4 Verification and Validation for Acceptance . . . . . . . . . . . 52

9 Software Testing 54
9.1 Type of Testing Used . . . . . . . . . . . . . . . . . . . . . . . 55
9.2 Test Cases and Test Results . . . . . . . . . . . . . . . . . . . 55

10 Results 57
10.1 Screen shots/ Outputs . . . . . . . . . . . . . . . . . . . . . . 58

11 Deployment and Maintenance 62


11.1 Installation and un-installation . . . . . . . . . . . . . . . . . 63
11.2 User help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

12 Conclusion and Future Scope 64


12.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
12.2 future scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

References 65

Annexure A Laboratory assignments on Project Analysis of Al-


gorithmic Design 68

Annexure B Laboratory assignments on Project Quality and


Reliability Testing of Project Design 70

Annexure C Project Planner 72

Annexure D Reviewers Comments of Paper Submitted 75

Annexure E Plagiarism Report 85

Annexure F Information of Project Group Members 87


List of Figures

6.1 Use case diagram . . . . . . . . . . . . . . . . . . . . . . . . . 36


6.2 E-R diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
6.3 DFD Level 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.4 DFD Level 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
6.5 DFD Level 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

7.1 Architecture diagram . . . . . . . . . . . . . . . . . . . . . . . 46


7.2 Class Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

10.1 Landing Page . . . . . . . . . . . . . . . . . . . . . . . . . . . 58


10.2 SignUp Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
10.3 Login Page(login using Metamask) . . . . . . . . . . . . . . . 59
10.4 Dashboard - Profile page . . . . . . . . . . . . . . . . . . . . . 60
10.5 Grants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
10.6 Bounties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
10.7 Bounties list . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
10.8 Logout(Disconnect wallet) . . . . . . . . . . . . . . . . . . . . 61

D.1 Siddhesh Vilas Sawant 72221312D . . . . . . . . . . . . . . . . 81


D.2 Chamanpreet Balwindersingh Saini 72221310H . . . . . . . . . 82
D.3 Priyanka Vinod Pawar 72221304C . . . . . . . . . . . . . . . . 83
D.4 Prasad Prakash Deore 72221289F . . . . . . . . . . . . . . . . 84

E.1 For Chapter 3 and 4 . . . . . . . . . . . . . . . . . . . . . . . 86


E.2 For Chapter 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

JESITMR, Department of Computer Engineering 2023-24 VI


List of Tables

4.1 Hardware Requirements . . . . . . . . . . . . . . . . . . . . . 18

5.1 Risk Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25


5.2 Risk Probability definitions . . . . . . . . . . . . . . . . . . . 25
5.3 Risk Impact definitions . . . . . . . . . . . . . . . . . . . . . . 26

6.1 Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

A.1 IDEA Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . 69


CHAPTER 1
SYNOPSIS
1.1 Project Title
‘Grant Bounty Platform’.

1.2 Project Option


Entrepreneur or Internal project

1.3 Internal Guide


Mrs. G. P. Mohole

1.4 Technical Keywords (As per ACM Key-


words)
1. Blockchain

2. Decentralized Applications (DApps)

3. Open Source Software

4. Distributed Ledger

5. Smart Contracts

6. Crowd Funding

1.5 Problem Statement


The problem is the lack of a user-friendly, decentralized platform that sup-
ports multiple blockchain platforms for creating, managing, and distribut-
ing grants and bounties. Existing solutions are often complex, limited to
specific blockchains, or lack features for easy management and distribu-
tion of grants/bounties. This project aims to address these challenges by
providing an intuitive interface for users to create, manage, and distribute
grants/bounties across different blockchain platforms, thereby incentivizing
contributions to open-source projects, research, and blockchain protocol de-
velopment in a decentralized and trust-less manner.

JESITMR, Department of Computer Engineering 2023-24 2


1.6 Abstract
• The Grant/Bounty Platform for Decentralized Collaboration on Mul-
tiple Blockchains is an innovative ecosystem that allows and incen-
tivizes contributions to open-source projects, research initiatives, and
blockchain protocol development. The platform will support major
blockchain networks like as Ethereum, Polkadot, and Solana, ensuring
inclusion and accessibility for a wide spectrum of participants.

• The platform’s key goals are to enable users to create, manage, and dis-
tribute grants/bounties in a decentralized and trustless manner. Users
will be able to launch grant or bounty programmer, specifying cri-
teria and prizes, to promote participation in projects that improve
blockchain technology. Smart contracts will be used on the platform
to automate and safeguard the processes of contribution submission,
appraisal, and reward Distributions.

• The Grant/Bounty Platform’s key features include an easy-to-use inter-


face, cross-platform compatibility, and seamless connection with blockchain
networks. The platform’s decentralized design assures transparency, re-
duces the need for central authority, and fosters a trustless environment
in which contributors can work without middlemen.

• The platform hopes to become a hub for developers, academics, and


blockchain aficionados by encouraging collaboration and incentivizing
contributions. The automatic reward distribution process assures fair
and transparent recompense for valuable contributions.

1.7 Goals and Objectives


• Facilitate Decentralized Collaboration.

• Incentivize Contributions and Innovation.

• Provide a User-Friendly Interface for Accessibility

1.8 Relevant mathematics associated with the


Project
System Description:

JESITMR, Department of Computer Engineering 2023-24 3


• Input: User-submitted Grant/Bounty details, program rules, partici-
pant information, and submission data.

• Output: Grant/Bounty program status updates.

• Functions : Verification and validation of the Grant/Bounty.

• Mathematical formulation : Creation and Management of Grant/Bounty.

• Success Conditions: Successful creation and management of Grant/Bounty


programs

• Failure Conditions: Successful creation and management of Grant/Bounty


programs

1.9 Names of Conferences / Journals where


papers can be published
• National conference on Emerging Trends in Engineering and Manage-
ment

1.10 Review of Conference/Journal Papers sup-


porting Project idea
PAPER 1 Title: Analysis of Bounty Authors: Tetsuya Kanda
Year : 2017 Bug Diversity.

PAPER 2 Title: Bug Bounty Programs Authors: Ana Magazinius


Year : 2019 Whole Mapping of Bounty.

PAPER 3 Title: Decentralized Security Authors: Alex Hoffman


Year : 2020 Impact of Bug Bounty Program.

PAPER 4 Title: Empirical Study of Bounty Authors: Thomas Walshe


Year : 2020 Systematic Mapping Study of Grant/Bounty.

PAPER 5 Title: Dynamics of Bounty Authors: Ashish Bhushan


Year:2022 Bug Bounty Platform Diversity

JESITMR, Department of Computer Engineering 2023-24 4


1.11 Plan of Project Execution
Phase 1: Project Planning and Requirements Gathering
- Define project objectives, scope, and deliverables.
- Document detailed requirements, including functional and non-functional
requirements.

Phase 2: System Design and Architecture


- Create detailed design documents for each module.
- Design the overall system architecture, integrating Next.js for the frontend,
Tableland for data storage, and Web3Modal for blockchain interactions.

Phase 3: Development
- Set up development environments, version control.
- Develop the frontend interface using Next.js, styled with Tailwind CSS and
DaisyUI.
- Implement backend services and API endpoints using Node.js.
- Integrate Tableland for data storage and management.
- Develop and test smart contracts using Remix IDE.
- Integrate Web3Modal for user authentication and interaction with blockchain
networks.

Phase 4: Integration and Testing


- Integrate all modules and ensure seamless communication between compo-
nents.
- Involve end-users in testing to gather feedback and ensure the platform
meets their needs.

Phase 5: Deployment
- Deploy the platform to Vercel for hosting.
- Configure domain settings and SSL encryption for security.
- Conduct final testing in the production environment.
- Launch the platform to users and stakeholders.

Phase 6 : Post-Launch Activities


- Monitor platform performance and user feedback.
- Address any bugs or issues reported by users.
- Iterate on features and enhancements based on user feedback.

JESITMR, Department of Computer Engineering 2023-24 5


Phase 7 : Documentation and Training
- Document platform features, functionalities, and APIs.
- Create user manuals and technical documentation for reference.
- Provide training sessions for users and administrators on platform usage.

Phase 8 : Maintenance and Support


- Establish a system for ongoing maintenance and support.
- Monitor server uptime and performance.
- Provide technical support and assistance to users as needed.

Phase 9 : Project Closure


- Review project outcomes against initial objectives and deliverables.
- Conduct a post-mortem meeting to discuss lessons learned and areas for
improvement.
- Archive project documentation and assets for future reference.
CHAPTER 2
TECHNICAL KEYWORDS
2.1 Area of Project
Blockchain Technology

2.2 Technical Keywords


1. Blockchain

2. Decentralized Applications (DApps)

3. Open Source Software

4. Distributed Ledger

5. Smart Contracts

6. Crowd Funding
CHAPTER 3
INTRODUCTION
3.1 Project Idea
• The Grant/Bounty Platform aims to establish a decentralized ecosys-
tem that enables users to create, manage, and participate in grant and
bounty programs across multiple blockchain platforms, fostering collab-
oration and innovation in the open-source community. The platform
will facilitate secure and transparent distribution of rewards through
smart contracts and an escrow-arbitration mechanism, ensuring fair
dispute resolution.

• Ultimately, the project aspires to accelerate innovation within the blockchain


space. It provides a framework for the blockchain community to address
challenges, fund research, and drive the development of cutting-edge
solutions.

3.2 Motivation of the Project


• The motivation behind the Grant/Bounty Platform project stems from
the recognition of the growing importance of decentralized collabora-
tion and innovation within the blockchain community. As blockchain
technology continues to evolve, there is an increasing need for a plat-
form that empowers and incentivizes individuals to contribute meaning-
fully to open-source projects, research endeavors, and the development
of blockchain protocols.

• In conclusion, the Grant/Bounty Platform project is motivated by a


vision of democratizing contributions to blockchain development, pro-
moting collaboration, and providing tangible incentives for those who
actively contribute to the growth and innovation of the blockchain
ecosystem. Through a user-friendly and decentralized approach, the
platform aims to become a catalyst for positive change within the
blockchain community.

3.3 Literature Survey


• Paper Name: The Dynamics of a Bug Bounty Platform
Author: Mr.Ashish Bhushan, Mr.Vivekananda Billa, Miss.Minal Sonkar
Description: Bug bounty programs (BBPs) have become a crucial
component of organizations’ security strategies, adopted by companies

JESITMR, Department of Computer Engineering 2023-24 10


like Apple, Microsoft, and government agencies such as the Depart-
ment of Defense. Traditionally, professional security teams conducted
tests to find vulnerabilities, but with systems growing more complex
and vulnerabilities unpredictable, organizations are turning to crowd-
sourcing for both identification and remediation. HackerOne reported
a 22 percent increase in high to critical vulnerabilities reported in 2017,
with 24 percent fixed. BBPs are effective because they tap into a vast
community of cybersecurity experts who compete to uncover and ex-
ploit flaws before they are discovered, with rewards only given for gen-
uine vulnerabilities. BBPs are divided into three categories: institu-
tional BBPs hosted by software vendors, platform BBPs like BugCrowd
and HackerOne, and private intermediary BBPs like Zerodium and
Sonosoft, each with its own characteristics and reward structures.

• Paper Name: An Empirical Study of Bug Bounty Programs


Author: Mr.Thomas Walshe, Mr.Andrew Simpson
Description: Bug bounty programs have emerged as a popular method
for identifying vulnerabilities, with platforms like HackerOne hosting
over 200 publicly listed programs as of July 2019. These programs have
led to the discovery of tens of thousands of vulnerabilities since 2013.
An empirical analysis of bug bounty platforms reveals that the average
cost of operating a bug bounty program for a year is now less than
the cost of hiring two additional software engineers. This highlights
the cost-effectiveness of bug bounty programs compared to traditional
methods of identifying vulnerabilities. The analysis also sheds light on
the benefits to both organizations running bug bounty programs and
the hackers participating in them, demonstrating the economic advan-
tages for all parties involved.

• Paper Name: Decentralized Security Bounty Management on Blockchain


and IPFS
Author: Mr.Alex Hoffman, Mr.Eric Becerril-Blas, Mr.Kevin Moreno,
Mr.Yoohwan Kim
Description: The paper introduces Bountychain, a blockchain-based
bug bounty program designed to leverage decentralized applications
(DApps) and blockchain technology. Bountychain utilizes an Ethereum-
based smart contract system and interplanetary file system (IPFS) stor-
age paradigm to provide a safe, secure, and transparent platform for
bug bounty programs. Testers can submit bugs via the blockchain,
and companies can accept or reject them, with testers automatically

JESITMR, Department of Computer Engineering 2023-24 11


receiving payment through the smart contract system. This approach
ensures transparency and immutability of bug reports, while also pro-
viding testers with recognition and status across multiple companies.
IPFS serves as a long-term storage system for bug details, ensuring
their availability and integrity.

• Paper Name: Towards understanding an open-source bounty: Anal-


ysis of Bountysource
Author: Mr.Tetsuya Kanda, Mr.Mingyu Guo, Mr.Hideaki Hata, Mr.Kenichi
Matsumoto
Description: This research focuses on Bountysource, a web funding
platform that incentivizes developers to solve issues reported on Bug
Tracking Systems (BTS) and Issue Tracking Systems (ITS) by offering
bounties. Users can post bounties for specific issues, and developers
who successfully resolve these issues can claim the bounty. The study
aims to clarify the role of bounties in open-source software projects
and explore potential research areas related to open-source bounties.
By analyzing Bountysource, the research sheds light on how bounties
can impact bug fixing and feature addition in open-source projects,
providing insights for future studies in this area.
CHAPTER 4
PROBLEM DEFINITION AND
SCOPE
4.1 Problem Statement
The Blockchain ecosystem is rapidly evolving, with a plethora of innovative
projects emerging daily. However, despite this growth, there is a persistent
challenge in facilitating decentralized collaboration and incentivizing con-
tributions within the community. The absence of a robust platform that
supports multiple blockchain networks has led to fragmentation, making it
challenging for users to create, manage, and distribute grants or bounties
seamlessly across different platforms.

Existing solutions often lack cross-platform compatibility, restricting


users to specific blockchain ecosystems. This limitation hampers the po-
tential for collaboration and contribution across diverse networks such as
Ethereum, Polkadot, and Solana. The absence of a unified Grant/Bounty
Platform exacerbates the difficulty for users to initiate and participate in pro-
grams that foster open-source projects, research endeavors, and blockchain
protocol development.

Moreover, the current landscape lacks a standardized and user-friendly


interface for creating, managing, and distributing grants or bounties. The
complexity of interacting with different blockchain platforms deters potential
contributors, hindering the growth of decentralized collaboration. Addition-
ally, the trust factor is compromised due to the centralized nature of some
existing platforms, where intermediaries play a pivotal role in the evaluation
and distribution of rewards.

4.1.1 Goals and objectives


Goal and Objectives:
• Implement support for multiple blockchain networks, including Ethereum,
Polkadot, and Solana.
• Facilitate Decentralized Collaboration.
• Incentivize Contributions and Innovation.
• Provide a User-Friendly Interface for Accessibility.

4.1.2 Statement of scope


The Grant/Bounty Platform will be a web application that supports mul-
tiple blockchain platforms, allowing users to create and manage grant or

JESITMR, Department of Computer Engineering 2023-24 14


bounty programs. The platform will incentivize participants to contribute
to open-source projects, research, or blockchain protocol development. The
platform’s input will include user-provided information such as grant/bounty
details, program rules, and participant submissions. The bounds on input
will be determined by the platform’s policies and constraints. Input vali-
dation will ensure that the submitted information meets the platform’s re-
quirements. The platform’s input dependency will include the state of the
blockchain networks it supports, which will affect the availability of funds
and the verification of submissions. The platform will have an easy-to-use
interface for creating, managing, and distributing grants/bounties, with fea-
tures for program setup, participant engagement, and reward distribution.
Outputs will include notifications, program status updates, and transaction
records on the blockchain.

4.2 Major Constraints


Major Constraints for ”Grant/Bounty Platform”:

1. Blockchain Integration Complexity : Integrating multiple blockchain


platforms (Ethereum, Polkadot, Solana) involves handling different pro-
tocols, smart contract languages, and transaction mechanisms.

2. Scalability and Performance : Ensuring the platform can scale to


handle a large number of users and transactions without performance
degradation.

3. Funding and Resource Allocation : Securing adequate funding and


resources to develop, deploy, and maintain the platform.

4. Decentralization and Trustlessness : Ensuring that the platform


operates in a decentralized and trustless manner, which can complicate
development and user experience.

5. User Experience and Accessibility : Creating a user-friendly and


accessible interface that simplifies the complexities of interacting with
blockchain technologies.

JESITMR, Department of Computer Engineering 2023-24 15


4.3 Methodologies of Problem solving and ef-
ficiency issues
Methodologies of Problem Solving and Efficiency Issues for ”Grant/Bounty
Platform”:

1. Modular Design : Break down the system into smaller, manageable


modules or components. Each module should handle specific func-
tionalities (e.g., user authentication, smart contract interactions, data
storage). Enhances maintainability, allows parallel development, and
makes it easier to isolate and fix issues.

2. Code Review and Pair Programming : Implement a code review


process where peers review each other’s code before merging. Pair
programming can also be employed for critical or complex tasks. Im-
proves code quality, reduces bugs, and facilitates knowledge sharing
among team members.

3. Decentralized Data Management : Utilize decentralized data storage


solutions (e.g., Tableland, IPFS) to ensure data integrity and availabil-
ity. Ensures reliable data access and reduces dependency on centralized
databases, enhancing system robustness.

4. User-Centric Design : Employ user-centric design principles by con-


ducting user research, creating user personas, and performing usability
testing. Enhances the user experience, making the platform more in-
tuitive and reducing the need for extensive user support.

5. Security and Performance Optimization : Identify performance bot-


tlenecks through profiling and monitoring. Optimize database queries,
smart contract executions, and frontend performance. Ensures that the
platform can handle a large number of users and transactions without
performance degradation.

6. Documentation and Knowledge Management : Maintain compre-


hensive documentation for the codebase, APIs, and user guides. Use
tools like Confluence or Notion for knowledge management. Facilitates
onboarding of new team members, supports troubleshooting, and en-
sures consistency in development practices.

JESITMR, Department of Computer Engineering 2023-24 16


4.4 Outcome
• Outcome of the ”Grant/Bounty Platform” project:

1. Multi-Blockchain Integration: The platform successfully integrates


with multiple blockchain networks (Ethereum, Polkadot, Solana), en-
abling seamless interactions and transactions across different ecosys-
tems.

2. User-Friendly Interface: Users experience an intuitive and responsive


interface for creating, managing, and participating in grant and bounty
programs, leading to increased user satisfaction and engagement.

3. Decentralized and Trustless Operations: All operations are con-


ducted in a decentralized and trustless manner, leveraging smart con-
tracts and decentralized storage, thereby ensuring transparency and
security.

4. Open-Source Development: The platform facilitates and incentivizes


contributions to open-source projects, driving innovation and the ad-
vancement of blockchain technologies.

5. Transparent Transaction Records: All transactions are recorded


on the blockchain, providing a transparent and immutable history of
grant and bounty activities.

4.5 Applications
Applications of Grant/Bounty Platform:

1. Open-Source Development: The platform can support open-source


projects by enabling developers to create Grant and Bounty programs
for specific tasks or features, encouraging community contributions and
collaboration.

2. Innovation and Research Funding: Researchers and innovators can


use the platform to fund their projects and ideas, attracting support
from the community and organizations interested in their work.

JESITMR, Department of Computer Engineering 2023-24 17


3. Education and Skill Development: The platform can be used for
educational purposes, such as creating bounty programs for solving
coding challenges or contributing to educational content, promoting
skill development and learning within the community.

4. Cross-Platform Collaboration: By supporting multiple blockchain


platforms, the platform enables collaboration and innovation across
different ecosystems, promoting interoperability and synergy between
projects.

5. Decentralized Governance: The platform can also be used for de-


centralized governance, allowing community members to propose and
vote on governance decisions, such as protocol upgrades or changes in
platform rules.

4.6 Hardware Resources Required

Sr. No. Parameter Minimum Requirement Justification


1 Processor Intel i3 Processor & above for Best performance
2 RAM 4 GB & above Speedup web programming software

Table 4.1: Hardware Requirements

4.7 Software Resources Required


Platform :

1. Operating System: Windows 10/11

2. IDE: Visual Studio C

3. Programming Language: Next.js, Tailwind CSS, DaisyUI, Solidity


CHAPTER 5
PROJECT PLAN
5.1 Project Estimates
5.1.1 Reconciled Estimates

• Requirement Analysis: This phase involves understanding the project


requirements, user stories, and features. It typically takes 1-2 weeks
and involves the project manager, business analysts, and key stake-
holders.

• System Design: Designing the platform’s architecture, database schema,


and user interface. This phase may take 2-3 weeks and involves archi-
tects, UI/UX designers, and frontend/backend developers.

• Implementation: Developing the platform’s frontend, backend, smart


contracts, and integration with blockchain platforms. This phase can
vary significantly depending on the complexity of the platform but may
take 8-12 weeks or more.

• Integration and Testing: Testing the platform for functionality, se-


curity, and performance. This phase may take 2-4 weeks and involves
QA engineers and developers.

• Deployment of system: Deploying the platform to a test environ-


ment, conducting integration tests, and deploying to production. This

JESITMR, Department of Computer Engineering 2023-24 20


phase may take 1-2 weeks and involves DevOps engineers and develop-
ers.

• Maintenance: Creating user manuals, developer guides, and conduct-


ing training sessions for users and developers. This phase may take 1-2
weeks and involves technical writers and trainers. Providing ongoing
maintenance and support for the platform, including bug fixes, up-
dates, and user support. This is an ongoing process and may require a
dedicated team.

5.1.1.1 Cost Estimate


For developing the Grant/Bounty Platform project. Here’s a breakdown of
potential costs associated with developing the project:

- Labor Costs (NA)


- Project Manager: 0 (own resources)
- Business Analyst: 0 (own resources)
- Architect: 0 (own resources)
- UI/UX Designer: 0 (own resources)
- Backend Developer: 0 (own resources)
- Frontend Developer: 0 (own resources)
- QA Tester: 0 (own resources)
- Database Administrator: 0 (own resources)

Software and Tools

- Next.js: NA
- Tableland Database: Free, Open-Source
- Web3Modal Authentication: Free, Open-Source
- Vercel (deployment): INR 1,500/month
- Git: NA

Hardware and Equipment

- Development machines: NA (personal resources)

Miscellaneous Expenses

- Training materials: NA

JESITMR, Department of Computer Engineering 2023-24 21


5.1.1.2 Time Estimates
Here’s a presentation of time estimates for the development of Grant/Bounty
Platform:
Project Time Estimates:

Project Initiation (1 week)


- Define objectives and scope: 3 days
- Set up infrastructure: 4 days

Requirement Gathering (2 weeks)


- Document requirements: 1 week

Design Phase (3 weeks)


- Architecture design: 1 week
- Database schema design: 1 week
- UI/UX design: 1 week

Development Phase (8 weeks)


- Backend development: 4 weeks
- Frontend development: 4 weeks
- Integration: 2 weeks (overlapping)

Testing Phase (3 weeks)


- Unit testing: 1 week
- Integration testing: 1 week
- User acceptance testing (UAT): 1 week

Deployment and Launch (1 week)


- Deploy to Vercel: 3 days
- Final testing: 2 days
- Launch: 2 days

Post-Launch Activities (2 weeks)


- Monitor performance: 1 week
- Bug fixes and updates: 1 week

JESITMR, Department of Computer Engineering 2023-24 22


5.1.2 Project Resources
People

- Project Manager : Responsible for overall project planning and execution.


- Business Analyst : Gathers and documents requirements from stakeholders.
- Architect : Designs the system architecture and database schema.
- UI/UX Designer : Creates user interfaces and ensures a good user experi-
ence.
- Backend Developer : Develops the server-side logic, database integration,
and API development.
- Frontend Developer : Implements the user interface and integrates with
backend services.
- QA Tester : Tests the application for bugs and ensures it meets the require-
ments.
- Database Administrator : Manages the database, ensures data integrity,
and optimizes queries.

Hardware

- Development Machines : Personal laptops used by the team members.


- Specification:
- Processor: Intel i3 or higher
- RAM: 4GB and higher
- Storage: 500GB HHD or higher
- Servers: Cloud-based servers for hosting the application and database
(Tableland).

Software

- Next.js : For building the frontend.


- Tailwind CSS: For CSS styling.
- DaisyUI: For pre-designed UI components based on Tailwind CSS.
- Remix IDE: For developing and testing smart contracts.
- Tableland: For decentralized data storage and management.
- Web3Modal: For blockchain wallet integration and user authentication.
- Vercel : For deployment.
- Git : For version control.
- Visual Studio Code : Integrated Development Environment (IDE).

Tools

JESITMR, Department of Computer Engineering 2023-24 23


- Integrated Development Environment (IDE) : Visual Studio Code.
- Version Control System : Git and GitHub.
- Project Management Tools : Trello or Asana (NA, free versions).
- Collaboration Tools : Slack or Microsoft Teams (NA, free versions).
- Testing Tools : Jest for JavaScript testing, Postman for API testing.

Other Resources

- Internet Connectivity : High-speed internet for remote collaboration and


accessing cloud services.
- Documentation : Online resources and tutorials for learning and reference.
- Annexures : Documentation related to Memory Sharing, Inter-Process
Communication (IPC), and Concurrency strategies.
- Memory Sharing : Use shared memory for efficient data exchange between
processes.
- IPC Mechanisms : Utilize Tableland for real-time communication and data
updates.
- Concurrency : Handle concurrent access and updates to the database using
Firebase’s atomic transactions and real-time synchronization features.

5.2 Risk Management w.r.t. NP Hard anal-


ysis
This section discusses Project risks and the approach to managing them.

5.2.1 Risk Identification


1.• How will the platform ensure optimal performance and responsiveness
during peak usage times as the user base grows?

2. What are the potential challenges in integrating multiple blockchain


platforms (Ethereum, Polkadot, Solana)?

3. How will the platform handle high transaction volumes and scalability
issues?

JESITMR, Department of Computer Engineering 2023-24 24


4. What are the legal implications of managing and distributing funds
through the platform?

5. What approach will be used to ensure seamless integration between


the frontend, backend, and third-party services, and how will potential
integration issues be addressed?

6. How will the project manage limited resources such as time, budget,
and personnel to ensure timely and high-quality delivery of the plat-
form?

5.2.2 Risk Analysis


The risks for the Project can be analyzed within the constraints of time and
quality

Impact
ID Risk Description Probability
Schedule Quality Overall
1 Description 1 Low Low High High
2 Description 2 Low Low High High

Table 5.1: Risk Table

Probability Value Description


High Probability of occurrence is > 75%
Medium Probability of occurrence is 26 − 75%
Low Probability of occurrence is < 25%

Table 5.2: Risk Probability definitions

JESITMR, Department of Computer Engineering 2023-24 25


Impact Value Description
Very high > 10% Schedule impact or Unacceptable quality
High 5 − 10% Schedule impact or Some parts of the project have
low quality
Medium < 5% Schedule impact or Barely noticeable degradation
in quality Low Impact on schedule or Quality can
be incorporated

Table 5.3: Risk Impact definitions

5.2.3 Overview of Risk Mitigation, Monitoring, Man-


agement
Identified Risks and Management Strategies

1. Integration Challenges with Multiple Blockchain Platforms

- Risk : Difficulty in integrating Ethereum, Polkadot, Solana, and other


platforms.

- Management Strategy : Conduct thorough research on each platform’s


integration requirements. Use modular and extensible design to facilitate
easier integration and updates. Plan for comprehensive testing on each plat-
form.

2. Smart Contract Vulnerabilities

- Risk : Potential bugs and security issues in smart contracts.

- Management Strategy :Follow best practices for secure smart contract devel-
opment, such as code reviews, security audits, and using established libraries
and frameworks. Implement automated testing and fuzzing.

3. Legal Implications of Fund Management

- Risk : Legal issues related to managing and distributing funds.

- Management Strategy : Consult legal experts to ensure compliance with fi-

JESITMR, Department of Computer Engineering 2023-24 26


nancial regulations in all operating jurisdictions. Implement robust KYC/AML
processes.

4. Security Vulnerabilities

- Risk : Platform may face security threats such as hacking or unautho-


rized access.

- Management Strategy : Implement robust security measures, including


encryption, secure coding practices, regular security audits, and penetration
testing. Ensure continuous monitoring and quick response to incidents.

5. Misalignment with Stakeholder Expectations

- Risk : Misunderstandings or conflicts with stakeholders.

- Management Strategy: Maintain regular communication with stakehold-


ers. Use project management tools to keep everyone informed and aligned.

Risk ID 1
Risk Description Description 1
Category Development Environment.
Source Software requirement Specification document.
Probability Low
Impact High
Response Mitigate
Strategy Strategy
Risk Status Occurred

JESITMR, Department of Computer Engineering 2023-24 27


Risk ID 2
Risk Description Description 2
Category Requirements
Source Software Design Specification documentation review.
Probability Low
Impact High
Response Mitigate
Strategy Better testing will resolve this issue.
Risk Status Identified

Risk ID 3
Risk Description Description 3
Category Technology
Source This was identified during early development and
testing.
Probability Low
Impact Very High
Response Accept
Strategy Example Running Service Registry behind proxy
balancer
Risk Status Identified

JESITMR, Department of Computer Engineering 2023-24 28


5.3 Project Schedule
5.3.1 Project task set
Major Tasks in the Project stages are:

• Planning and Research

• Design Phase

• Development

• Testing and Quality Assurance

• Deployment and Launch

• Maintenance and Iteration

5.3.2 Task network


The task network for the Grant/Bounty Platform project:

- Project Start
- Planning and Research (PR)
– Market Research
– Define Requirements
— Competitor Analysis
— User Persona Creation
— User Story Development
— Project Milestone Planning

- Design Phase Start (DS)


- UI Design
- Wireframe Creation
- Brand Establishment
– Feedback Integration
— Design Iteration

- Development Start (DVS)


- Environment Setup

JESITMR, Department of Computer Engineering 2023-24 29


- Frontend Implementation
- Backend Integration
- Authentication Setup
– Component Development
— Feature Integration
— Testing

- Deployment
- Maintenance Start
– Bug Fixes
– Enhancements
– Feedback

This structured task network provides a clear overview of the project’s


phases, major tasks, and subtasks, facilitating better planning and manage-
ment throughout the project’s lifecycle.

5.3.3 Timeline Chart


Project Initiation (1 week)
- Define objectives and scope: 3 days
- Set up infrastructure: 4 days

Requirement Gathering (2 weeks)


- Document requirements: 1 week

Design Phase (3 weeks)


- Architecture design: 1 week
- Database schema design: 1 week
- UI/UX design: 1 week

Development Phase (8 weeks)


- Backend development: 4 weeks
- Frontend development: 4 weeks
- Integration: 2 weeks (overlapping)

Testing Phase (3 weeks)


- Unit testing: 1 week
- Integration testing: 1 week

JESITMR, Department of Computer Engineering 2023-24 30


- User acceptance testing (UAT): 1 week

Deployment and Launch (1 week)


- Deploy to Vercel: 3 days
- Final testing: 2 days
- Launch: 2 days

Post-Launch Activities (2 weeks)


- Monitor performance: 1 week
- Bug fixes and updates: 1 week

5.4 Team Organization


1. Project Manager: One student oversees coordination and commu-
nication.
2. Development Team: Two students handle frontend and backend
development.
3. Design & Quality Assurance: One student manages design and
testing.
4. Reporting: Weekly meetings, task tracking tools, regular updates,
documentation.

5.4.1 Team structure


1. Project Manager: Oversees coordination and communication.
2. Frontend Developer: Designs user interface using Next.Js.
3. Backend Developer: Implements server-side logic and database integra-
tion.
4. UI/UX Designer: Creates intuitive and visually appealing designs.
5. Quality Assurance Tester: Ensures platform functionality and reliability.

5.4.2 Management reporting and communication


1. Progress Reporting:
- Weekly meetings and written reports.
- Use online platforms for tracking progress.

JESITMR, Department of Computer Engineering 2023-24 31


2. Team Communication:
- Daily stand-up meetings.
- Collaborate via team tools like Slack.
- Email updates and shared documentation.
CHAPTER 6
SOFTWARE REQUIREMENT
SPECIFICATION
6.1 Introduction
6.1.1 Purpose and Scope of Document
The purpose of this Software Requirements Specification (SRS) document is
to define the functional and non-functional requirements of the Grant/Bounty
Platform project. It covers the features, functionalities, and constraints of
the Grant/Bounty platform, outlining what the system will and will not do.
The document serves as a comprehensive reference for stakeholders, develop-
ers, and designers involved in the project, ensuring clarity and alignment on
project objectives and deliverables.

6.1.2 Overview of responsibilities of Developer


Developers:
1. Write code to implement features.
2. Test code for functionality.
3. Debug and fix errors.
4. Document code and processes.
5. Collaborate with team members.
6. Use version control for code management.
7. Stay updated with industry trends.

6.2 Usage Scenario


1. Project Creators: Individuals or organizations looking to fund and incen-
tivize work on specific projects or initiatives through grants and bounties.

2. Participants: Developers, researchers, and contributors interested in earn-


ing rewards by completing tasks and projects.

3. Administrators: Platform managers responsible for overseeing operations,


managing disputes, and ensuring compliance.

6.2.1 User profiles


The profiles of all user categories are described here.(Actors and their De-
scription)

JESITMR, Department of Computer Engineering 2023-24 34


6.2.2 Use-cases
All use-cases for the software are presented. Description of all main Use cases
using use case template is to be provided.
1. User Registration:
- Actor: User
- Description: User creates an account.

2. Create Grant/Bounty:
- Actor: Project Creator
- Description: Project Creator creates a new project and defines a Grant/Bounty,
specifying requirements and reward details.

3. Browse and Apply for Grant/Bounty:


- Actor: Participant
- Description: Participant logs into the platform and browses available Grant/Bounty.

4. Grant/Bounty Complete:
- Actor: Participant
- Description: Participant completes the task according to specified require-
ments.

5. Review and Approval:


- Actor: Project Creator
- Description: If the work meets requirements, Project Creator approves the
submission

6. Feedback and Iteration:


- Actor: Project Creator, Participant
- Description: The platform records feedback to enhance user reputations
and improve future interactions.

Sr No. Use Case Description Actors Assumptions



1 Use Case 1 Description Actors Assumption

Table 6.1: Use Cases

JESITMR, Department of Computer Engineering 2023-24 35


6.2.3 Use Case View
User: Represents users of the Grant/Bounty platform.

User Registration: Use case where users register on the platform.

Grant/Bounty Listing: Use case where users list apply for Grant/Bounty.

Admin: Represents administrators who monitor and manage the platform.

Platform Monitoring: Represents system-level monitoring of platform activ-


ities.

Figure 6.1: Use case diagram

JESITMR, Department of Computer Engineering 2023-24 36


6.3 Data Model and Description
6.3.1 Data Description
1. User Profile:
- Contains user information: Username, Github Profile, Wallet address.

2. Grant/Bounty Listing:
- Represents listed coupons: Grant, Bounty, Category, Reward, Expiry.

3. Transaction History:
- Records transactions: Transaction ID, sender ID, receiver ID, Reward.

4. Feedback:
- Contains transaction feedback: Rating, Comments.

6.3.2 Data objects and Relationships


1. User Profile:

Attributes: UserID , Username, Email, Role

Relationships: One User can have many Projects, Tasks, and Submissions

2. Project:

Attributes: ProjectID , ProjectName, Description, CreatorID, Status

Relationships: One Project is created by one User (Creator), One Project


can have many Tasks.

3. Submission:

Attributes: SubmissionID, TaskID, ParticipantID, SubmissionDate, Status

Relationships: One-to-One Submission by one User

JESITMR, Department of Computer Engineering 2023-24 37


6.3.3 Entity Relationships
An Entity Relationship (ER) Diagram is a type of flowchart that illustrates
how “entities” such as people, objects or concepts relate to each other within
a system

Figure 6.2: E-R diagram

6.4 Functional Model and Description


A description of each major software function, along with data flow (struc-
tured analysis) or class hierarchy (Analysis Class diagram with class descrip-
tion for object oriented system) is presented.

JESITMR, Department of Computer Engineering 2023-24 38


6.4.1 Data Flow Diagram
6.4.1.1 Level 0 Data Flow Diagram

Figure 6.3: DFD Level 0

JESITMR, Department of Computer Engineering 2023-24 39


6.4.1.2 Level 1 Data Flow Diagram

Figure 6.4: DFD Level 1

JESITMR, Department of Computer Engineering 2023-24 40


6.4.1.3 Level 2 Data Flow Diagram

Figure 6.5: DFD Level 2

JESITMR, Department of Computer Engineering 2023-24 41


6.4.2 Activity Diagram:

JESITMR, Department of Computer Engineering 2023-24 42


6.4.3 Non Functional Requirements:
1. Performance: Responsive system, fast loading.
2. Security: Encrypted data, access controls.
3. Reliability: Minimal downtime, accurate recording.
4. Scalability: Handles growth, scalable infrastructure.
5. Usability: Intuitive interface, clear instructions.
6. Compatibility: Works on all devices, mobile-friendly.
7. Maintainability: Well-documented, modular design.

• Interface Requirements

• Performance Requirements

• Software quality attributes such as availability [ related to Reliabil-


ity], modifiability [includes portability, reusability, scalability] , perfor-
mance, security, testability and usability[includes self adaptability and
user adaptability]

6.4.4 Design Constraints


There is no any design constraints are impact on system.

6.4.5 Software Interface Description


With the use of Visual Studio Code IDE the programmer is communicate
with system using the languages Next.js, Tailwind CSS, DaisyUI, Solidity
etc. This interface is enough for software development and communication.
CHAPTER 7
DETAILED DESIGN DOCUMENT
USING ANNEXURE A AND B
7.1 Introduction
Detailed Design Document for Grant Bounty Platform provide the detailed
description of system. This document also mostly follows the functionalities
identified in the SRS document of the project, however some changes has
been made in the structural arrangement of the system and all these changes
were stated under the related subsections.The Grant/Bounty Platform is
designed to revolutionize decentralized collaboration on multiple blockchain
platforms. This detailed design document outlines the architecture, features,
and functionalities of the platform. By supporting major blockchain net-
works, including Ethereum, Polkadot, and Solana, the platform aims to fos-
ter innovation and incentivize contributions to open-source projects, research
initiatives, and blockchain protocol development.

7.2 Architectural Design


The platform’s architecture is decentralized and built on a microservices
model. It comprises core modules, including the Program Management Mod-
ule, Contribution Evaluation Module, Smart Contract Integration Module,
and User Interface Module. These modules interact seamlessly to ensure a
smooth flow of creating, managing, and distributing grants/bounties across
supported blockchain platforms. The Grant/Bounty Platform is designed
to provide a robust and user-centric solution for decentralized collaboration
and incentivization. By combining innovative smart contract functionality
with a user-friendly interface, the platform aims to become a cornerstone for
community-driven development across multiple blockchain platforms.

JESITMR, Department of Computer Engineering 2023-24 45


Figure 7.1: Architecture diagram

JESITMR, Department of Computer Engineering 2023-24 46


7.3 Data design (using Annexures A and B)
A description of all data structures including internal, global, and temporary
data structures, database design (tables), file formats.

7.3.1 Internal software data structure


Data structures that are passed among components the software are de-
scribed.

7.3.2 Global data structure


Data structured that are available to major portions of the architecture are
described.

7.3.3 Temporary data structure


Files created for interim use are described.

7.3.4 Database description


Database(s) / Files created/used as part of the application is(are) described.

7.4 Compoent Design


Class diagrams, Interaction Diagrams, Algorithms. Description of each com-
ponent description required.

7.4.1 Class Diagram


Figure 7.2: Class Diagram

JESITMR, Department of Computer Engineering 2023-24 48


CHAPTER 8
PROJECT IMPLEMENTATION
8.1 Introduction
The Grant/Bounty Platform for Decentralized Collaboration on Multiple
Blockchains is an innovative ecosystem that allows and incentivizes contri-
butions to open-source projects, research initiatives, and blockchain protocol
development. The platform will support major blockchain networks like as
Ethereum, Polkadot, and Solana, ensuring inclusion and accessibility for a
wide spectrum of participants.
The platform’s key goals are to enable users to create, manage, and distribute
grants/bounties in a decentralized and trustless manner. Users will be able
to launch grant or bounty programmer, specifying criteria and prizes, to pro-
mote participation in projects that improve blockchain technology. Smart
contracts will be used on the platform to automate and safeguard the pro-
cesses of contribution submission, and reward Distributions.

8.2 Tools and Technologies Used


1. Next.js: Used for server-side rendering and React-based frontend devel-
opment, providing enhanced performance and SEO benefits.

2. Tailwind CSS: Employed for utility-first CSS styling, enabling rapid UI


development.

3. DaisyUI: Utilized for pre-designed UI components based on Tailwind


CSS, facilitating faster and consistent UI development.

4. Remix IDE: Used for developing and testing smart contracts, ensuring
efficient and reliable contract deployment.

5. Tableland: Employed for decentralized data storage and management,


enabling secure and transparent storage of platform data.

6. Web3Modal: Utilized for blockchain wallet integration and user authenti-


cation, enhancing the platform’s security and enabling seamless interaction
with blockchain networks.

JESITMR, Department of Computer Engineering 2023-24 50


8.3 Methodologies/Algorithm Details
1. Agile Development Methodology : The project follows an Agile develop-
ment methodology, which emphasizes iterative development, collaboration,
and flexibility in responding to change. Agile methodologies, such as Scrum
or Kanban, are adopted to ensure continuous improvement and adaptability
throughout the development process.

2. User-Centered Design Approach : A user-centered design approach is


employed to prioritize user needs and preferences in the development of the
platform’s user interface and features. Techniques such as user personas,
wireframing, and usability testing are utilized to ensure a user-friendly and
intuitive experience for platform users.

3. Continuous Integration and Deployment (CI/CD) : Continuous Integra-


tion and Deployment (CI/CD) practices are implemented to automate the
build, testing, and deployment processes. Continuous integration tools such
as Jenkins or GitLab CI are used to regularly merge code changes into a
shared repository, while continuous deployment tools streamline the deploy-
ment pipeline to ensure rapid and reliable releases.

4. Responsive Design and Accessibility : The platform incorporates respon-


sive design principles to ensure optimal performance and usability across
various devices and screen sizes. Accessibility guidelines, such as those out-
lined in the Web Content Accessibility Guidelines (WCAG), are adhered to,
making the platform accessible to users with disabilities.

5. Security Measures : Robust security measures are integrated into the plat-
form to safeguard user data and protect against potential security threats.
Techniques such as encryption, secure authentication mechanisms, and role-
based access control (RBAC) are implemented to ensure data confidentiality,
integrity, and availability.

8.3.1 Algorithm 1/Pseudo Code


Algorithm Create Grant/Bounty

1. Input: Grant/BountyDetails (title, description, reward amount, dead-


line)
2. Validate Grant/BountyDetails:

JESITMR, Department of Computer Engineering 2023-24 51


a. Ensure all fields are filled
b. Check if reward amount is valid
c. Check if deadline is in the future
3. If validation fails:
a. Return error message
4. Deploy a new smart contract on the selected blockchain network with
Grant/BountyDetails.
5. Store Grant/BountyDetails and smart contract address in the database.
6. Return confirmation of Grant/Bounty creation and smart contract ad-
dress.

8.3.2 Algorithm 2/Pseudo Code


Algorithm DistributeReward

1. Input: Grant/BountyID, claimID, decision (approve/reject)


2. Validate decision:
a. Check if Grant/BountyID and claimID exist
b. Ensure decision is either approve or reject
3. If validation fails:
a. Return error message
4. If decision is approve:
a. Execute smart contract function to transfer reward to the claimant
b. Update claim status to ’approved’ in the database
5. If decision is reject:
a. Update claim status to ’rejected’ in the database
6. Notify claimant of the decision
7. Return confirmation of reward distribution or rejection

8.4 Verification and Validation for Acceptance


1. User Acceptance Testing (UAT) : User Acceptance Testing (UAT) involves
engaging a diverse group of users, including customers, vendors, and admin-
istrators, to validate the platform’s functionality, usability, and performance
in a real-world environment.

2. Test Cases and Scenarios : Comprehensive test cases and scenarios cover
all aspects of the platform’s functionality, ensuring robustness and reliability

JESITMR, Department of Computer Engineering 2023-24 52


across positive and negative scenarios.

3. Regression Testing : Automated regression testing tools are utilized to


verify that new code changes do not adversely affect existing functionality,
ensuring consistent results across multiple development iterations.

4. Performance Testing : Performance testing evaluates the platform’s re-


sponsiveness, scalability, and stability under varying levels of load and traffic,
measuring key performance metrics such as response time and throughput.

5. Security Testing : Security testing identifies and mitigates potential vul-


nerabilities and security threats within the platform, ensuring resilience to
attacks and compliance with security best practices.

6. Usability Testing : Usability testing assesses the platform’s ease of use


and overall user experience, gathering feedback on navigation, layout, and
feature discoverability.

7. Compliance Testing : Compliance testing ensures adherence to indus-


try standards, regulations, and guidelines, including data privacy regulations
such as GDPR and accessibility standards such as WCAG.

8. Documentation Review : Project documentation, including user manuals


and technical specifications, undergoes review to ensure accuracy, complete-
ness, and clarity before final acceptance.
CHAPTER 9
SOFTWARE TESTING
9.1 Type of Testing Used
• Unit Testing

• Integration Testing

• System Testing

• Acceptance Testing

• Performance Testing

• Security Testing

9.2 Test Cases and Test Results


Unit Testing :

1. Test Case: Grant/Bounty Creation

- Input : Grant/Bounty details (title, description, reward amount)


- Expected Result : Grant/Bounty created and listed in the available section.

2. Test Case : Verify smart contract deployment with valid parameters.

- Input: Valid smart contract code and parameters.


- Expected Result : Successful deployment with valid contract details; error
on invalid details.

Integration Testing :

Test Case : Verify that creating a grant/bounty via the UI updates the
backend and blockchain.

- Input : User submits grant/bounty details through the web interface.

JESITMR, Department of Computer Engineering 2023-24 55


- Expected Result: Grant/Bounty is created in the backend database and
corresponding smart contract is deployed.

System Testing :

Test Case : Verify that the platform works across multiple blockchain net-
works.

- Input : Create and claim grants/bounties on Ethereum, Polkadot, and


Solana.
- Expected Result : Grants/Bounties are successfully created and claimed on
all supported blockchains.

Acceptance Testing :

Test Case : Verify that all key features work as expected.

- Input : Test scenarios based on business requirements.


- Expected Result : All features function correctly and meet the acceptance
criteria.

Performance Testing :

Test Case : Verify the platform can handle a high number of concurrent
users.

- Input : Simulate 1000 concurrent users performing various actions.


- Expected Result : System remains responsive and performs efficiently with-
out significant delays.

Security Testing :

Test Case : Verify that only authorized users can access certain features.

- Input : Attempt to access restricted features with different user roles.


- Expected Result : Unauthorized access is prevented and appropriate error
messages are shown.
CHAPTER 10
RESULTS
10.1 Screen shots/ Outputs
Outputs / Snap shots of the results

Figure 10.1: Landing Page


Figure 10.2: SignUp Page

Figure 10.3: Login Page(login using Metamask)

JESITMR, Department of Computer Engineering 2023-24 59


Figure 10.4: Dashboard - Profile page

Figure 10.5: Grants

JESITMR, Department of Computer Engineering 2023-24 60


Figure 10.6: Bounties

Figure 10.7: Bounties list

Figure 10.8: Logout(Disconnect wallet)

JESITMR, Department of Computer Engineering 2023-24 61


CHAPTER 11
DEPLOYMENT AND
MAINTENANCE
11.1 Installation and un-installation
Prerequisites:
1. Node.js (v14.x or higher) and npm (v6.x or higher)
2. Git for version control
3. Metamask (for Web3 interactions)
4. Remix IDE (for smart contract development and deployment)
5. Next.js (for frontend)

Step 1: Install Node.js

Before you can install Next.js you need to have Node.js installed on your
system. Node.js is a JavaScript runtime environment that allows you to run
JavaScript code on the server-side. You can download Node.js from the offi-
cial website: https://node.js.org/en/download/

Step 2: Install

Once you have Node.js installed, you can install Next.js using the follow-
ing command:

Bash
npx create-next-app@latest

This will install the Next.js and React DOM libraries globally on your system.

Step 3: Tableland Setup

First SignIn to Tableland, once it’s complete then Login using same user-
name and password or you can directly login using your google account.
After this is done setup the database server and you are free to work on the
project.

11.2 User help


User can get help if there is problem in Creating Grants/Bounties during
access to the website. Admin sends message while there is error in website
and send alert to the user.
CHAPTER 12
CONCLUSION AND FUTURE
SCOPE
12.1 Conclusion
In conclusion, the Grant/Bounty Platform project represents a pivotal step
toward fostering collaboration, innovation, and decentralized development
within the blockchain ecosystem. By supporting major blockchain platforms
like Ethereum, Polkadot, and Solana, the platform ensures inclusivity and
accessibility, allowing a diverse range of contributors to participate in open-
source projects, research initiatives, and blockchain protocol development.
In essence, the Grant/Bounty Platform project holds the promise of reshap-
ing the dynamics of collaboration within the blockchain space. Through
its commitment to decentralization, inclusivity, and user-friendly design, the
platform contributes to the broader vision of a decentralized and collabora-
tive future for blockchain technology.

12.2 future scope


• As the blockchain landscape continues to evolve, the Grant/Bounty
Platform can expand its support to include integration with emerging
blockchain platforms.

• Future iterations of the platform can explore the integration of ad-


vanced smart contract functionalities.

• Implementing decentralized governance mechanisms within the plat-


form can empower users to participate in decision-making processes.

• The platform can explore interoperability with other decentralized plat-


forms and ecosystems, creating synergies with existing projects in the
blockchain space.
REFERENCES
1. Blockchain and Smart Contracts: Nakamoto, S. (2008). Bitcoin: A
Peer-to-Peer Electronic Cash System. Antonopoulos, A. M. (2014).
Mastering Bitcoin: Unlocking Digital Cryptocurrencies. Wood, G.
(2014). Ethereum: A Secure Decentralised Generalised Transaction
Ledger

2. Smart Contract Development: Merriam, D. (2016). Mastering Ethereum:


Building Smart Contracts and DApps. Reitwiessner, C., et al. (2016).
A Scalable Architecture for Decentralized Applications.

3. Blockchain Platforms (Ethereum, Polkadot, Solana): Ethereum Whitepa-


per: https://ethereum.org/en/whitepaper/ Wood, G. (2016). Polka-
dot: Vision for a Heterogeneous Multi-Chain Framework. Yakovenko,
A. (2020). Solana: A New Architecture for a High-Performance chain

4. Open-Source Development: Raymond, E. S. (1999). The Cathedral


and the Bazaar: Musings on Linux and Open Source by an Accidental
Revolutionary.

5. Decentralized Funding and Governance: Buterin, V. (2013). Ethereum:


A Next-Generation Smart Contract and Decentralized Application Plat-
form.
ANNEXURE A
LABORATORY ASSIGNMENTS ON
PROJECT ANALYSIS OF
ALGORITHMIC DESIGN
• To develop the problem under consideration and justify feasibilty using
concepts of knowledge canvas and IDEA Matrix.
Refer [?] for IDEA Matrix and Knowledge canvas model. Case studies
are given in this book. IDEA Matrix is represented in the following
form. Knowledge canvas represents about identification of opportunity
for product. Feasibility is represented w.r.t. business perspective.

I D E A
Increase Drive Educate Accelerate
Improve Deliver Evaluate Associate
Ignore Decrease Eliminate Avoid

Table A.1: IDEA Matrix

• Project problem statement feasibility assessment using NP-Hard, NP-


Complete or satisfy ability issues using modern algebra and/or relevant
mathematical models.

• input x,output y, y=f(x)


ANNEXURE B
LABORATORY ASSIGNMENTS ON
PROJECT QUALITY AND
RELIABILITY TESTING OF
PROJECT DESIGN
It should include assignments such as

• Use of divide and conquer strategies to exploit distributed/parallel/concurrent


processing of the above to identify object, morphisms, overloading in
functions (if any), and functional relations and any other dependencies
(as per requirements). It can include Venn diagram, state diagram,
function relations, i/o relations; use this to derive objects, morphism,
overloading

• Use of above to draw functional dependency graphs and relevant Soft-


ware modeling methods, techniques including UML diagrams or other
necessities using appropriate tools.

• Testing of project problem statement using generated test data (using


mathematical models, GUI, Function testing principles, if any) selec-
tion and appropriate use of testing tools, testing of UML diagram’s
reliability. Write also test cases [Black box testing] for each identified
functions. You can use Mathematica or equivalent open source tool for
generating test data.

• Additional assignments by the guide. If project type as Entreprenaur,


Refer [?],[?],[?], [?]
ANNEXURE C
PROJECT PLANNER
Creating a Plan of Project involves breaking down the project into man-
ageable tasks, assigning responsibilities, setting timelines, and identifying
dependencies.

Phase 1: Project Planning and Requirements Gathering


- Define project objectives, scope, and deliverables.
- Document detailed requirements, including functional and non-functional
requirements.

Phase 2: System Design and Architecture


- Create detailed design documents for each module.
- Design the overall system architecture, integrating Next.js for the frontend,
Tableland for data storage, and Web3Modal for blockchain interactions.

Phase 3: Development
- Set up development environments, version control.
- Develop the frontend interface using Next.js, styled with Tailwind CSS and
DaisyUI.
- Implement backend services and API endpoints using Node.js.
- Integrate Tableland for data storage and management.
- Develop and test smart contracts using Remix IDE.
- Integrate Web3Modal for user authentication and interaction with blockchain
networks.

Phase 4: Integration and Testing


- Integrate all modules and ensure seamless communication between compo-
nents.
- Involve end-users in testing to gather feedback and ensure the platform
meets their needs.

Phase 5: Deployment
- Deploy the platform to Vercel for hosting.
- Configure domain settings and SSL encryption for security.
- Conduct final testing in the production environment.
- Launch the platform to users and stakeholders.

Phase 6 : Post-Launch Activities


- Monitor platform performance and user feedback.
- Address any bugs or issues reported by users.
- Iterate on features and enhancements based on user feedback.

JESITMR, Department of Computer Engineering 2023-24 73


Phase 7 : Documentation and Training
- Document platform features, functionalities, and APIs.
- Create user manuals and technical documentation for reference.
- Provide training sessions for users and administrators on platform usage.

Phase 8 : Maintenance and Support


- Establish a system for ongoing maintenance and support.
- Monitor server uptime and performance.
- Provide technical support and assistance to users as needed.

Phase 9 : Project Closure


- Review project outcomes against initial objectives and deliverables.
- Conduct a post-mortem meeting to discuss lessons learned and areas for
improvement.
- Archive project documentation and assets for future reference.
ANNEXURE D
REVIEWERS COMMENTS OF
PAPER SUBMITTED
(At-least one technical paper must be submitted in Term-I on the project de-
sign in the conferences/workshops in IITs, Central Universities or UoP Con-
ferences or equivalent International Conferences Sponsored by IEEE/ACM)

1. Paper Title: Platform of Grants and Bounties for Decentralized Incen-


tivization

2. Name of the Conference/Journal where paper submitted : National


Conference on Emerging Trends in Engineering and Management

3. Paper accepted/rejected : Accepted

4. Review comments by reviewer :

5. Corrective actions if any : NA

JESITMR, Department of Computer Engineering 2023-24 76


JESITMR, Department of Computer Engineering 2023-24 77
JESITMR, Department of Computer Engineering 2023-24 78
JESITMR, Department of Computer Engineering 2023-24 79
Figure D.1: Siddhesh Vilas Sawant 72221312D

JESITMR, Department of Computer Engineering 2023-24 81


Figure D.2: Chamanpreet Balwindersingh Saini 72221310H

JESITMR, Department of Computer Engineering 2023-24 82


Figure D.3: Priyanka Vinod Pawar 72221304C

JESITMR, Department of Computer Engineering 2023-24 83


Figure D.4: Prasad Prakash Deore 72221289F

JESITMR, Department of Computer Engineering 2023-24 84


ANNEXURE E
PLAGIARISM REPORT
Plagiarism report

Figure E.1: For Chapter 3 and 4

Figure E.2: For Chapter 5


ANNEXURE F
INFORMATION OF PROJECT
GROUP MEMBERS
1. Review of design and necessary corrective actions taking into consid-
eration the feedback report of Term I assessment, and other competi-
tions/conferences participated like IIT, Central Universities, University
Conferences or equivalent centers of excellence etc.

2. Project workstation selection, installations along with setup and instal-


lation report preparations.

3. Programming of the project functions, interfaces and GUI (if any) as


per 1 st Term term-work submission using corrective actions recom-
mended in Term-I assessment of Term-work.

4. Test tool selection and testing of various test cases for the project per-
formed and generate various testing result charts, graphs etc. including
reliability testing.
Additional assignments for the Entrepreneurship Project:

5. Installations and Reliability Testing Reports at the client end.

one page for each student .

JESITMR, Department of Computer Engineering 2023-24 88


1. Name : Siddhesh Vilas Sawant

2. Date of Birth : 01-09-2001

3. Gender : Male

4. Permanent Address : Durgai soc. room no. 14, near Hinglaj Heights,
Ashok Nagar, Satpur, Nashik

5. E-Mail : ssiddhesh613@gmail.com

6. Mobile/Contact No. : 9834951715

7. Placement Details : Kodnest Technologies

8. Paper Published : Platform of Grants and Bounties for Decentralized


Incentivization

JESITMR, Department of Computer Engineering 2023-24 89


1. Name : Chamanpreet Balwindersingh Saini

2. Date of Birth : 08-12-2000

3. Gender : Female

4. Permanent Address : Plot no 16 near Kartikeshwar temple, Chand-


wad,423101

5. E-Mail : sainichamanpreet08@gmail.com

6. Mobile/Contact No. : 7350285726

7. Placement Details : - Krish Services Group

8. Paper Published : Platform of Grants and Bounties for Decentralized


Incentivization

JESITMR, Department of Computer Engineering 2023-24 90


1. Name : Priyanka Vinod Pawar

2. Date of Birth : 02-09-2001

3. Gender : Female

4. Permanent Address : Gajasiddhi appartment, Cidco, nashik

5. E-Mail : pp8162432@gmail.com

6. Mobile/Contact No. : 9021055018

7. Placement Details : - Aress software solutions

8. Paper Published : Platform of Grants and Bounties for Decentralized


Incentivization

JESITMR, Department of Computer Engineering 2023-24 91


1. Name : Prasad Prakash Deore

2. Date of Birth : 05-09-1997

3. Gender : Male

4. Permanent Address : Vrindavan Park, Plot no 14, nashik

5. E-Mail : prasaddeore10015@gmail.com

6. Mobile/Contact No. : 9049344452

7. Placement Details : EagleByte solutions pvt ltd

8. Paper Published : Platform of Grants and Bounties for Decentralized


Incentivization

JESITMR, Department of Computer Engineering 2023-24 92

You might also like