IMPORTANT!
Please scroll all the way down for instructions on how to run the downloaded project.
Inspiration
Traditional cryptocurrencies are everywhere. On the news, you can't go a single day without seeing a mention of cryptocurrencies. Since the rapid popularity of Bitcoin in 2017/2018, there are over 4,000 different cryptocurrencies today. Carbon takes inspiration from these cryptocurrencies to add one more to the enormous list of already existing cryptocurrencies.
What it does
Carbon is essentially a blockchain cryptocurrency. What happens is that through this blockchain, there are different pieces of data and these data pieces are added to the blockchain every time a new transaction is made in the cryptocurrency, such as when someone transfers money to another account or when a carbon is mined. Along with this, there are also security features such as client server networks that synchronize all blockchains. This ensures that if one blockchain is tampered with by a hacker, all of the blockchains can correct this error. Another feature is also SHA-256 hashing to encode all of the transaction details, just like Bitcoin.
How we built it
I built it the entire project using only Python 3 and the Python Standard library. I used no additional libraries. The entire project is separated into multiple files, with the carbon file being where you can initialize the project. The rest of the files are merely there for organizational purposes. I built a client server network using Python's standard WebRTC features. From there, i built a standard blockchain and connected all blockchains together with the network I built and from there I added the rest of the easier features such as making transactions and mining for Carbon.
Challenges we ran into
Some of the challenges I ran into was creating the blockchain in the first place because while I did understand how the theory of a blockchain worked, I didn't have any practical experience with making one and this took up a lot of time while I tried to sort out the errors I was getting. After this, I also had issues trying to link all of the blockchains and since I was only on one computer, I couldn't test it and had to create a virtual machine to test it.
Accomplishments that we're proud of
I'm very proud that I was able to overcome the challenges that I ran into especially since they took me a really long time. This improved my practical coding skills a lot because instead of only having the knowledge of how to make one, I was able to implement what I was thinking off in my head. This was the hardest project I have ever made and I'm super proud of myself.
What we learned
I learned how to implement data structures such as blockchains and how to use real-time WebRTC to connect multiple data structures together and compare their data online. In addition to this, I also learned how to fix problems that I was having (and no, it was not searching on stack overflow).
What's next for Carbon
Next, I would like to implement a website so that it can be a web based cryptocurrency so that everyone with an internet can easily access it. In addition, I would also like to make an API for this so that other aspiring developers can use my code for their own projects.
Instructions to run
Download the project below.
Open the folder titled Carbon.zip.
Extract the folder.
Ensure that all files are there.
Open command prompt.
Navigate to the folder. (if you have downloaded it in the default, this should be cd downloads
then cd Carbon
)
Once you have done so, run:
python carbon
You should see a list of possible commands for you to run.
You can try out all of these different commands. (NOTE; You will need to create an account before running most of the actions.)
Have fun!
Built With
- blockchain
- cryptocurrency
- python
Log in or sign up for Devpost to join the conversation.