0% found this document useful (0 votes)
26 views

Blockchain

This document is a project report submitted by four students for their bachelor's degree in computer science and engineering. It describes a money vault system using blockchain technology. The system aims to facilitate secure and reliable digital transactions by using a blockchain package called KRYPT that allows sending transactions, querying smart contracts, and managing digital assets on a decentralized ledger. The proposed system provides transparency and control over financial transactions for both employees and managers.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views

Blockchain

This document is a project report submitted by four students for their bachelor's degree in computer science and engineering. It describes a money vault system using blockchain technology. The system aims to facilitate secure and reliable digital transactions by using a blockchain package called KRYPT that allows sending transactions, querying smart contracts, and managing digital assets on a decentralized ledger. The proposed system provides transparency and control over financial transactions for both employees and managers.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 51

MONEY VAULT USING BLOCKCHAIN

A PROJECT REPORT

Submitted by

ARUL BATHRA. M - 921319014023


DHANUSHKUMAR. S - 921319104038
GOKUL KRISHNA. J - 921319104043
HARIHARAN. S - 921319104049

in partial fulfillment for the award of the degree


of
BACHELOR OF ENGINEERING
in
COMPUTER SCIENCE & ENGINEERING

PSNA COLLEGE OF ENGINEERING AND TECHNOLOGY,


(An Autonomous Institution Affiliated to Anna University, Chennai)

DINDIGUL - 624622

APRIL 2023
PSNA COLLEGE OF ENGINEERING AND TECHNOLOGY,
(An Autonomous Institution Affiliated to Anna University, Chennai)

DINDIGUL-624622

BONAFIDE CERTIFICATE

Certified that this project report “MONEY VAULT USING BLOCKCHAIN” is the
bonafide work of “ARUL BATHRA M - (921319104023), DHANUSH KUMAR.S -
(921319104038), GOKUL KRISHNA J - (921319104043), HARIHARAN.S -
(921319104049)” who carried out the project work under my supervision.

SIGNATURE SIGNATURE
Dr.D.SHANTHI, M.E., Ph.D., Mrs.M.JAYANTHI,M.E.,
HEAD OF THE DEPARTMENT SUPERVISOR
ASSISTANT PROFESSOR
Department of Computer Science Department of Computer Science
and Engineering, and Engineering,
PSNA College of Engineering PSNA College of Engineering
and Technology, and Technology,
Dindigul – 624622. Dindigul – 624622.

Submitted for project viva-voce examination held on 2023

INTERNAL EXAMINER EXTERNAL EXAMINER


ACKNOWLEDGEMENT

With warm hearts and immense pleasure, we thank the Almighty for his grace and
blessings which drove us to the successful completion of the project. We would like to
express our gratitude towards our parents for their kind co - operation and encouragement
which helped me in completion of this project.

We take this opportunity to express our sincere thanks and gratitude to therespected
Chairperson Tmt. K. DHANALAKSHMI AMMAL, who is the guiding light for all the
activity in our college.We would like to express our deep gratitude to our Pro Chairman
Rtn.Thiru R.S.K RAGURAAM, D.A.E, M.Com, for their continuous support towards
the development of the students.

We would like to thank our Principal Dr. D. VASUDEVAN., M.E., Ph.D., for
being a beacon in guiding every one of us and infusing us the strength and enthusiasm to
work over successfully.

We express our sincere thanks to Dr. D. SHANTHI, M.E., Ph.D., Professor and
Head, Department of Computer Science and Engineering further valuable suggestions and
continuous encouragement in the completion of the project work.

This project would not have been possible without the motivation and guidance of
our project coordinator Dr. M. S. THANABAL, M.E., Ph.D., Professor and project guide
Mrs. M. JAYANTHI, M.E., Assistant Professor of the Department of Computer Science
and Engineering.
ABSTRACT

Cashless transaction like e-wallets which have various benefits like reduction in

black money, reduction in crime rates, helps in improving economic growth of the

country, helps in fighting against terrorism, attract more foreign investors. Blockchain

facilitates fast, secure, low-cost international payment processing services (and other

transactions) through the use of encrypted distributed ledgers that provide trusted real-

time verification of transactions without the need for intermediaries such as correspondent

banks and clearinghouses. Blockchain technology was initially used to support the digital

currency Bitcoin but is now being explored for various applications that don’t involve

bitcoin. For secure and reliable transaction we are using a package called KRYPT that

can perform various operations on blockchain, such as sending transactions, querying data

from smart contracts, and managing digital assets. The proposed system also provides

employees with greater over their information and salary details, as the information is

stored on a secured and decentralized ledger. Additionally, the use of blockchain

technology enables real time tracking and reporting of transactions, providing managers

with greater visibility and control over their finances.

iv
TABLE OF CONTENT

CHAPTER NO TITLE PAGE NO

ABSTRACT iv
LIST OF FIGURES viii
LIST OF TABLES ix
LIST OF ABBREVIATION x

1 INTRODUCTION 1
1.1 OVERVIEW 1
1.2 BLOCKCHAIN 2
1.3 AIM 3
1.4 OBJECTIVE 3
1.5 SCOPE 3
2 LITERATURE SURVEY 4
3 SYSTEM ANALYSIS AND DESIGN 11
3.1 EXISTING SYSTEM 11
3.1.1. Cheque 11
3.1.2. Demand Draft 11
3.1.3. Online Transfer – Neft or Rtgs 11
3.1.4. Credit Card or Debit Card 12
3.1.5. E-Wallets 12
3.1.6. UPI apps 12
3.1.7. Unstructured Supplementary Service Data 12
3.1.8. Aadhaar Enabled Payment System 13
3.1.9. Disadvantages of Existing System 13

3.2 PROPOSED SYSTEM 13


3.2.1 Advantages 15
3.3 FEASIBILITY STUDY 15

v
3.3.1 Economical Feasibility 15
3.3.2 Technical Feasibility 16
3.3.3 Social Feasibility 16
3.4 HIGH LEVEL DIAGRAM 16
3.5 SYSTEM DESIGN 17
3.5.1 UML Diagrams 18
3.5.2 Use case Diagrams 19
3.5.3 Class Diagrams 20
3.5.4 Architecture Diagram 20

4 MODULE DESCRIPTION 22
4.1 MODULE LIST 22
4.2 DATA FLOW DIAGRAM 25
5 SYSTEM SPECIFICATION 26
5.1. HARDWARE CONFIGURATION 26

5.2. SOFTWARE CONFIGURATION 26


5.3. SOFTWARE ENVIRONMENT 26

5.4. LIBRARIES 27
5.4.1 Ethereum 27
5.4.2 React.Js 27
5.4.3 Express.Js 28
5.4.4 Sandbox API 28
6 IMPLEMENTATION AND TESTING 29
6.1 MODULE IMPLEMENTATION 29
6.1.1 Registration 29
6.1.2 Authentication 30
6.1.3 Transaction 32
6.2. TYPES OF TESTING 34
6.2.1 Unit testing 34
vi
6.2.1 Split testing 34
6.2.2 Linguistic-based testing 35
6.2.3 Integration Testing 35
6.2.4 Functional Testing 35
6.3. TESTCASES 36
6.4. RESULTS 37
7. CONCLUSION AND FUTURE WORK 40
7.1. CONCLUSION 40
7.2. FUTURE ENHANCEMENT 40
REFERENCES 41

vii
LIST OF FIGURES

SNO FIGURE NO DESCRIPTION OF FIGURE PAGE NO


1 1.1 BlockChain 1
2 3.1 High Level Diagram 17
3 3.2 Use Case Diagram 19
4 3.3 Class Diagram 20
5 3.4 Architectural Diagram 21
6 4.1 Registration 22
7 4.2 Log In 23
8 4.3 Add a card 24
9 4.4 Use an Existing Card 25
10 4.5 Data Flow Diagram 25
11 6.1 Registration 30
12 6.2 Authentication 31
13 6.3 Money Transfer 33
14 6.4 Home Page 37
15 6.5 Add a Card 37
16 6.6 Card Added 38
17 6.7 Pay with Card 38
18 6.8 Amount Transferred 39
19 6.9 Charge a Card 39

viii
LIST OF TABLES

SNO TABLE NO DESCRIPTION OF FIGURE PAGE NO


1 6.1 Test cases 36

ix
LIST OF ABBREVIATION

GUI Graphical User Interface

BC Blockchain

P2P Peer-to-Peer

ETH Ethereum

x
CHAPTER 1
INTRODUCTION

1.1 OVERVIEW

Figure 1.1 Blockchain


Blockchain consist of the creation and of the creation and maintaining the
details of the user where the creation of account in Blockchain medium where the
medium can be accessed from the browsers Extension. At this point of time we
create a separate account a user in Ethereum. After the successful creation of the
account we reduce the work of the user by making a separate API Key for the
user. When the user has an API key he is completely authorized for a transaction
using the medium we provide. The completion he can be used methods like crypto
transaction and Card transaction . To make the user for the Authorization of the
user and the assurance of the data privacy. The Completion of unleash the power
a common user to transfer his/her cash transaction with the available method. It
provides a proper UI where user can be dealt with the transaction process. This
provides the complete backend support such as making a transaction with the
assured data privacy and amount security. The transaction can be done with the
proper addition of the medium details or the existing details if the user is a regular
user. This phase uses the API key which is stored a key for the user in the database
to identify and make the initiation of the transaction. The Keys are analyzed in

1
both backend and the database so that the incurable interface is provided. The
completion of this phase makes the user to initialize the transaction as provided
by the UX of the user. This phase is initialized when the previous process is
completed. This comprises of the collective processing of the data provided and
the process of transacting and storing the transaction details in Ethereum space
called block. The process contains the verification of the both users and the
storage access towards the blockchain space. The server handles the maintenance
and the initialization of the database. The server returns the status of the
transaction when the transaction process is completed. The transaction status
determines the status of the process since it determines the endpoint. The user is
notified on the status of the transaction so that the user is always updated
whenever a transaction is generated.

1.2 BLOCKCHAIN

A blockchain is a distributed ledger with growing lists of records (blocks)


that are securely linked together via cryptographic hashes.Each block contains a
cryptographic hash of the previous block, a timestamp, and transaction data
(generally represented as a Merkle tree, where data nodes are represented by
leaves). [1]The timestamp proves that the transaction data existed when the block
was created. Since each block contains information about the previous block, they
effectively form a chain (compare linked list data structure), with each additional
block linking to the ones before it.
Consequently, blockchain transactions are irreversible in that, once they are
recorded, the data in any given block cannot be altered retro actively without
altering all subsequent blocks. Blockchains are typically managed by a P2P
computer network for use as a public distributed ledger, where nodes collectively
adhere to a consensus algorithm protocol to add and validate new transaction
blocks.

2
1.3 AIM

Developing a money vault application using blockchain technology can


offer several benefits such as faster transaction speeds, improved security, and
lower transaction fees compared to traditional money transfer methods. Creating
a blockchain-based money vault app requires careful planning, development, and
testing. But with the right approach and attention to detail, your app can offer
users a secure, fast, and cost-effective way to transfer money.
1.4 OBJECTIVE

The main objective of a money vault using blockchain technology is to


provide a secure, transparent, fast, and cost-effective platform for users to transfer
money globally. To provide users with a user-friendly and accessible platform
that can be accessed from anyplace in the world using a smartphone or computer. To
provide users with a user-friendly and accessible platform that can be accessed from
anyplace in the world using a smartphone or computer.
1.5 SCOPE
 Provide access to financial payment services to every citizen along with
ability to conduct card / digital transactions.
 Digitalize Government collections by equipping each collection point with
a method to accept card/digital payments.
 Migrate payment transactions from cash dominated to non-cash through
incentivization of card digital transactions and disincentivization of cash
based transactions.
 Enhance acceptance infrastructure in the country to promote digital
transactions.

3
CHAPTER 2
LITERATURE SURVEY
1) Title : Systematic literature review on blockchain adoption
Banking
Author : Arun Khatri, Anjali Kaushik
Year : 2021
Description :
Blockchain has emerged as high impact disruptive technology and
surpassed most of the aggressive predictions in banking and finance domain. The
changing landscape in digital banking has forced the entire banking sector to look
at blockchain technology as future of transactions.[2] Blockchain is disrupting the
banking industry and contributing to the increased efficiency and speed in
banking. However, there exists a gap in research and development into block
chained processes in banking from an academic perspective, and this paper is an
attempt to put together the research work done in the field of blockchain adoption
in banking.

2) Title : Blockchain Technology - Application In Indian Banking


Sector
Author : Abhishek Gupta.; Stuti Gupta
Year : 2018
Description :
They give an overview of blockchain technology, highlighting its
advantages and uses in the Indian banking industry. The article provides an
understanding of the numerous issues and a worldwide perspective of blockchain
technology in the financial sector. Blockchain technology is one disruptive
innovation that is transforming the banking industry internationally (BCT).
According to the study's findings, blockchain will eventually operate as a
disruptive force to change the Indian banking industry by enhancing the

4
speed,security, transparency, and efficiency of financial transactions. For this
study, theauthors used secondary data. In the future, an empirical study might be
conductedto compare the development of Bitcoin technology in India to that in
other developing nations.

3) Title : Blockchain application and outlook in the banking industry


Author : Ye GUO and Chen Liang
Year : 2018
Description :
They conclude that, as credit intermediates, blockchain technology has an
edge over banks, but it is yet too early for this technology to destroy the current
financial system entirely. Thus, it is likely that a "multi-center, weakly inter
mediated" situation will manifest. Here is where banks create a consortium,
strengthen their positions, and employ blockchain technology to better their
payment-clearing processes and get over some information communication
roadblocks. The use of new technologies has caused changes in the Chinese
banking and fintech industries. Chinese Blockchain Application Development
and Technology, 2016. Also, "multi-center, weakly intermediate" situations are
encouraged by blockchain applications, which will improve the efficiency of the
financial sector.

4) Title : Blockchain maneuvers - applying Bitcoin's technology


Banking
Author : Dan Barnes
Year : 2018
Description :

He affirms that financial institutions like UBS, ING, and NASDAQ, which

are researching the technology's potential, will be able to overcome remain are

5
researching the technology's potential, will be able to overcome the remaining
difficulties, not the least of which are security and regulatory concerns. Bitcoin's
underlying technology has the potential to be transformative. It has the potentialto
revolutionize practically every area of commerce and render conventional online
transactions obsolete. We have considered the blockchain as the memory of money.
We would want to explore that more, but that will have to wait for now. Can we utilize
this to replace current technology, whether it be for payments, transfers, or security?
Banks are deciding to switch to a real-time, round-the-clock payment system that
allows for instant payments as well as instant commerce. The debate over the best
technology to utilize presents an intriguing conundrum: should you choose a brand-
new, unproven, yet brilliant blockchain technology with everything within, or an
established system with databases? To examine the adoption of new technology
thoroughly, TAM must be used.

5) Title : How Blockchain affects Business Models in Inter National


Banking
Author : Sven Magnus Degene
Year : 2018
Description :
To eliminate consequences to the business model of conventional banks
incorporating blockchain technology to process international payments, he
analyses the Rabobank and fintech start-up, Ripple. Traditional banks may easily
connect to RippleNet, a "blockchain-as-a-service" solution, as part of their value
proposition. A "blockchain-as-a-service" solution is offered by Ripple as a value
proposition. the present state of cross-border payment systems as they are appliedto
the Rabobank case and Fiducia GAD's perspective on information technology.
Ripple's role as an example of a blockchain-based cross-border payment system
solution is further clarified. According to the results, traditional banks are less
likely to deploy blockchain technology effectively. Instead, it appears more

6
practical for banks to work with fintech companies like Ripple to gain more
access to the benefits of blockchain technology. For this investigation, it is
assumed that the acquired data are understandable, accurate, and somewhat
comprehensive. Finding a qualified expert to conduct an interview with about the
complete spectrum of the business model is challenging because the targeted
data's target audience is thought to be fairly diverse.
6) Title : Banking with blockchain-ed big data

Author : Hassani, Hossein, Huang, Xu, Silva, Emmanuel


Year : 2017
Description :
From an academic standpoint, there is a research and development gap in
blockchain-ed big data in banking, and this gap is anticipated to have a large
detrimental effect on the acceptance and development of blockchain technology
for banking. analysis of the prospects and the effect of blockchain in banking thus far.
In hope of motivating more active engagement by academics, researchers and
bankers alike, we present the most comprehensive review of the impact of
blockchain in banking to date by summarizing the opportunities and challenges
from a bankers perspective. In addition, we also discuss the impact that big data
from blockchain will have on banking data analytics in future and show the
increasing importance of filtering and signal extraction for the banking industry.
Whilst there is evidence of selected banks adopting blockchain technology in
isolation or small groups, we find the need for extensive research and
development into several aspects of banking with blockchain to overcome the
challenges which are currently hindering its adoption in banking across the globe.
The integrity of the potential of blockchain and must be publicly verifiable for
security.

7
7) Title : Blockchain Technology: Transforming Libertarian
Cryptocurrency Dreams to Finance and Banking
Realities
Author : Ittay Eyal
Year : 2017
Description :
He claims that bitcoin blockchain protocols, also known as distributed-
ledger technology, have a significant amount of potential value for the financial
technology (FinTech) industry (DLT). Blockchains' criteria and assurances for
crypto currencies, however, do not line up with those of FinTech in terms of
transaction throughput, security basics, and privacy. The writer investigates how
blockchain study further Bitcoin is bridging these gaps and overcoming some of
the remaining difficulties. In general, four levels may be found in blockchain
systems. At the top, the system customers can view an abstract representation of
the status of the system, such as a balance sheet that shows how much money is
in each account. A virtual machine layer that takes transactions and converts them
into state changes enables this abstraction.

8) Title : Innovate or stagnate Digitization in investment


managementAuthor : David Bates and Paul Migliore
Year : 2017
Description :
The authors examine the transformative technologies that will power
digital insertion initiatives in the future, how asset managers will need to stand
out in the new digital landscape, and doable steps for organizations that are still
being held back by legacy technology, processes, and behaviors to embrace the
digital frontier. Information and procedures have been digitalize by investment
managers, but we have just lately entered a new era when businesses are
reengineering every aspect of their operations on a digital foundation. Options for

8
future state designs should be developed by open communication with vendors
regarding their present and prospective product lines. Asset managers can reduce
risk by using technology that has already been tried and evaluated by a portion of
their peer group and using the scale and resources of an external supplier. As the
competitive field evolves to automation, the processing of complicated data, and
powerful AI tool-sets, these considerations will become more and more
significant components of an examination of future state choices. This essay
examines all cutting-edge technological advancements and provides arguments
for both innovation and stagnation.

9) Title : BlockChain and Financial Controlling in the System


ofTechnological Provision of Large Corporations’
Economic Security
Author : Albekov Adam Umarovich, Vovch enko Natalia
Year : 2016
Description :
They conduct the research of current trends and priorities for the
blockchain technology use in order to ensure the economic security of large
corporate entities. The subject of the research is a set of economic and
organizational and financial relations ensuring the financial controlling
effectiveness in large corporate entities, implemented with the blockchain
technology application. A conceptual analysis of the current use of blockchain
technology has been used to see the future road to its implementation. The
application of blockchain can be further analyzed considering significant proof.
The conducted analysis of the blockchain application risks and benefits
demonstrates the need in balancing risks and benefits of this technology
application. In the Russian practice the named trend is supported: the most
frequently the blockchain technology is used in financial markets.

9
10) Title : Investment Management and Financial
Innovations Author : Galyna Azarenkova Iryna Shkodina
Year : 2015
Description :
They focused on proposing the ways to reduce the negative impact of
financial technologies on financial system stability. The analysis of the financial
technologies impact on the stability of the financial system shows that the lack of
institutional support for new financial technologies is the most important catalyst
for the financial industry destabilization and the formation of financial bubbles in
various market segments. This paper considers the application of new technology
at a global level.

10
CHAPTER 3
SYSTEM ANALYSIS AND DESIGN

3.1. EXISTING SYSTEM

3.1.1. Cheque

The cheque is one of the oldest methods of cashless payment. It is a known


method to everyone. In this method, you issue a cheque for the specific amount
to someone else. The cheque gets deposited in the respective bank. The bank
processes a payment through a clearing house. The entire transaction done
through cheque gets recorded and there is a proof of payment[3]. However, there
areinstances where cheque payments get dishonored due to signature mismatch
or insufficient fund. In order to avoid such an issue, we can use other cashless
payment options.

3.1.2. Demand Draft

Demand draft is another rudimentary way of cashless transaction. It is the


safest option to receive payment from anyone. Demand draft (DD) never gets
defaulted as it is signed by the banker. The disadvantage of DD and cheque is you
need to visit a bank in order to deposit cheque and demand draft. The clearance
of cheque or DD takes additional time.

3.1.3. Online Transfer – NEFT or RTGS

The third simplest method for the cashless transaction is online transfer
using NEFT or RTGS. In order to do online money transfer, you need internet
banking facility. Online transfer using NEFT or RTGS is comparatively faster
than cheque or DD. Online transfer can be done from anywhere using internet
facility.

11
3.1.4. Credit Card or Debit Card

Credit card or debit card is another cashless payment method. The usage
of credit card and debit card was limited in India. However, usage of credit card
and debit card is increasing now because of demonetization. The limitation of this
payment method is an availability of swipe card facility (PoS) at merchant end.

3.1.5. E-Wallets

E-Wallet is next cashless payment option. E-Wallet can be used to purchase


products starting from grocery to airline tickets. In order to use E-Wallet customer
and merchant, both require a smart phone with active internet connection. The
most popular example or E-Wallet is PayPal.

3.1.6 UPI APPS

UPI is a mobile system which allows you to do various financial


transactions on your smartphone. UPI allows you to send or receive money using
virtual payment address without entering bank information. Merchants can enrol
with banks to accept payments using UPI. Like in the case of a POS machine, the
merchant would require a current account with a bank to accept UPI payments.
The examples of few UPI apps are SBI Pay, Union Bank UPI App, Phonepay,
etc.

3.1.7 Unstructured supplementary service data

You can use USSD cashless option if you don’t have a smart phone or
internet connection. Unstructured Supplementary Service Data is mobile banking
service. From any mobile phone, you can dial *99# and use this service.

You can do all these things which are available to a person with
smartphones and internet connection.

12
3.1.8. Aadhaar enabled payment system

Aadhaar Enabled Payment System (AEPS) is one of the best cashless


payment methods. AEPS is like Micro ATM it uses smartphone and a finger-print
scanner for the transaction. In order to use this facility, it is mandatory to link
your Aadhaar card to your bank account. You can use AEPS in order to perform
transactions like Aadhar to AADHAAR fund transfer, Cash withdrawn, cash
deposit, etc.

3.1.9 Disadvantages of Existing System

Delay in payments due to network or bank server issues . Deducted money


can take up to 48 to be credited again Only 6 digit PIN may not be strong enough
Hence, these disadvantages are minor and easily avoidable compared with the
huge benefits of a UPI transaction. Therefore, consider this guide to open your
account if you are a new UPI user. However, you always need to maintain proper
safety measures while transferring money via online mediums[4].

3.2 PROPOSED SYSTEM


Real-time database creation with KRYPT and Ethereum. The
implementation is done in KRYPT, React, and Ethereum blockchain which is a
constant database that has its information in JSON group and the information is
shown, synchronized over the entirety of its customers, web customers, or
versatile customers. The user of this app has to sign in and register their details
like name, mobile number, and password.
The login aspect needs the user to log in with the details of the mobile
number and PIN and login into the web application. The blocks of each user, the
number of users, and the transactions of the user are put away in the Ethereum
blockchain database has details of the group of users who wants to do their

13
details like his name, his phone number, and PIN.
The Digital signature is used for secure transactions in which every client
has a couple of keys, the private key, and the open key. The sender node signs the
transaction and broadcasts it to other users. The receiver node will sign with his
private key to get the transaction details and also broadcast it to other users. A
proof of work consensus mechanism is used which requires all the nodes to
participate in the block generation and verification process[5].
The Web Wallet application contains five modules the Signup module,
Login module, charge a Card, Use an Existing Card, and Add a new card. The
square of every client with the hash evaluation of the square, Merkle root, the
nonce, hash estimation of the past square, and the time stamp appearing in a long
number is illustrated. The Merkle route which has the hash of a considerable
number of exchanges underneath will empower new clients to download the
exchanges. If a new user downloads the Blockchain and if the transactions are
broken during the download phase, the user can utilize the Merkle tree for
downloading the transactions. Proof of work consensus is reached here where a
transaction is validated by more than 51% of users in this peer-to-peer network.
By chronologically ordering the timestamps of the transactions, the double-
spending attack is carefully avoided, and thus forking of the chain is also
prevented. There is no such implementation of the Meta mask wallet in Web
Applications, so we have devised this method. Meta mask which is used for
validating transactions in permissionless blockchain (Ethereum) and
decentralized applications has not been implemented in mobile applications.

14
3.2.1 Advantages of proposed system
The ultimate goal of a blockchain is to store information, which makes it a
database. Blockchains only differ from other database types by the way they store
data. While blockchains can be considered a database, a database is typically not
a blockchain. Databases generally don't use signed blocks to store the data

3.3 FEASIBILITY STUDY

The system would involve an analysis of the technical, economic, and social
aspects of the project to determine whether it is practical and viable. It would
involve a comprehensive analysis of the project's technical, economic, and social
feasibility, as well as an evaluation of the project's strategic fit within the
organization's goals and objectives. Based on the findings of the study, the
organization can make an informed decision on whether to proceed with the
project or explore other alternatives.

 Economical Feasibility

 Technical Feasibility

 Social Feasibility

3.3.1 Economical Feasibility

Using blockchain technology to create a money vault could have significant


economic feasibility, as it would provide a secure and decentralized platform for
storing and managing financial assets. By using blockchain, financial institutions
and other organizations could create a highly secure, transparent, and efficient
system for managing money. The blockchain's distributed ledger system ensures
that all transactions are recorded in a tamper- proof and transparent way, making
it virtually impossible for anyone to alter or manipulate data. This high level of
security is particularly important for managing financial assets, which need to be
protected from fraud and theft.
15
3.3.2 Technical Feasibility

Using blockchain technology for a money vault is feasible, and many


blockchain-based financial systems already exist. However, implementing a
secure and scalable money vault requires careful planning, design, and testing to
ensure that it meets the highest standards of security and performance.
Blockchain for a money vault is the need for strong security measures to protect
against hacking and cyber threats. This includes implementing strong encryption
and access control mechanisms, as well as regular security auditsand testing.

3.3.3 Social Feasibility


Blockchain for a money vault is the potential for greater transparency and
accountability in the management of financial assets. The use of a decentralized ledger
allows for all transactions to be recorded and verified by multiple parties, providing a
level of transparency that is not possible with traditional financial systems. This can
help to build trust among users and increase confidence in the financial system. The
use of blockchain technology for a money vault has both potential benefits and
challenges. While it has the potential to increase transparency and financial inclusion,
there are also risks related to privacy, regulation, and user adoption that need to be
carefully considered and addressed.

3.4 HIGH LEVEL DIAGRAM

Traditional wallets have many drawbacks due to which blockchain wallets have
an edge over traditional wallets. Transactions are often slow in traditional banking
systems and have to pass through an intermediary which means that there is a single
central point of failure. There is an issue with keeping track of all the transactions, and
accounts, the data can get manipulated or even corrupted across multiple systems.
Blockchain wallets reduce all of these problems and hence make the transactions
secure and safe for the users.

16
Figure 3.1 High Level Diagram

3.5 SYSTEM DESIGN

The first component of the system design would be to choose the appropriate
blockchain platform for the money vault. This would involve selecting a blockchain
protocol that meets the specific requirements of the project, such as transaction
speed, scalability, and security. Some examples of blockchain platforms that could
be used include Ethereum, Bitcoin, or Hyperledger.
Also including the selection of the appropriate blockchain platform,
development and deployment of smart contracts, creation of a user interface and
wallets, implementation of security measures, integration with other financial
systems, and ongoing maintenance and support.

17
3.5.1 UML DIAGRAMS

UML stands for Unified Modelling Language. UML is a standardized general


purpose modelling language in the field of object-oriented software engineering. The
standard is managed, and was created by, the Object Management Group. The goal is
for UML to become a common language for creating models of object oriented
computer software. In its current form UML is comprised of two major components:
a Meta-model and a notation. In the future, some form of method or process may also
be added to; or associated with, UML. The Unified Modelling Language is a standard
language for specifying, Visualization, Constructing and documenting the artifacts of
software system, as well as for business modelling and other non-software systems.
The UML represents a collection of best engineering practices that have proven
successful in the modelling of large and complex systems. The UML is a very important
part of developing objects oriented software and the software development process. The
UML uses mostly graphical notations to express the design of software projects[5].
GOALS:

The Primary goals in the design of the UML are as follows:


1. Provide users a ready-to-use, expressive visual modelling Language so
that they can develop and exchange meaningful models.
2. Provide extendibility and specialization mechanisms to extend the
coreconcepts.
3. Be independent of particular programming languages and development
process.
4. Provide a formal basis for understanding the modelling language.
5. Encourage the growth of OO tools market.

18
6. Support higher level development concepts such as collaborations,
frameworks, patterns and components.
7. Integrate best practices

3.5.2 USE CASE DIAGRAM

A use case diagram in the Unified Modelling Language (UML) is a type of


behavioral diagram defined by and created from a Use-case analysis. Its purpose
is to present a graphical overview of the functionality provided by a system in
terms of actors, their goals (represented as use cases), and any dependencies
between those use cases. The main purpose of a use case diagramis to show what
system functions are performed for which actor. Roles of the actors in the system
can be depicted.

Figure 3.2 Use Case Diagram


19
3.5.3 CLASS DIAGRAM
In software engineering, a class diagram in the Unified Modeling
Language (UML) is a type of static structure diagram that describes the structure
of a system by showing the system's classes, their attributes, operations (or
methods), and the relationships among the classes. It explains which class
contains information.

Figure 3.3 CLASS DIAGRAM

3.5.4 ARCHITECTURAL DIAGRAM

Money transfer using blockchain is a method of transferring funds that uses


a distributed ledger technology to record and verify transactions. Blockchain is a
decentralized system that allows for secure and transparent transfer of value
without the need for intermediaries, such as banks or payment processors.

20
Figure 3.4 ARCHITECTURAL DIAGRAM

21
CHAPTER 4
MODULE DESCRIPTION

4.1 MODULE LIST

User Registration and On boarding requires huge design and deliberation


efforts. When you start thinking about a user registration page, it consists of 4
fields:
● User Name
● Email Address
● Password/Confirm Password
● Phone
and then the above details are stored in encrypted format on Ethereum Database

Figure 4.1 Registration


and Stored plaintext format user name. During the data fetching System admin
have a key and plain text format user name and Ethereum database responded for the
user name and send respected details the name[6]. The System admin used his
own key to decrypt the information.
For that we have to enter on to the transaction page and we have to give
our login credentials such as
● User Name

22
● Password
● Email
● Mobile Number
and then we have to select the user which we are going to transfer our money to
that user. After the Amount entered then in next page we once again confirm for
the transaction so that we can start our transaction process. In the first phase the
amount will be deducted from our account with the help of Ethereum and then it
will be encrypted with our Private Key (For Safe Transaction) and then it will be
send to the corresponding Admin and it will be decrypted using his Public Key
and add the amount in the corresponding User Account. The user will get the
message that he will be credited with the amount that was sent by the user.
For Authentication Ethereum has keys for encryption and decryption the
details will be send by the user after the Encryption process using Public Key and
then in the Admin side he will Decrypt the details with his Private Key so that
Authentication will be Successful.

Figure 4.2 Log In

23
For the usage of our web application the user needs to add his bank account
with the help of the debit card to create account in our web application for the
transaction purpose. The user needs to add the following details
● Account Holder Name
● CVV number in the card
● Card No
So then it will be verified with the help of the system admin and also in the
bank we cross - check the account details if it is in the existence or not and if it's
not existed we have to give the alert message to the user that, the entered details
are not valid or contact bank for further process. If the details are valid then it will
be stored in the Ethereum Storage.

Figure 4.3 Add a card

In this module, Access information about the user's card and processing the
payment transaction on behalf of the user. When a user initiates a payment, the
payment app sends a request to the bank, which communicates with the existing
card payment system to check the user's card details and verify that the payment
can be processed. Once the payment is approved, the app sends the transaction
details to the existing card payment system for processing, and the payment is
completed. The app typically communicates with the existing card payment

24
system using secure protocols to ensure the safety and privacy of the user's
payment information.

Figure 4.4 Use an Existing Card

4.2 DATA FLOW DIAGRAM

Figure 4.5 Data flow diagram

25
CHAPTER 5
SYSTEM SPECIFICATION
5.1. HARDWARE SPECIFICATION

• Processors : Intel® Core™ i5 processor 4300M at 2.60 GHz or 2.59


Ghz (1 socket, 2 cores, 2 threads per core), 8 GB of DRAM
• Disk space : 320 GB
• Operating systems : Windows® 10, macOS*, and Linux*

5.2. SOFTWARE SPECIFICATION

• Server Side : Python 3.7.4(64-bit) or (32-bit)


• Client Side : HTML, CSS, Bootstrap
• IDE : Flask 1.1.1
• Back end : MySQL 5.
• Server : Wampserver 2i
• OS : Windows 10 64 –bit or Ubuntu 18.04 LTS “Bionic Beaver”

5.3. SOFTWARE ENVIRONMENT


The React.js framework is an open-source JavaScript framework and library
developed by Facebook. It's used for building interactive user interfaces and web
applications quickly and efficiently with significantly less code than you would with
vanilla JavaScript. React can be used as a base in the development of single-page,
mobile, or server-rendered applications with frameworks like Next.js. However, React
is only concerned with the user interface and renderingcomponents to the DOM, so
creating React applications usually requires the use of additional libraries for routing,
as well as certain client-side functionality.

26
Notable feature is the use of a virtual Document Object Model, or virtual
DOM. React creates an in-memory data-structure cache, computes the resulting
differences, and then updates the browser's displayed DOM efficiently. This
process is called reconciliation[7]. This allows the programmer to write code as
if the entire page is rendered on each change, while the React libraries only render
sub components that actually change. This selective rendering provides a major
performance boost.

5.4. LIBRARIES:
5.4.1 Ethereum
Ethereum is a technology that's home to digital money, global payments,
and applications. The community has built a booming digital economy, bold new
ways for creators to earn online, and so much more. It's open to everyone,
wherever you are in the world – all you need is the internet.
The core data structures that exist in Ethereum consist of an optimized
implementation of Merkle Patricia tries. This article aims to provide readers with
an improved understanding of how Ethereum’s data storage layer operates and
the different intricacies that make up the ‘world state’. Specifically, I’ll be
discussing different tree structures, their beneficial properties, Ethereum’s
modified Merkle Patricia tree, the different tries within Ethereum, and their
corresponding purposes. In addition, there are helpful exercises and resources at
the bottom of this article to solidify a reader’s understanding.

5.4.2 React.js
The React.js framework is an open-source JavaScript framework and
library developed by Facebook. It's used for building interactive user interfaces
and web applications quickly and efficiently with significantly less code than you
would with vanilla JavaScript.
React can be used as a base in the development of single-page, mobile, or
server-rendered applications with frameworks like Next.js. However, React is

27
only concerned with the user interface and rendering components to the DOM, so
creating React applications usually requires the use of additional libraries for
routing, as well as certain client-side functionality. Notable feature is the use of a
virtual Document Object Model, or virtual DOM. React creates an in-memory
data-structure cache, computes the resulting differences, and then updates the
browser's displayed DOM efficiently[8]. This process is called reconciliation.
This allows the programmer to write code as if the entire page is rendered on each
change, while the React libraries only render sub components that actually
change. This selective rendering provides a major performance boost.

5.4.3 Express.js
Express.js, or simply Express, is a back end web application framework for
building RESTful APIs with Node.js, released as free and open-source software
under the MIT License. It is designed for building web applications and APIs. It
has been called the de facto standard server framework for Node.js.

5.4.4 Sandbox API


An API sandbox is a feature that allows developers to imitate the
characteristics of a production environment in a dedicated testing environment.
Simulate error scenarios with your API, like latency in the API’s response time,
error conditions or simulating a non-responsive API completely.

Within the sandbox, developers create simulated responses from all APIs
the application relies on. Whether you are an API consumer or an API provider,
having an API sandbox is a powerful way to harden any applications that use
APIs. Creating a really great sandbox requires a few key considerations.

28
CHAPTER 6
IMPLEMENTATION AND TESTING

6.1 MODULE IMPLEMENTATION


6.1.1 Registration
Phase – I consist of the creation and of the creation and maintaining the
details of the user where the creation of account in Blockchain medium where the
medium can be accessed from the browsers Extension. At this point of time we
create a separate account a user in Ethereum[2]. After the successful creation of
theaccount we reduce the work of the user by making a separateAPI Key for the user.
When the user has an API key he is completely authorized for a transaction using
the medium we provide. The completion he can be used methods like crypto
transaction and Card transaction The Phase - I make the user for the Authorisation
of the user and the assurance of the data privacy.

Registration
export default class FetchDepositAddressesClass extends Vue {
required = [(v: string) => !!v || 'Field is required']error = {} loading =
false showError = false
// methods
onErrorSheetClosed() {
this.error = {}
this.showError = false
}
async makeApiCall() {
this.loading = true
try {
await this.$businessAccountAddressesApi.getDepositAddresses()
} catch (error) {
this.error = error
29
this.showError = true
} finally {
this.loading = false
}
}

Figure 6.1 Registration

6.1.2 Authentication

The Completion of Phase – I unleash the power a common user to transfer


his/her cash transaction with the available method. The Phase – II provides a
proper UI where user can be dealt with the transaction process. This provides the
complete backend support such as making a transaction with the assured data
privacy and amount security[8]. The transaction can be done with the proper addition
of the medium details or the existing details if the user is a regular user. This
phase uses the API key which is stored a key for the user in database to identify
and make the initiation of the transaction. The Keys are analysed in both backend
and the database so that the securable interface is provided. The completion of
this phase makes the user to initialise the transaction as provided by the UX of
the user.
Add Card
const publicKey = await this.$paymentsApi.getPCIPublicKey()
const encryptedData = await openPGP.encrypt(cardDetails,
30
publicKey)payload.encryptedData = encryptedData.encryptedMessage
payload.keyId = encryptedData.keyId
if (this.isMarketplace) {
const marketPlacePayload: CreateMarketplaceCardPaymentPayload = {
marketplaceInfo: this.marketplaceInfo,
...payload,
}
this.payment = await this.$marketplaceApi.createPayment(
marketPlacePayload
)
} else {
this.payment = await this.$paymentsApi.createPayment(payload)
}
this.showPaymentStatus = true } catch (error) { this.error = error
this.showError = true
} finally {
this.loading = false
}

Figure 6.2 Authentication

31
6.1.3 Transaction using Cards

This phase is initialised when the phase – II is completed. Phase – III


comprises of the collective processing of the data provided and the process of
transacting and storing the transaction details in Ethereum space called block. The
process contains the verification of the both users and the storage access towards
the blockchain space[9]. The server is responsible for the maintenance and the
initialisation of the database.

The server returns the status of the transaction when the transactionprocess
is completed. The transaction status determines the current status of the process since
determines the endpoint. The user is notified on the status of the transaction so
that the user is always updated whenever a transaction is generated.

Money Transfer

export default ({ store }: any, inject: any) => {


const instance = cardsApi.getInstance()
instance.interceptors.request.use(
function (config) {
store.commit('CLEAR_REQUEST_DATA')
store.commit('SET_REQUEST_URL',
`${config.baseURL}${config.url}`)
store.commit('SET_REQUEST_PAYLOAD', config.data)
if (store.state.bearerToken) {
config.headers = { Authorization: `Bearer ${store.state.bearerToken}` }
}
return config
},
function (error) {
return Promise.reject(error)

32
})
instance.interceptors.response.use(
function (response) {
store.commit('SET_RESPONSE', response)
return response
},
function (error) {
return Promise.reject(error) }
)
inject('cardsApi', cardsApi)

}
Figure 6.3 Money Transfer
The purpose of testing is to discover errors. Testing is the process of trying
to discover every conceivable fault or weakness in a work product. It provides a
way to check the functionality of components, sub-assemblies, assemblies and/or
a finished product it is the process of exercising software with the intent of
ensuring that the Software system meets its requirements and user expectations
and does not fail in an unacceptable manner. There are various types of test.

33
6.2 TYPES OF TESTING
6.2.1 Unit testing

Unit testing involves the design of test cases that validate that the internal
program logic is functioning properly, and that program inputs produce valid
outputs. All decision branches and internal code flow should be validated. It is
the testing of individual software units of the application .it is done after the
completion of an individual unit before integration. This is a structural testing,
that relies on knowledge of its construction and is invasive. Unit tests perform
basic tests at component level and test a specific business process, application,
and/or system configuration.
6.2.2 Split testing

Split testing is a commonly used method in online experiments to compare


two different versions of a product or service, and see which one performs better.
In the context of fake news detection, Split testing can be used to evaluate the
effectiveness of different algorithms or models in identifying and flagging fake
news. When conducting an Split test in fake news detection, it's important to
ensure that the test is conducted fairly and that both groups are as similar as
possible, so that any differences in performance can be attributed to the algorithm
being tested. It's also important to use a large enough sample size to ensure that
the results are statistically significant. Overall, Split testing can be a useful tool
in evaluating the effectiveness of different fake news detection algorithms, and
can help researchers and developers to improve their algorithms over time.
6.2.3 Linguistic-based testing

Linguistic testing can be a useful tool in detecting fake news. By analyzing the
language used in a news article or social media post, linguistic tests can reveal

34
patterns or characteristics that are common in fake news. This involves analyzing
the language used in the news article, such as the grammar, vocabulary, and
syntax, to identify patterns that are characteristic of fake news, such as misleading
headlines and misleading phrasing. Overall, linguistic testing can be a valuable
tool in the fight against fake news. By identifying language techniques that are
commonly used in fake news, we can develop better algorithms for detecting and
filtering out false information.
6.2.4 Integration Testing

Integration tests are designed to test integrated software components to


determine if they actually run as one program. Testing is event driven and is more
concerned with the basic outcome of screens or fields. Integration tests
demonstrate that although the components were individually satisfaction, as
shown by successfully unit testing, the combination of components is correct and
consistent. Integration testing is specifically aimed at exposing the problems that
arise from the combination of components.
6.2.5 Functional Testing
Functional tests provide systematic demonstrations that functions tested
are available as specified by the business and technical requirements, system
documentation, and user manuals. Functional testing is centered on the following
items:

Valid Input : identified classes of valid input must be accepted.


Invalid Input : identified classes of invalid input must be rejected.
Functions : identified functions must be exercised.
Output : identified classes of application outputs must beexercised.
Systems/Procedures : interfacing systems or procedures must be invoked.
Organization and preparation of functional tests is focused
on requirements,
key functions, or special test cases. In addition, systematic
coverage pertaining to

35
identify Business process flows; data fields, predefined processes, and successive
processes must be considered for testing. Before functional testing is complete,
additional tests are identified and the effective value of current tests is determine

6.2 TEST CASES


Reg Test Case Sample Input Sample Output
No Title
1 Pay With Amount Status:Transaction success
Card Card Number Amount Debited :18
CVV Description:Payment
Description
Status :Transaction Failed
Description: Payment
2 Balance Card Number Holder Name: *********
Checking CVV Card Number :
Expiry Month 4007400001746436
Expiry Year Balance Amount: 18000$
Card Holder Name
Invalid Card !!
3 Payment Payment ID Status: Transaction success
Status Amount Debited :18
Description: Payment
Status :Transaction Failed
Description: Payment

Table 6.1 Test Cases

36
6.3 RESULTS:
Home Page

Figure 6.4 Home Page

Add an New Card

Figure 6.5 Add an New Card

37
Card was added Successfully

Figure 6.6 Card was added Successfully

Pay with a Card

Figure 6.7 Pay with a Card

38
Amount Transferred Successfully

Figure 6.8 Amount Transferred Successfully

Figure 6.9 Charge a Card

39
CHAPTER 7

CONCLUSION AND FUTURE WORK

7.1 CONCLUSION

In this modern society, everyone has a virtual identity where we are


tracked with huge data about us. Thus, By this paper, we provide a private method of
transaction for your money which is mandatory for our life. We have
implemented some solutions for transaction privacy with some blockchain
concepts.The money market is a vibrant market, affecting our everyday lives. As
the short- term market for money, money changes hands in a short time frame and
the players in the market have to be alert to changes, up to date with news and
innovative with strategies and products . The withdrawal of non-bank entitiesfrom
the inter-bank call-money market is linked to the improvement of settlement systems.
Any time-bound plan for the evolution of a pure inter- bank call/notice money
market would be ineffective till the basic issue of settlements is addressed.In brief,
various policy initiatives by the Reserve Bank have facilitated development of a
wider range of instruments such as market repo, interest rate swaps, CDs and
CPS.
This approach has avoided market segmentation while meeting demand for
various products. These developments in money markets have enabled better
liquidity management by the Reserve Bank. The money market specializes in debt
securities that mature in less than one year Money market securities are very
liquid, and are considered very safe.
7.2 FUTURE ENHANCEMENT

As we are involved in protecting the data of the common man we may


extend our project ideas with more transfers of cashless money like bills and
Ticket booking etc. With this knowledge of securing private data, we may intrude
on various privacy-required problems to solve the actual procedure.

40
REFERENCES
[1] Arun Khatri, Anjali Kaushik.; SYSTEMATIC LITERATURE REVIEW ON
BLOCKCHAIN ADOPTION IN BANKING.; 2021.; Systematic literature
review on blockchain adoption in banking. Journal of Economics, Finance and
Accounting(JEFA), 8(3), 126-146..
[2] Abhishek Gupta.; Stuti Gupta.; Blockchain Technology: Application In Indian
Banking Sector.; Delhi Business Review.;Vol.19,No. 2(July-December2018).;
[3] Ye GUO and Chen Liang.; Blockchain application and outlook in the banking
industry.; Financial Innovation(2016)2:24,Springer Open.;
[4] Dan Barnes.; Blockchain maneuvers: applying Bitcoin's technology to
banking.; The Banker.; May-2015.
[5] Sven Magnus Degene.; How Blockchain affects Business Models in
International Banking.; 11th IBA Bachelor Thesis Conference,Enschede, The
Netherlands.;July 10th,2018.
[6] Hassani, Hossein, Huang, Xu, Silva, Emmanuel.; Banking with blockchain-
ed big data.; Journal of Management Analytics, Vol. 5 Issue 4, p256-275.;
December-2018.
[7] Ittay Eyal.; Blockchain Technology: Transforming Libertarian
Cryptocurrency Dreams to Finance and Banking Realities.;THE I EEE
COMPUTER SOCIETY:COVER.;2017.
[8] David Bates and Paul Migliore.; Innovate or stagnate Digitization in
investment management.; Journal of Securities Operations & Custody Vol.
10.;Jun-18.
[9] Albekov Adam Umarovich, Vovch enko Natalia. European Research Studies
Journal.2017.BlockChain and Financial Controlling in the System
[10] Galyna Azarenkova Iryna Shkodina. Investment Management and Financial
Innovations. 2018. The influence of financial technologies on the global financial
system stability.

41

You might also like