Decentralized Banking Application using Blockchain
Blockchain is revolutionizing the speed and efficiency of transactions. Let us think of a situation, where we go to a bank and would like to transfer some amount to another person. The bank registers this in their internal servers and must update the record in both receiver end and the server end. This procedure is simple, but it is also vulnerable to hacking or changing of data. By using blockchain, we can reduce the risks posed by the regular banking system. Thus we are implementing a decentralized banking application using blockchain.
Timeline
-
February - present
My Role
-
Front-end and solidity implementation.
Project Overview
An interactive interface is designed, which is used for user registration, deposit, withdrawal from the user account and developed through HTML, Solidity, JavaScript, and Node Js. The Back-end of the proposed system consists of a smart contract.
Starting from registration, deposit, withdraw and transfer operations can be made and all of these tasks will be managed by the contracts. Remix IDE is used to test whether smart contracts are functioning properly. Smart contracts are written using the Solidity programming language. Most of the algorithms of the proposed system are included in these contracts and JSON files are created corresponding to those smart contracts. Smart contracts are not directly implemented in the Main Network. Instead, contracts are first deployed to the Test Network so that any problems in the contracts can be identified and solved. After eliminating all the defects, the contracts are then uploaded to the main network.
Ganache-CLI Ethereum network is implemented to develop, deploy and test smart contracts. The byte codes and ABIs of the smart contracts located in JSON files are then deployed to the URL of the Ganache by HTTP server. After deploying the smart contracts to Ganache, the addresses of the smart contracts are returned and saved. The front-end of the proposed system interacts with the smart contracts using the contract's addresses and byte code. HTTP Server works as the interface between the Ganache and Front-End. It creates a bridge between the test network and the implemented DAPP. The Ganache contains each and every transactional record that happens in the system.
Our proposed concept in the project excludes the use of miners or tokens because transactions must go through a bank in a Banking System. Only banks can add a new block, no one else has an authority to add a block even though they are a part of the system. If person A has to transfer money to person B, then the banking system will first verify, validate and record the transaction and then create a new transaction in the block. This system uses the SHA-256 algorithm.
The Final Product (till now)
This is my final year project as per the academics. I am currently working on it. I will update the site as soon as I finish it.