LCDWallet is the frontend for a blockchain cryptocurrency system that utilizes the Proof of Stake (PoS) consensus mechanism. It is developed using ReactJS, TypeScript, and Material UI, with real-time updates facilitated by WebSocket and state management using Recoil.
You can find the backend repository here: https://github.com/Dat-TG/LCDWalletServer
Demo video here: https://youtu.be/vmtM5jB34fs?si=aGRTp-32N25Zo8Zr
- Overview
- Features
- Tech Stack
- Project Details
- Proof of Stake Workflow
- Installation and Running Locally
- Contributors
- Additional Information
- 🔑 Create wallet by keystore file (password) or by mnemonic phrase
- 🔐 Login using keystore file, mnemonic phrase, or private key
- 💸 Send transactions
- 🚰 Faucet for getting free tokens
- 🏦 Register as a validator
- 📜 View latest blocks
- 🕒 View transaction history
- 📊 View transaction statistics
- 💰 View balance
- 🔄 View transaction pool
- 📈 View mining statistics
- 🌐 Real-time updates via WebSocket
- 🚪 Logout
- 📉 Change stake or unregister as a validator
- ⚛️ ReactJS
- 🟦 TypeScript
- 🎨 Material UI
- 🌐 WebSocket
- 🧪 Recoil
- Student ID: 20120454
- Name: Cong-Dat Le
- Instructor: M.S. Van-Quy Tran, M.S. Duy-Quang Tran, M.S. Nguyen-Kha Do
- Module: Advanced Topics in Software Development Technology
- Validator Selection: Validators are chosen based on their stake. Higher stakes increase the chances of being selected.
- Block Creation: The selected validator creates a new block, signs it, and broadcasts it to the network.
- Transaction Verification: Other nodes in the network verify the transactions in the new block.
- Block Addition: Once verified, the block is added to the blockchain, and the validator receives a reward.
- Consensus Maintenance: The network maintains consensus by accepting the longest valid chain.
- NodeJS
- npm (Node Package Manager)
-
📥 Clone the repository
git clone https://github.com/yourusername/LCDWallet.git cd LCDWallet
-
🔧 Install dependencies
npm install
-
🚀 Run the application in development mode
npm run dev
-
🏗️ Build the application
npm run build
-
🔍 Preview the build
npm run preview
-
🌐 Access the application Open your browser and navigate to: http://localhost:5173
- Cong-Dat Le (Student ID: 20120454)
For any additional information, improvements, or queries, please feel free to contribute or reach out.
- Email: dat13102k2@gmail.com
- Email: 20120454@student.hcmus.edu.vn
- Github: Dat-TG