Author: Rijul Luman ( Masters in Computer Science - Sacramento State University )
Location: Sacramento, California
Contact: +1 (916)796-7815
Email: [email protected]
LinkedIn: www.linkedin.com/in/rijulluman
Availability: June 2019 - Software Development (Full-Time)
Location Preference: Sacramento, San Francisco, San Jose, Los Angeles
This is a cryptocurrency based on a combination of Proof-of-Work and Proof-of-Stake. The main objective of this project was for me to learn the inner workings of cryptocurrencies(especially Bitcoin) It took around 40 hours to develop this project.
I have used MongoDB to store the blockchain, Redis to store Unconfirmed Transactions and user wallet details.
This project covers the following features:
- Create a new Public/Private Key pair (Wallet address)
- Check any wallets balance (using public key)
- Send and receive coins (Via Wallet Node)
- Miner Software
- Ability to update the blockchain, and manage forks in the blockchain
Demo Presentation of this Project available here: https://youtu.be/WS4KbFY5Zwo Clear version of the video used in the Demo Presentation: https://youtu.be/tzT791uWvkE
All the features are developed using Node.js. I am aware Node.js is not a good language for such a security sensitive project, but due to time limitations I chose the language I am most comfortable with. (I had 2 other projects for other courses in the same semester and had only 4 weeks before my Finals to complete all these projects)
All the functionalities are available as API endpoints.
This project assumes that all connected network nodes are authenticated and trust-worthy. But in real-world scenarios this assumption makes this project completely unusable. This project is not complete and has a lot of work remaining, but I have decided to stop working on it as it has a very limited future, also there may be exploits in the Chrome V8 engine that can be used to find serious loop-holes in this project.