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

lOMoARcPSD|23365516

Minor Project Report aanchal-converted

Computer Science (Institute of Engineering & Science, IPS Academy)

Scan to open on Studocu

Studocu is not sponsored or endorsed by any college or university


Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)
lOMoARcPSD|23365516

Twitter Blockchain web 3.0


A Project -I
Submitted in partial fulfillment of the requirement for the award of Degree of Bachelor of Technology in
Computer Science & Engineering Submitted to :

RAJIV GANDHI PRODYOGIKI VISHWAVIDYALAYA, BHOPAL (M.P.)

Submitted by:

Aanchal Gaurh– 0808CS191001


Under the Supervision of:

Mr. Arvind Upadhyay

IPS ACADEMY, INDORE


INSTITUTE OF ENGINEERING & SCIENCE
(A UGC AUTONOMOUS INSTITUTE, AFFILIATED TO RGPV, BHOPAL)

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING SESSION:


2021-22

1|Page

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

IPS Academy, Indore Institute of


Engineering and Science
(A UGC Autonomous Institute, Affiliated to RGPV, Bhopal)

Department of Computer Science & Engineering


2021-22

Project-I entitled

<Twitter Blockchain web 3.0=

Guided by: - Submitted by: -

Mr. Arvind Upadhyay Aanchal Gaurh (0808CS191001)

2|Page

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

IPS Academy, Indore Institute of


Engineering and Science
(A UGC Autonomous Institute, Affiliated to RGPV, Bhopal)

Department of Computer Science & Engineering


2021-22

CERTIFICATE
This is to certify that Project -I entitled

<Twitter Blockchain web 3.0=


has been successfully completed by the following students
Aanchal Gaurh

Mr. Arvind Upadhyay Dr. Neeraj Shrivastava

Supervisor HOD CSE

Dr. Archana Keerti Chowdhary

Principal

3|Page

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

Acknowledgement

I would like to express my heartfelt thanks to my Supervisor Mr. Arvind Upadhyay, CSE, for his guidance,
support, and encouragement during the course of my study for B.Tech.(CSE) at IPS Academy, Institute of
Engineering & Science, Indore. Without his endless effort, knowledge, patience, and answers to my numerous
questions, this Project would have never been possible. It has been great honor and pleasure for me to do Project
under his supervision.

My gratitude will not be complete without the mention of Dr. Archana Keerti Chowdhary, Principal, IPS
Academy, Institute of Engineering & Science, and Dr. Neeraj Shrivastava, HOD CSE, IPS Academy,
Institute of Engineering & Science for the encouragement and for giving me the opportunity for this project
work.

I also thank my friends who have spread their valuable time on discussion/suggestions on the critical aspects of
this report. I want to acknowledge the contribution of my parents and my family members, for their constant
motivation and inspiration.

Finally, I thank the almighty God who has been my guardian and a source of strength and hope in this period.

Aanchal Gaurh (0808CS191001)

4|Page

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

CONTENTS

List of figures 7

List of Tables 8

Abstract 9

CHAPTER 1: INTRODUCTION 10
1.1 Overview 11
1.2 Literature Survey 14

CHAPTER 2: PROBLEM IDENTIFICATION & SCOPE 16

2.1 Problem Domain 17

2.2 Solution Domain 18


2.3 Need & Scope 21

CHAPTER 3: SOFTWARE ENGINEERING APPROACH 23

3.1 Software model used 24

3.1.1 Description 25
3.1.2 Reason for use 25

3.2 Platform Specification 26

3.2.1 Hardware Specification 27

3.2.2 Software Specifications 27

CHAPTER 4: DESIGNS 28
4.1 Use Case Diagram 29

4.2 Sequence Diagram 29


5|Page

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

CHAPTER 5: IMPLEMENTATION PHASE 30

5.1 Language Used & its Characteristics 31


5.2 GUI (Snapshots) 33

CHAPTER 6: TESTING METHOD 37

6.1 Testing Method 38

6.2 Test Cases 38

CHAPTER 7: CONCLUSIONS 39

CHAPTER 8: LIMITATIONS & FUTURE ENHANCEMENTS 41

REFERENCES 43

6|Page

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

LIST OF FIGURES

Figure No Title Page No.


Figure 1 Blockchain 11
Figure 2 Blockchain Architecture 14
Figure 3 Blockchain block 15
Figure 4 Iterative process project life cycle 24
Figure 4.1 Pre Login Application Use Case Diagram 29
Figure 4.2 Post Login Application Use Case Diagram 29
Figure 5.2.1 Landing Page 33
Figure 5.2.2 Login and Signup Page 33
Figure 5.2.3 Home page 34
Figure 5.2.4 User Profile 35
Figure 5.2.5 Sanity Database 36

7|Page

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

LIST OF TABLES

Table No Table Name Page No.

Table 3.1 Specification of hardware 27

Table 3.2 Specification of software 27

8|Page

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

ABSTRACT

Blockchain is a shared, immutable ledger that facilitates the process of recording transactions and tracking assets
in a business network. An asset can be tangible (a house, car, cash, land) or intangible (intellectual property,
patents, copyrights, branding). Virtually anything of value can be tracked and traded on a blockchain network,
reducing risk and cutting costs for all involved.
MetaMask is a software cryptocurrency wallet used to interact with the Ethereum blockchain. It allows users to
access their Ethereum wallet through a browser extension or mobile app, which can then be used to interact with
decentralized applications.

9|Page

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

CHAPTER 1 INTRODUCTION

10 | P a g e

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

Figure 1

Twitter Blockchain web 3.0:

The main purpose of this project is to build a Twitter blockchain web 3.0 with Solidity, Next.js, Sanity.io. What
is special about this is we are following the twitters functionality where we can put our own nft and mint it and
set it as our profile images since Twitter decided we can officially add nft as our profile images and link them to
our profile. We will build the frontend with next.js and style it with Tailwind CSS. We will also create our own
smart contract with solidity.

In simple words, Blockchain is a cloud-based system to store information. Blockchain is the underlying network
of cryptocurrency. There are many cryptocurrencies in the market. The most important ones are
Bitcoin, Ethereum, Tether, and XRP.
This technology enhances flexibility, security issues, and even data transfer processing due to its advantages.

11 | P a g e

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

1.1 OVERVIEW

Definition:

Scientists first proposed the Blockchain technology in 1991. The original motto of this technology was to store
digital data so that not to get it modified. Blockchain acts as an open-source database.Later a group of Computer
Scientists adopted Blockchain technology to form a digital cryptocurrency named Bitcoin. Once a blockchain
contains written data, it is hard to change it. This property enhances the security of cryptocurrency.In this
technology, each block represents a structural and functional unit. A block holds data, the hashed value of that
block, and the hashed value of the last block. These blocks link each other similar to a chain.

Benefits of Blockchain

1. Data manipulation with time

Blockchain shows the history of data. In other databases, we get the updated data only, but we get the history of
updating in Blockchain’s case.

2. Decentralized System

Blockchain is a decentralized system. It means there is no single unique database to store information. Rather
there are many copies of it. So, no one can target a single structure.

3. Controls

In Blockchain, there is no single control order. The copies of Blockchain are available in every node and updated
everywhere too. So, the information is secured.

Why is Blockchain the Future?

Starting from Crypto-enthusiasts to ending with Business minds, Blockchain is a solution to many problems these
days. The concern may be about security or smart transfer of data. Blockchain promises to provide ways. With
the advent of Quantum computer security in classical systems is of great question. The future may ask to secure
every system even more. Also, it reduces the risk of hacking and data tamper.

A Blockchain is a primarily decentralized structure. So, the usage of this system also rests upon decentralized
technologies. Before this, we need to know about Smart Contracts.

12 | P a g e

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

1. Smart Contracts

A smart contract is a digital form of contract which has programmable architecture. So, the details of the contracts
are stored in the Blockchain block. This enhances communication. It is also useful to keep track of assets for the
long term. Also, relations with consumers are dependent upon smart contracts.

2. Web Servers

In a web server, data security is very crucial. Typically, a web server has two parts. API and Data. Each block
here serves as a node and joins the request-response cycle.

3. Banking

It typically takes multiple hours to encash a cheque and update the statement. While using Blockchain technology,
it will be done in merely ten minutes. The time needed is the same as the time necessary to add a block in the
Blockchain.

4. Cryptocurrency

Uses in Bitcoin and other cryptocurrencies is a well-known application of Blockchain.

5. Healthcare

Healthcare professionals can use Blockchain to store patient’s records safely there. It will enhance the safety of
the information.

6. Records

Property records should use Blockchain with Smart Contracts. This will uphold the statements to all the parties.

7. Voting

Using Blockchain in Voting will indulge in the safety of counting and misinterpretation.

8. Digital Marketing

With easy Consumer-market relations and secured way of data transfer, Blockchain has a great opportunity in
Digital markets too.

13 | P a g e

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

1.2 LITERATURE SURVEY ON BLOCKCHAIN TECHNOLOGY

Blockchain may well be viewed as a public ledger and each submitted dealings is place during a list of blocks.
This chain develops as new blocks are mounted to that incessantly. With an awfully designed data storage
structure, transactions in Bitcoin system might occur with no any third party and therefore the core innovation to
construct Bitcoin is blockchain, that was initial planned in 2008 and dead in 2009 [1]. These days digital cash
has become a stylish expression in each trade and profound world. In concert of the foremost eminent digital
cash, Bitcoin has delighted an enormous success with its capital market achieving ten billion greenbacks in 2016
[2]. Asymmetric cryptography and distributed accord calculation are dead for consumer security and record
consistency. The blockchain technology has key qualities of decentralization, persistence, anonymity and
auditability. With these attributes, blockchain will considerably spare the price and enhance the productivity. As
a matter of 1st importance blockchain is permanent. Dealings cannot be altered once it's stuffed into the
blockchain. Organizations that need high responsibility and honesty will utilize blockchain to draw in
purchasers. Moreover, blockchain is distributed and may avoid the only purpose of disappointment
circumstance. Blockchain are often utilised in several money services as an example, advanced resources,
settlement and on-line payment [3], [4]. Additionally, it may be applied into alternative fields as well as sensible
contracts [5], public services [6], web of Things (IoT) [7], name systems [8] and security services [9]. Those
fields favour blockchain in multiple ways in which. It’s been proved that miners might come through larger
revenue than their justifiable share through inconsiderate mining strategy [10]. Moreover, it's been shown that
privacy escape might additionally happen in blockchain even users solely create transactions with their public
key and personal key [11] Tschorsch et al. [12] created a technical survey regarding suburbanized digital
currencies as well as Bitcoin. Nomura analysis Institute created a technical report regarding blockchain [13]. The
rest of this paper is organized as follows.

1. BLOCKCHAIN ARCHITECTURE

Figure – 2

14 | P a g e

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

Blockchain could be a sequence of blocks, that holds an entire list of dealing records like standard public
ledger [14]. Figure one illustrates associate degree example of a blockchain. With a previous block hash
contained within the block header, a block has just one parent block. Its price noting that uncle blocks
(children of the block’s ancestors) hashes would even be hold on in ethereum blockchain [15]. The primary
block of a blockchain is named genesis block that has no parent block. We tend to then justify the internals of
blockchain in details.

a. Blocks Figure 3 3 A block consists of the block header and the block body as shown in Figure 2.

Figure 3 3

In particular, the block header includes: (i) Block version: indicates that set of block validation rules to
follow. (ii) Merkle tree root hash: the hash worth of all the transactions within the block. (iii) Timestamp:
current time as seconds in Greenwich Mean Time since Jan one, 1970. (iv) nBits: target threshold of a
legitimate block hash. (v) Nonce: associate degree 4-byte field, that sometimes starts with zero and will
increase for each hash calculation (will be explained in detail in Section III). (vi) Parent block hash: A
256-bit hash worth that points to the previous block.

15 | P a g e

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

CHAPTER 2 PROBLEM IDENTIFICATION &


SCOPE

16 | P a g e

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

Blockchain technology was developed as a way to solve problems associated with digital currencies. A
blockchain is an immutable ledger of transactions linked through digital cryptography and usually shared
publicly across multiple computers around the world.

Blockchain technology holds a lot of promise for improving the security and accessibility of many products and
services across various industries. But for all its potential benefits, there are still several problems with
blockchain that many developers are working to solve.
Problem Domain

1. Scalability
A long blockchain can produce challenges for an organization as it runs into trouble with scalability. There are
several factors at play here.
First, each computer on the network working to confirm transactions and keep accurate records of the blockchain
must store data starting from the genesis block to the most recent block. These computers -- called nodes -- must
have the capacity to store that data. The redundancy creates a more secure system, but it also becomes
increasingly inefficient as the network and blockchain grow.
Next, when creating a new block on the blockchain, the node that confirms the transactions must broadcast the
new block to every other node on the network. They can then verify the transactions and add the block to the
blockchain. This can use substantial network resources as the network grows in size.
2. Energy consumption
Blockchains that use a proof-of-work system to determine which node wins the right to confirm the next block in
the chain can become extremely energy-intensive. Both Bitcoin and Ethereum use the proof-of-work model
where nodes compete to solve a complex equation fastest. As the network grows, the number of competitors
increases, and there's a fight for more computer power, which consumes energy. The energy consumption is
extremely inefficient because ultimately just one node will win the right to confirm the next block.
3. Speed
Blockchain transactions are relatively fast for account-to-account transfers, but the decentralized nature of
blockchain can make it a poor tool for everyday transactions.
When you swipe your debit or credit card at a store, you can confirm the transaction in a matter of seconds.
Behind the scenes, a network of payment processors works to move money from your account to the merchant's
account, but the whole process can actually take a day or two. In the meantime, the merchant can trust that the
issuing bank of the payment card will make good on the payment. This trust allows payment card networks to
process thousands of transactions per second.

4. No universal standards
Almost every implementation of blockchain technology is unique. That creates a couple of challenges for
businesses and developers working on various applications.

17 | P a g e

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

First, it makes interoperability between blockchains difficult. If one company wants to share data with another
company's blockchain, they'll likely need to develop additional tools to allow data to flow between the two
blockchains. There are dozens of blockchain interoperability solutions already in use, but the fact that no one
solution fits all highlights the fragmented standards of blockchain implementations.
The second challenge comes about when developers create something on a blockchain (for example, a smart
contract or a decentralized finance app). Since there are no universal standards, a developer will have to rework
everything to offer the same product on another blockchain. The lack of standards may also open up
vulnerabilities in code as developers work with less familiar platforms.
5. Privacy
Blockchain was designed to be publicly distributed. That means anyone can see the data written to the
blockchain. Although the information is anonymized using blockchain wallet addresses as identifiers, the other
details of a transaction are plain to see. Nobody's going to care about the $20 worth of Bitcoin you send to a
friend, but some data and transactions require a greater level of privacy.

2.1 PROBLEM AND SOLUTION DOMAIN

1. Cross-Border Payments

The Problem: The current state of international payments through banking channels is a hotch-potch, to say the
least. It is a multistep process that involves a lot of intermediaries. Furthermore, each step of the process takes a
lot of time and also requires a hefty amount of money.
In fact, according to the World Bank, the average transaction fee for worldwide payments is around 7%. That’s a
lot!

How Blockchain Solves the Problems


Blockchain helps streamline the entire process by cutting out any and all middlemen and lengthy procedures,
thereby the burden of unnecessary time delays.By using its secure and sophisticated distributed ledger, once a
transaction gets recorded, the payment is almost instantaneously transferred to the receiving party. Since the
transaction can’t be reversed or changed, it also ensures better accountability and security than the currently
employed systemAccording to Deloitte, for transactions made using blockchain, the involved parties incur around
40% to 80% fewer remittance fees than traditional methods. Not only that, but the entire transactions are processed
and completed in a matter of 4 to 6 seconds instead of having to wait for days.

And when you include the benefits of added security and transparency into the mix, blockchain is surely a better
solution for global monetary transactions.

Who Is Currently Using Blockchain For This Purpose?


Currently, a bunch of fintech companies is using blockchain to solve this problem. Notable names in the field
include:
Circle: Allows users to safely transfer money (multiple supported currencies) to over 29 countries.
Ripple: Helps banks, payment providers, and digital asset exchanges to send and receive money globally, super-
fast, and with minimal remittance fees.
WeTrade: WeTrade offers an innovative digital platform that enables banks and businesses to work
collaboratively across Europe, offering secure, transparent, and opportunities.

18 | P a g e

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

2. Supply Chain Management

The Problem: Supply Chain Management refers to the planning and execution of all related processes leading to
a finished product deployment. Generally, it constitutes a network of entities 3 individuals or businesses that start
from raw material suppliers, straight to the product manufacturers, and then down to the distributors.
A well-optimized supply chain ensures maximum productivity with reduced fraudulent activity and overhead
costs. As you can imagine, implementing this in the real world is a real hectic job. Automation efforts have been
made using AI and Machine Learning, but blockchain promises to be a game-changer in this area. So, this is one
of the real world problems solved by blockchain.

How Blockchain Solves the Problems


One of the key benefits that blockchain brings to Supply Chain Management would be interoperability.
The transparency in data sharing makes sure that everyone is on the same page 3 starting from the manufacturers
to retailers, vendors, and even the contractors. In turn, this helps to reduce any conflict and delay in operations.

Furthermore, since all the products can be tracked in real-time, it reduces the risks of misplacement or goods
getting stuck in the supply chain.

And if that’s not all, blockchain offers scalability at unimaginable levels, with large databases being available from
multiple locations throughout the world. This means no matter how big your business is or how spread across the
globe it is, using blockchain, you will be able to manage your supply chain effortlessly.

Who Is Currently Using Blockchain For This Purpose?


A few examples of companies using blockchain for efficient supply chain management are:
Origintrail: They offer a data exchange protocol that can be used by interconnected supply chains.-
Openport: A Blockchain platform directly connects shippers and carriers, which reduces cost and optimizes
supply chain management.
Walmart: Walmart, one of the biggest retail shops, are utilizing blockchain to improve its supply chain.

3. Accountability Issues With Traditional Contracts and Agreements

The Problem: At its core, we create contracts and agreements because there is a lack of trust amongst the
transacting parties. As a result, we go through this legal procedure of creating contracts, a multistep process
involving even more parties and tons and tons of paperwork.
As a result, a lot of time and money are spent on the intermediaries. Just imagine the last time you created a
contract and how much money you had to pay your lawyer for creating all those regulatory paperwork, or how
much time you spent driving up and downtown to gather all the signatures.

Even though we take this as the norm and a part of creating contracts and agreements, all these inconveniences
can be avoided by leveraging blockchain technology, specifically smart contracts.
So, this is one of the real world problems solved by blockchain.

How Blockchain Solves the Problems


Well, blockchains allow for something known as Smart Contracts, an ingenious solution and future replacement
for traditional contracts and agreements. So the next obvious question would be, what is a smart contract?
Well, a smart contract is basically a few lines of codes that you can store on a Blockchain. These are programmed
to execute certain actions 3 ideally, process a transaction as soon as the terms and conditions specified in the lines
of code are met.
19 | P a g e

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

Now, since the smart contracts are stored on the blockchain, the terms and conditions can’t be altered or
manipulated. Furthermore, everything is open and publicly available, allowing for greater transparency.

Who Is Currently Using Blockchain For This Purpose?


There are tons of startups and companies that have already adopted smart contracts in exchange for traditional
agreements. Here are a few notable mentions:

Tradelanse: It helps digitize the supply chain by easing agreements and traditional contracts.
Tradeix: Tradeix is rewriting working capital finance and trade using blockchain. They provide value for
alternative funders, banks, value-added providers, and so on!

4. Identity Theft

The Problem: At its core, your identity is nothing more than a collection of claims regarding you as a person.
This includes data on where you live, your passport number, driving license, social security number, and so on.
All these are data points that are used by governments and stored in centralized databases.
A bad actor can potentially get hold of one of these documents, and exploiting certain security flaws, steals your
identity. They can now use your identity to gain some financial advantage or obtain credit in your name. This is a
serious problem! In fact, many criminals also steal a dead person’s identity to commit crimes and get away with
it. So, this is one of the real world problems solved by blockchain.

How Blockchain Solves the Problems


Blockchain offers a novel solution to the problem. In a decentralized platform, you get access to a private key and
a public key. The public key is made available to the public.
And because of the open, transparent nature of blockchain, everyone can access your public records. However, it
offers concrete security as no one can change or edit your data.

Now in case, you want to access your personal data or provide authorization, you can use your private key to verify
your identity. It is a simple method but provides a lot of security over restricted identity theft as it is carried out
today.

Who Is Currently Using Blockchain For This Purpose?


A ton of new Blockchain startups has popped up revolving around identity management. Here a few notable
ones:
Validate ID: The company uses Blockchain technology to provide digital identity solutions, including a
comprehensive electronic signature service. Their service strives to provide simple and cost-effective services
that also offer high-class security.

NewBanking: NewBanking allows users to share their identities over the web without worrying about losing or
sacrificing their sensitive data.
Sovrin: Sovrin is offering the world’s first self-sovereign identity(SSI) network.
Uport: Uport lets the business build a trusted ecosystem and offer the customers and partners a way to transact
securely.

20 | P a g e

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

5. Managing And Protecting Patient Data in Health Care Organizations

The Problem: The current healthcare systems use centralized systems to record and manage patient data. These
can be less secure and subject to misinformation.
There have been numerous cases of data breaches in hospitals where patient data like credit card information and
genomic testing records were stolen. In fact, between the span of 2009 to 2017, over 176 million patient records
were compromised because of data breaches.

Furthermore, the current state of interhospital communication of patient data is a complete mess. Many times
patients choose to switch hospitals. Sometimes, because of emergencies, they are admitted to hospitals in a
different network.

Now, since the current system doesn’t facilitate quick and easy exchange of patient records from their primary
care provider, they are now forced to create a new medical record, which is a loss of time as well as money.

How Blockchain Solves the Problems


Blockchain can help create a decentralized log of patient data that is transparent and public for all hospitals to
access. Furthermore, there is no way to corrupt the data, so the entire problem of interhospital communication is
resolved.

Next comes security. Despite being transparent and public, blockchain can also help keep your data private by
concealing your identity with secure codes that will protect all your sensitive data. If and even necessary, you need
to provide a private key, and only then will the information be accessible.

Who Is Currently Using Blockchain For This Purpose?


Many companies adopt blockchain in the health sector to provide better management and security for patient data.
Here are a couple of notable names:
BurstIQ: The company provides Blockchain solutions to help healthcare companies manage massive amounts of
patient data securely and safely.
MedicalChain: Helps maintain the integrity of health records. Doctors, hospitals, and laboratories can request
patient information, but the patient identity remains safe and protected from outside sources.

2.3 NEED & SCOPE OF BLOCKCHAIN


Apart from financial industries, blockchain technology also has a bright future in other sectors. Let us have a
look at the future scope of Blockchain technology in different sectors:
1. Blockchain in Digital Advertising: Presently, digital advertising faces a lot of challenges like domain fraud,
bot traffic, lack of transparency and long payment models, due to the issue like incentives are not affiliated.
Because of this the promoters and publishers feel they are dropping the deal. Blockchain has provided a solution
to carry transparency to the supply chain as it fetches trust in a trustless environment. Blockchain allows right
companies to succeed, by decreasing the number of bad players in the supply chain. Publishers can also gather a
vast percentage of the total advertisement dollars arriving the ecosystem. The Blockchain technology is still in
its beginning; however, this technology should stay here, and all advertisement companies are observing that
how blockchain will help to enhance their business.

21 | P a g e

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

2. Blockchain in Cyber Security: Though the blockchain is a public ledger, the data is verified and encrypted
using innovative cryptography technology. In this manner, the information or data is less likely to be attacked or
altered without authorization.

3. Blockchain will remove the requirement of the third party: With the help of Blockchain technology,
basically, it is possible to impact a varied range of processes and techniques. It eliminates the need of trusted
third party in the transactions. Well most prominent organizations in the world exist today to function as a
trusted third party, for instance, SWIFT, and the Depository Trust Cleaning Company.Corporate chances
flourish for companies that can build applied Blockchain technologies aiming for particular transactions, like the
mortgage industry. The existing mortgages needed a complicated web of title searches, title insurance, and
uncountable minor transaction fees which are required to keep the system running. These systems occur because
traditionally, the transfer of land has been a process which requires a significant amount of belief in the old
records.
The Blockchain in Forecasting: The blockchain technology is set to alter the complete methodology for
research, consulting, analysis and forecasting. The global distributed prediction markets are created with the help
of online platforms.

4. Use of Blockchain in the Internet of Things and Networking: Different companies like Samsung and IBM
are utilizing the blockchain technology for a new concept called ADEPT, this will help to create a distributed
network of IoT devices. The blockchain technology will remove the requirement for a central location to manage
the communication between them; this will function as a public ledger for a massive number of devices. The
devices may communicate with each other to upgrade the software, handle the errors and observe energy
practice.

5. Blockchain in cloud storage: The data on a centralized server is exposed to hacking, loss of data, or human
error. With the help of blockchain technology, it is possible to make the cloud storage more protected and robust
against hacking.

2.4 NEED & SCOPE OF METAMASK

1. Popular - it is commonly used, so users only need one plugin to access a wide range of dapps.
2. Simple - Instead of managing private keys, users just need to remember a list of words, and transactions
are signed on their behalf.
3. Saves space - Users don’t have to download the Ethereum blockchain as it sends requests to nodes
outside of the user’s computer.
4. Integrated - Dapps are designed to work with MetaMask, so it becomes much easier to send Ether in and
out.

22 | P a g e

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

CHAPTER 3 SOFTWARE ENGINEERING


APPROACH

23 | P a g e

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

Process-driven software development is based on rigorously defined activities and tasks that are also repeatable
and measurable. Formal processes facilitate planning, analysis of requirements from multiple angles, design of
high-quality software models by following standards and using team-based tools, and incorporation of quality
through walkthroughs, inspections, and testing. As a result, such formal processes enhance quality and maximize
user benefits.

3.1 Software model used

The process of discipline is complex. This is because a process considers myriad different hard and soft factors
that impact development. Many software developers argue that processes restrict their creativity. Far from that,
processes enable creativity with value. This is because processes ensure the effort made by architects, designers,
developers, and testers will be well directed toward the commonly agreed goals (business objectives) of a project.
Processes also facilitate measures and metrics that indicate individual and team productivity and quality. Metrics
and measurements in software projects also enable the assignment of responsibilities and accountabilities. To
develop a good product we need a good development method. One very popular agile framework for this is
iterations and increments.

The iterations and increments as shown in Figure 2 are the basis of most modern-day approaches to developing
good software. In this iterative and incremental approach, no deliverable is produced in a single attempt. Instead,
at least three iterations (repetitions) are undertaken before producing a deliverable. This is followed by
incrementally adding another package, which would have its own three or more iterations. The three terms
iteration, incremental, and parallel are further discussed next.

Figure 4. Iterative process project life cycle

24 | P a g e

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

Iterative

The iterative aspect of a process enables the repetition of tasks. As a result, the deliverables are produced gradually.
For example, when a use case is iterated, additional material is added to the description of the use case4such as
alternative flows within the use case. The iterative approach encourages a slow and steady philosophy rather than
hurrying and finishing up a deliverable in the first attempt. Deliverables are gradually matured by undertaking at
least three iterations across multiple other deliverables. For example, while following an iterative process one
might move from an initial use case to another use case in another diagram, then identify classes and draw a
sequence diagram before coming back to the original use case and completing it.

Incremental

The incremental aspect of a process enables adding new elements and diagrams to an existing deliverable. An
example is to add new packages to existing or developing packages. New requirements are thus discovered and
modeled incrementally. This incremental aspect of the process enables the creation of parts of a system in as
complete a manner as possible before proceeding with the development of additional parts of the system. The
incremental aspect of a process often goes hand in hand with the iterative aspect. For example, while a new
deliverable is incrementally added (a new use case), an existing deliverable is iteratively augmented during a later
iteration (e.g., additional steps added to a use case).

3.1.1 Description

The various phases of the Iterative model are as follows:

1. Requirement gathering & analysis: In this phase, requirements are gathered from customers and checked
by an analyst whether requirements will be fulfilled or not. Analyst checks that need will achieve within
budget or not. After all of this, the software team skips to the next phase.
2. Design: In the design phase, the team designed the software the different diagrams like the Data Flow
diagram, activity diagram, class diagram, state transition diagram, etc.
3. Implementation: In the implementation, requirements are written in the coding language and transformed
into computer programs which are called Software.

25 | P a g e

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

4. Testing: After completing the coding phase, software testing starts using different test methods. There are
many test methods, but the most common are white box, black box, and grey box test methods.
5. Deployment: After completing all the phases, the software is deployed to its work environment.
6. Review: In this phase, after the product deployment, the review phase is performed to check the behavior
and validity of the developed product. And if there is any errors found then the process starts again from
the requirement gathering.
7. Maintenance: In the maintenance phase, after deployment of the software in the working environment
there may be some bugs, errors or new updates are required. Maintenance involves debugging and new
additional options.

3.1.2 Reason for use


● Certain operating functionalities can build rapidly and early in the life cycle.
● Debugging and testing in a smaller iteration would be easy.
● Parallel development can be planned.
● Easily acceptable model for frequently changing requirements of the project.
● Identification and Resolution of risks would be easy during the iteration.
● Spending limited time on the documentation and Extra time on Design.
● More cost-effective.
● Reliable user feedback on each iteration.
● The product is built and improved step by step. So, defect tracking is possible in the early phases.
● Challenges, issues, and risks that are identified from each increment would be applied to the next
increment.
● Initial operation time is less.
● Suits for agile organizations.

26 | P a g e

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

3.2 Platform Specification

3.2.1 Hardware Specification

Platform component Specification


Intel(R) Core (TM) i3-7020U CPU @ 2.30GHz
CPU
2.30 GHz
Memory 4.00 GB RAM

OS Windows 10 64 bit
Table 1: Specification of hardware

3.2.2 Software Specification

Platform Component Specification

IDE VS Code

Database GUI Sanity.io

Code Management VS code live share

Deployment Vercel
Table 2: Specification of software

27 | P a g e

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

CHAPTER 4 DESIGNS

28 | P a g e

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

4.1 Use Case Diagram

Figure 4.1 Pre Login Application Use Case Diagram

Figure 4.2 Post Login Application Use Case Diagram

29 | P a g e

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

CHAPTER 5 IMPLEMENTATION PHASE

30 | P a g e

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

5.1 Language Used & its Characteristics

5.1.1 Frontend -

● Next.js - Next.js is an open-source web development framework built on top of Node.js enabling React
based web applications functionalities such as server-side rendering and generating static websites.

● React.js - React is a free and open-source front-end JavaScript library for building user interfaces based
on UI components. It is maintained by Meta and a community of individual developers and companies.

● Tailwind CSS – Rapidly build modern websites without ever leaving your HTML.
A utility-first CSS framework packed with classes like flex, pt-4, text-center and rotate-90 that can be
composed to build any design, directly in your markup.

5.1.2 Backend -

● Sanity.io - Sanity.io is the unified content platform that powers better digital experiences.
Sanity is a perfect mix of ease-to-use paired with the ability to customize almost anything you want.

● Solidity – Solidity is an object-oriented, high-level language for implementing smart contracts. Smart
contracts are programs which govern the behaviour of accounts within the Ethereum state.

5.1.3 Hosting –

● Vercel – Vercel is a platform for static sites and frontend frameworks, built to integrate with your
headless content, commerce, or database.
We provide a frictionless developer experience to take care of the hard things: deploy instantly, scale
automatically, and serve personalized content around the globe.
We make it easy for frontend teams to develop, preview, and ship delightful user experiences, where
performance is the default.

31 | P a g e

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

5.1.4 Authentication –

● Metamask – MetaMask is a software cryptocurrency wallet used to interact with the Ethereum
blockchain. It allows users to access their Ethereum wallet through a browser extension or mobile app,
which can then be used to interact with decentralized applications.

32 | P a g e

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

5.2 GUI (Snapshots)

5.2.1 Landing Page -

5.3.2 Login and Signup Page

33 | P a g e

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

5.2.3 Home page

34 | P a g e

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

5.2.4 User Profile

35 | P a g e

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

5.2.5 Sanity Database

36 | P a g e

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

CHAPTER 6 TESTING METHOD

37 | P a g e

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

6.1 Testing Method

6.1.1 Black-Box Testing


The technique of testing without having any knowledge of the interior workings of the application is called
blackbox testing. The tester is oblivious to the system architecture and does not have access to the source code.
Typically, while performing a black-box test, a tester will interact with the system's user interface by providing
inputs and examining outputs without knowing how and where the inputs are worked upon.
The following table lists the advantages and disadvantages of black-box testing.

6.1.2 White-Box Testing


White-box testing is the detailed investigation of internal logic and structure of the code. White-box testing is also
called glass testing or open-box testing. In order to perform white-box testing on an application, a tester needs to
know the internal workings of the code.
The tester needs to have a look inside the source code and find out which unit/chunk of the code is behaving
inappropriately.
The following table lists the advantages and disadvantages of white-box testing.

6.1.3 Grey-Box Testing


Grey-box testing is a technique to test the application with having a limited knowledge of the internal workings of
an application. In software testing, the phrase the more you know, the better carries a lot of weight while testing
an application.
Mastering the domain of a system always gives the tester an edge over someone with limited domain knowledge.
Unlike black-box testing, where the tester only tests the application's user interface; in grey-box testing, the
tester has access to design documents and the database. Having this knowledge, a tester can prepare better test
data and test scenarios while making a test plan.

6.2 Test Cases


A Test Case is a set of actions executed to verify a particular feature or functionality of your software application.
A Test Case contains test steps, test data, precondition, postcondition developed for specific test scenario to verify
any requirement. The test case includes specific variables or conditions, using which a testing engineer can
compare expected and actual results to determine whether a software product is functioning as per the requirements
of the customer.

38 | P a g e

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

CHAPTER 7 CONCLUSION

39 | P a g e

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

CONCLUSION

This twitter blockchain app will protect user’s account from being compromised or hacked. Through this
platform, our main vision is to provide security to the user’s personal data in all possible ways. Using metamask
authentication which is a cryptocurrency wallet used to interact with the Ethereum blockchain ensures security.
As this is totally based on blockchain undoubtfully it is more secure and safe.
Although it have some procs and cons and have a long way to go but still a new step towards a more safe and
secure advancing technology which is improving. Although it is difficult to understand and implement both for
user and the developer but with time it will be more user friendly.

40 | P a g e

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

CHAPTER 8 LIMITATIONS & FUTURE


ENHANCEMENTS

41 | P a g e

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

Limitations

Browser access: MetaMask doesn’t have access to any of your information, but the browser it’s installed
on will. Your browser won’t have access to your private codes, but it may collect information about
when and how you use the app. Mozilla and Google aren’t very popular in the crypto community. Many
crypto users will feel uncomfortable allowing these companies to collect information about them. This
may stop some potential users from trying the MetaMask wallet, and turning to some of the more-secure
alternatives.

Online: Online wallets have advantages and disadvantages. One of the main disadvantages is security.
Any information that’s stored online is more at risk from hackers than information that’s stored offline.
MetaMask doesn’t provide enough security by itself. Remember, always use more than one kind of
wallet, with one of them being a hardware device!

Only for Ethereum and ETH-based tokens: One of the biggest cons that are apparent when using
MetaMask is the fact that the wallet in question only stores Ethereum, and Ethereum-based tokens (ERC-
20, ERC-721, ERC-1150). Meaning, you aren't able to store any other cryptocurrencies on the wallet -
not ideal! This is especially notable when you take into account that there are multiple high-end wallets
out there that support a wide list of cryptocurrencies and token. This is true both in regards to cold
wallets, as well as hot ones, too.

Future Enhanacements

There is no sector moving more rapidly than cryptocurrency. It changes meaningfully on a daily basis with
new companies, technologies, and financiers constantly emerging. We are in the first minute of the first
inning, and there are many more wild days ahead than behind us. That means that crypto wallets are, by
definition, incipient. They are not-even-half-formed things, made to serve use-cases that will change,
powered by technologies that may be usurped. Such volatility presents risk as well as opportunity.

We can expect four evolutions in the web3 space that directly impact wallets:

1. There will be greater competition.


2. There will be greater adoption.
3. There may be increased demand across networks.
4. There will be greater use cases.

42 | P a g e

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)


lOMoARcPSD|23365516

REFERENCES

● Next.js – The React framework for production


https://nextjs.org/
● Tailwind css- Rapidly build modern websites without ever leaving your HTML
https://tailwindcss.com
● Sanity.io – https://www.sanity.io
● Metamask – https://docs.metamask.io/guide/
● Solidity Documentation – https://docs.soliditylang.org/en/v0.8.12/
● Vercel – https://vercel.com/docs
● Blockchain – https://www.investopedia.com/terms/b/blockchain.asp
● Twitter Blochchain Documentation – https://twitter.com/hashtag/blockchain
● Ethereum Blockchain – https://aws.amazon.com/blockchain/what-is-ethereum/
● MetaMask Extension Provider – https://docs.metamask.io/guide/metamask-extension-provider.html

43 | P a g e

Downloaded by Vidhi Kaushal (vidhikaushal1704@gmail.com)

You might also like