In discussing cryptocurrency, one of my friends has often exclaimed, "But what does Ethereum look like?!" There's more than a hint of exasperation to his voice. To help answer his question, I took a crack at creating my own token.
Let's be clear, I am not a programmer. In high school, I signed up for one miserable introductory class. Luckily, I had a good friend who dragged my sorry carcass through that misery. (In the end, we collaborated on a horrendous hangman game. Somehow it impressed the girl I had a crush on, so I considered it a resounding success.)
For the sake of full disclosure, in university, I worked with Stata (a statistical analysis software package) and I became quite adept at Microsoft Excel. And while I've taught myself a little bit of Python here and there, I don't consider my skills to be anywhere near proficient. Altogether, I'd call myself a wannabe-geek. At the end of the day, I prefer watching "Mr. Robot" to sitting in silence in front of a blinking cursor.
So, my brief dalliance with Solidity taught me a few things:
1. Making a token is incredibly easy.
The basic format is available to copy and paste. I decided to name my tokens BatmanTokens (I'm a pretty big fan of Bruce Wayne and Gotham). Just changing up a few parameters (e.g., name, symbol, initialSupply), it's really quite effortless to deploy a contract. With the primers available on the Ethereum Foundation website and the assistance of Google, a moderately computer-literate person could make their own digital currency in under an hour. Good luck with adoption though.
2. The standards for tokens are fairly intuitive.
Does a wallet have sufficient funds to send tokens to another address? Should the account balance ever become negative? The terminology within Solidity, which relies on a combination of mathematical symbols and words, is straightforward. There are plenty of developers who complain about the more intricate features of the language, but at the lowest level, Solidity makes sense.
3. The learning curve is sharp.
I've only scratched the surface – and to be honest, maybe Solidity is not the best place to start learning to program. Even if it's a critical language for the cryptocurrency world, a person might be better served by seeking to understand mainstream development before tackling this niche space.
That said, I'd encourage readers to explore some of the technical documentation because it's not all that hard to understand. Get a general sense of the inner workings so that you can speak intelligibly and (hopefully) know when something sounds totally off base. You don't have to know how a car converts gasoline to drive the vehicle.
I'm not going to become a developer tomorrow – and to be frank, I'm not sure that I'd want to. My foray into Solidity programming has deepened my respect for cryptocurrency technologists, but I'm going to stick with "Mr. Robot" (and the odd Python lesson) for now. Solidity, maybe one day we'll meet again.