Skip to content

🏦 Decentralized banking system is a DApp built on Ethereum blockchain with smart contract on solidity.

License

Notifications You must be signed in to change notification settings

ahmetozlu/decentralized_banking_system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Decentralized Banking System (DeFi Bank)

This repository focuses on development of a decentralized banking system which is a DApp built on Ethereum blockchain with smart contract on solidity.

DeFi Bank provides Witdraw, borrow and payoff fucntionalities. All the data and business logic are stored and run on Ethereum blockchain by smart contracts.

Note: The project is on just initial status. It will be developed with regular commits day by day.

Theory

2019 was the year of Decentralized Finance, aka DeFi. Simply put DeFi is the collective name given to an ecosystem of financial applications built on top of the blockchain also known as Decentralized Banking. The main aim of DeFi is to create a financial service ecosystem that’s open-source, permissionless, transparent and without any central authority. Within this ecosystem, the users have full control over their assets and they can interact with the ecosystem through decentralized applications (dApps).

Smart contracts are at the heart and soul of DeFi. A contract is a legally binding document between two parties, which is overseen by a third-party, usually a lawyer. A smart contract works similarly, except for two game-changing modifications – it is self-executing and doesn’t need a third-party for overseeing. [1]

Decentralized Banking Use Cases

Some of the popular DeFi use cases, namely:

  • Borrowing and Lending.
  • Monetary banking services.
  • Decentralized marketplaces. And, in this study, DeFi Bank provides borrowing and lending which are implemented on solidity with smart contracts.

DeFi Bank Capabilities

Here are three main functionalities of DeFi Bank provides. Witdraw, borrow and payoff are provided for now but the functionalities will be improved day by day.

Installation

Setup

  • Node.js

    sudo curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
    nvm install 12.18.3
    node -v
    
  • Truffle

    sudo npm install -g [email protected] --unsafe-perm=true
    
  • Ganache installation guide can be found in here.

  • MetaMask installation guide can be found in here.

Commands

  • Install necessarily Node.js packages

    npm install
    
  • Deploy smart contracts to the Ethereum blockchain

    truffle migrate --reset
    
  • Deploy and run the front-end application

    npm start run
    
  • Run the scripts to issue tokens

    truffle exec scripts/issue-tokens.js
    

Demo of the DApp with the screenshots can be found on this wiki page.

Citation

If you use this code for your publications, please cite it as:

@ONLINE{
    author = "Ahmet Özlü",
    title  = "DeFi Banking System",
    year   = "20212,
    url    = "https://github.com/ahmetozlu/decentralized_banking_system"
}

References

This project was built on top of Dapp University implementation, here you can find more details.

Author

Ahmet Özlü

License

This system is available under the MIT license. See the LICENSE file for more info.