# README
Blockchain Based Banking System
Notice
Check the working model on branch v1. This main branch is/going to be redeveloped for a better system.
Introduction
Overview
In today’s rapidly evolving financial landscape, the need for secure, transparent, and efficient banking systems has never been more critical. Traditional banking infrastructures, though widely used, often face challenges such as high operational costs, vulnerability to fraud, and delays due to centralized processing. To address these issues, our blockchain-based banking system leverages Distributed Ledger Technology (DLT), specifically Hyperledger Fabric, to create a decentralized, tamper-resistant, and highly secure banking backend.
This project introduces a blockchain-based solution designed to handle core banking operations like account management, transaction processing, and compliance in an efficient and transparent manner. By using blockchain, we ensure that all transactions are recorded immutably, providing robust security and a clear audit trail, critical for regulatory compliance in the financial sector.
Purpose
The primary purpose of this project is to build a backend infrastructure for a banking system that utilizes blockchain to:
- Enhance Security: Using cryptographic principles, our blockchain solution will protect sensitive data and transactions from unauthorized access and fraud.
- Ensure Transparency: All transactions are permanently recorded on the blockchain, making them transparent and auditable for regulators and customers alike.
- Improve Efficiency: By automating transaction validation through smart contracts, the system reduces reliance on manual processes, speeding up operations and reducing costs.
Project Goals
The main objectives of the blockchain-based banking system are:
- Decentralized Account and Transaction Management: Enable seamless creation, management, and maintenance of user accounts and transactions in a decentralized ledger environment.
- Smart Contract Integration: Leverage smart contracts for automating compliance checks, transaction validations, and other repetitive banking operations.
- Immutable Audit Trails: Provide regulators and auditors with secure, transparent, and immutable access to transaction records.
- Regulatory Compliance: Adhere to essential banking regulations, including GDPR, AML (Anti-Money Laundering), and KYC (Know Your Customer), through blockchain integration.
Prerequisites
- Linux Environment
- Bash
- Docker and Docker-Compose
- NodeJS and npm
- Golang
- Curl
- Git
NOTE
Read all the code used in the project, for safety reasons.
Setup
- Run
bash main.sh
- Use the menu and run 2,3, and 4 to Create working directory, start the blockchain network and deploy the chaincode
- Run
npm install
to get all required packages. - Run
node enrolladmin.js
to enroll the blockchain network admin. - Run
node grpc-server.js
to start grpc.