LCDWallet Server is the backend server for a blockchain cryptocurrency system utilizing Proof of Stake (PoS) consensus mechanism. It is developed using NodeJS, ExpressJS, and TypeScript, with real-time updates facilitated by WebSocket.
You can find the frontend repository here: https://github.com/Dat-TG/LCDWallet
Demo video here: https://youtu.be/vmtM5jB34fs?si=aGRTp-32N25Zo8Zr
- Overview
- Features
- Tech Stack
- Project Details
- Proof of Stake Workflow
- Installation and Running Locally
- API Documentation
- 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
- NodeJS
- ExpressJS
- TypeScript
- WebSocket
- 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-Server.git cd LCDWalletServer
-
Install dependencies
npm install
-
Run the server
npm start
-
Access the API documentation Open your browser and navigate to: http://localhost:3000/api-docs/
Detailed API documentation is available at: http://localhost:3000/api-docs/
- 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