I think there are many professions in the world in which people are very dependent on each other and need to work together. This is no different in programming. There are tons of developers working on open source projects in their spare time, and the community can’t thank them very much.
Many people like StackOverflow because if you answer questions, you get reputation points and it shows well in your portfolio. But what if this could be done outside of StackOverflow? What if you could transfer the points you received for helping fellow developers, support them or open source projects? What if developers could "pay" each other directly? (Later in the article, I will tell you why I put it in quotation marks.) How great would it be if there was a cryptocurrency just for developers, designers and IT enthusiasts and no bank or government would interfere?
Well, I decided to make one and call it CodersCoin…
Even if no one uses it (not even the dog uses a lot of my projects), it would still be a cool project, I thought. That’s how I started the deve... “Wait, Peter. You don’t know shit about how cryptocurrencies work”, you may ask.
Actually, I have been studying the topic for a year now, and I thought that there was no better way to expand my knowledge than with a project.
So after much struggle to understand how cryptocurrencies and blockchains work from a developer’s point of view, I started thinking about how to make my idea of developers’ cryptocurrency work. In this article I describe the problems I faced.
Token vs coin
There was also the possibility that instead of writing a completely unique cryptocurrency and blockchain, I would create a token or altercoin on some existing platform. However, this did not hold up, on the one hand, because you have to pay for it, and I’m a proletarian. On the other hand, because I wanted to develop a lightweight cryptocurrency that could be integrated into a Github account. Develop and not alter.
Which programming language should I use?
I have heard of many programming languages that are specifically used for blockchain and web3 development. Such is the case with Solidity. The problem with this was that so far I have not dealt much with the programming language itself, and as far as I know, it is used to develop things related to Ethereum. There was also Rust, which I also didn’t use much.
Since my goal was for my program to run on almost all hosted platforms (especially the free ones with limited capacity, because we are proletarians, aren’t we?), I was looking for a light and fast language. My first choice was Python, although it is by no means the fastest programming language. It’s okay, after all, it’s only about thousandths of milliseconds…
I wrote the first prototype of the blockchain in Python very happily, but I realized that playing with a bit more data traffic and Python on a free hosting service is not the best idea. I would have had problems with asynchronous functions and protocol creation anyway. So I switched to NodeJS. NodeJS turned out to be much better and I got further in 1 day than Python in 3 days. In it, I also wrote the blockchain prototype and functions that are necessary for connecting transactions and blocks or for hash generation.
Blockchain storage difficulties
As those who are already familiar with blockchain technology know that in many cases the blockchain is distributed among Nodes, and these Nodes compare and validate the blocks to some extent. Yes, but since this is a brand new project, there is no helpful node-hosting community and we are still proletarians, this is not a solution, at least for now.
It was no fairy tale, the blockchain had to be stored somehow. Opening in a somewhat capitalistic way, centrally, as long as there are no nodes and the project is not successful. That is why a central database was needed, and for free, of course. My first idea was that the blockchain would be stored in a huge JSON file on the server and things would be written into it. Anyone who is a developer must be smiling like a wild apple right now. It is well known that writing or reading a file is an I/O process, which takes a lot of time and capacity, especially if it is a huge file. And the blockchain will be huge after a while. But that didn’t really deter me from trying this kind of solution. Yes, but there was another problem, which made me give up on storing it in the file for good.
Good old hosting. None of the free hosting services allowed persistent file storage. Each only temporarily stored the file and the data written to it until the system went to sleep. From then on, everything was deleted. As lazy as I was, I needed to integrate a database into the software.
Fortunately, I realized that I had previously pocketed MongoDB Atlas resource extensions within the framework of one of Github’s programs. It wasn’t a lot of resources either, but at least it had enough to store the blockchain in the early days. To this end, I started to integrate the MongoDB database into CodersCoin’s main code. A few bug fixes, a few sleepless nights, a few messes with asynchronous functions and it was all done and working.
Final touches
Finally, I made the interface of the wallet and hosted it as well. I automated the smart contracts because every person using CodersCoin will be logged in with a Github account.
What’s left is…
In fact, the project is still far from being a functional cryptocurrency. Not a single piece of it is worth anything yet. Its value will obviously be determined by how much its users exchange it for. The current database solution could also be improved. Blocks and the amount of transactions within them should be optimized. In addition to this, the peer-to-peer part will also have to be solved, if there will already be a kind of community.
Be one of the first to own a few CodersCoins (SCS)!
On Labor Day, the first of May, the cryptocurrency will be officially made available for public use, although its basic functions are already available to the bravest. If you want to be one of the first to own CodersCoin, email your Github username to contact@petertill.tech! In the subject, write this:
PBLOG5CSC
The system will either automatically send CodersCoin to the first 50 people, or I will transfer it personally. You can also view the project website here: CodersCoin website