Our own Cryptocurrency
Chamakta Sikka is our attempt to create our own Cryptocurrency System from scratch using Blockchains.
- Ravi Maurya
- Shreyas Penkar
- Nikheel Indanoor
- Arnav Ganatra
- Aditya Patkar
- Archeel Parekh
- Create a .env file in root directory of the project
REACT_APP_MODE=PRODUCTION
- Build the react frontend
npm run build
-
Create a virtual environment for python, activate the virtual environment.
-
Install Python libraries
pip install -r requirements.txt
- Inside the api/launchapi.txt, change the ports list to number of ports wanted
ports = [5000, 5001]
- Launch multiple terminals and run this command on seprate terminals
cd api
python app.py 5000
cd api
python app.py 5001
etc...
- Launch one extra terminal and run this command to connect the nodes together
cd api
python launchapi.py
- Now in your browser open the ports in different tabs
http://localhost:5000/
http://localhost:5001/
etc...
Chamakta Sikka is our attempt to create our own Cryptocurrency System from scratch using Blockchains. The main aim for our project was to learn how Blockchain and Cryptocurrency works, understand the core concepts and then try to create our own system.
The final product that we have made is a Web Application. Multiple Users running on different local ports would login to the system. Each user will receive a his public and private keys which are generated using RSA. The user can pay amount in csk (our cryptocurrency unit). Paying amount to another user goes into the Mempool. Then at any point of time another user called as the Miner could mine a block. This process takes the transactions from the Mempool and creates and mines a new block into the Blockchain. After this according to the transactions which have been mined in the block, the wallet of each user updates.
- GitHub repo link: https://github.com/Shreyas-Penkar/ChamaktaSikka
- Drive link: https://drive.google.com/drive/folders/1BVFH3Wo46ZNrbqi4xoQLw5c254GyAWiQ?usp=sharing
Tools and technologies that you learnt and used in the project.
- Frontend - Javascript, ReactJS
- Backend - Python
- APIs - Flask
- SocketIO
- Blockchain
Here are things we learned during Skill Up 2.0
- Ravi Maurya -
It had been an amazing journey working on this project. The main core of this project is based on Blockchains, so I got to learn Blockchains in deep. We tried to implement everything on our own as we wanted to learn the fundamentals of Blockchain, this means too many bugs and errors, which also means so much to learn from it. - Shreyas Penkar -
It was awesome working as a leader in this project. I learnt how Blockchains work from scratch giving me a clear understanding of the various moving pieces and concepts regarding Blockchain. I gained many useful skills related to management, leadership, team-work and also got to know a lot about my co-workers. It was fun working with them on this project. So, overall it was a huge success. - Nikheel Indanoor -
Working in a team teaches you a lot not just about the project but other aspects of team work as well. We tried to implement the cyptocurrency from very basics, so I got to learn about BlockChain and different other concepts of cryptocurrency in detail. Solving different difficulties and bugs along the way helped me to improve on my problem solving skills. - Arnav Ganatra -
I learnt a lot about blockchains and encryption. I learnt about Rivest-Shamir-Adleman (RSA) encryption and the math behind it. It is a public-key cryptosystem that is widely used for secure data transmission. A public-key system is where the encryption key is public and the decryption key is private. Came accross various protocols and applied them in real fashion.
Here are few things that we want to add in future
- Increasing Security
- Mobile App
- GPU Support for Mining
- Writing Tests