I'm a crypto zombie!
I want to learn how to create smart contracts on Ethereum, and I found a fun way to learn Solidity, the most popular programming language for the Ethereum Virtual Machine. Loom Network created a free online course called CryptoZombies, which teaches you how to create a trading card game similar to CryptoKitties in Solidity. You could just go to that site and follow the step-by-step tutorial. It's easy if you have some programming experience. But I'm taking a free course IRL, organized as a series of 5 meetups by Rinke Hendriksen, who develops software for Swarm, a distributed storage solution for Ethereum apps.
The CryptoZombies course is hosted by Lisk Center Utrecht, where I'm also working sometimes. The first time, they provided drinks and sushi. But I wanted brains!
The game turns a hash of your name into a "DNA" code that determines how your zombie avatar looks. I tried some names, and my pseudonym ProkhorZ worked better than my real name.
Try it yourself without programming anything. Other names with interesting results were VITALIK and GAVOFYORK (Gavin Woods, who invented Solidity).
There was a 3-week break after lesson #2, so you could still join the course next week. But you should finish the first two lessons in the Solidity Path track first. Things will move quickly. During the second lesson, I barely managed to keep up while e-mailing with a client on my phone and writing down notes.
The language was switched from Dutch to English after two expats joined us. I wondered what the purpose of 'guess cost' was, but it was actually 'gas cost' (the transaction fees in Ethereum).
I'm ambivalent about Ethereum. I had high hopes until I was disappointed by the The DAO bailout in 2016. It does offer me the opportunity to program a token or a simple app, while I'm not technical enough to work on protocol development. On the other hand, I'm already noticing quirks of Solidity I don't like. For example, the difference between temporary variables and data saved on the blockchain isn't made explicit in different types, and one way to save gas cost is to put multiple operations on one line.
By the way, Solidity is being developed so fast that the CryptoZombies course is already outdated before it's even finished. That's to be expected in the fast-moving cryptocurrency world. Other useful sites that Rinke showed us were Remix, where you can test and compile contracts, and the OpenZeppelin contracts library.
I already wrote an ERC-20 token contract by filling in a few parameters in an example, but now I want to try to make a more reliable version by following the OpenZeppelin standard.