DBank is a simple decentralized finance (DeFi) banking application built on the Internet Computer (ICP).
It allows users to deposit and withdraw tokens while demonstrating smart contract development using Motoko.
- DFX SDK – Local development and deployment
- JavaScript, HTML, CSS – Frontend
- Webpack – Frontend build tool
- Motoko – Smart contract (canister) language
- Internet Computer (ICP) – Decentralized cloud platform
- Deposit balance into the bank
- Withdraw balance from the bank
- Persistent state stored inside an ICP canister
- No traditional backend server or database
- Frontend communicates directly with the canister
- The backend logic runs inside a canister
- The canister stores balance in memory
- The frontend directly calls canister methods
- No Express, no database, no REST API
dbank/
├── src/
│ ├── dbank/ # Motoko backend (main.mo)
│ ├── dbank_assets/ # Frontend source files
│ └── declarations/ # Generated canister bindings
├── dfx.json # IC project configuration
├── package.json # Node dependencies
├── package-lock.json
├── webpack.config.js
├── README.md
Follow these steps to run the project on your local machine.
Make sure you have the following installed:
- Node.js (LTS)
- DFX SDK (Internet Computer)
- Linux or macOS
Tested on Arch Linux
1️⃣ Clone the repository
git clone https://github.com/zenox666/Blockchain-Banking-DApp.git2️⃣ Navigate into the project folder
cd <paste the project folder path> 3️⃣ Install project dependencies
npm install4️⃣ Start the local Internet Computer replica
dfx start --cleanKeep this terminal open
5️⃣ Deploy the canisters
Open a new terminal in the same folder and run
cd dbank
dfx deploy6️⃣ Open the application
-
Copy the Frontend Canister URL shown in the terminal
-
Paste it into your browser
- This project uses DFX version 0.9.3 for compatibility.
- The following auto-generated folders are excluded from version control:
node_modules/dist/.dfx/
- These folders are recreated automatically when running the project.