How I Learned Solidity Basics as a Coding Noob for Free

Julian Roberto
4 min readDec 9, 2018

--

In this post, I discuss how I learned the basics of Solidity for free even though I previously had no coding experience.

Note of caution: In this post, I show images containing Solidity code. I cannot guarantee that these examples are written securely. The purpose of these images is only to show you how I used the resources and how I learned the basics.

Resources

Beginning my Journey with CryptoZombies

I began my journey with the CryptoZombies curriculum. I enjoyed this resource because the explanations of the basics were extremely clear and concise. Unlike other Solidity courses, CryptoZombies does not require prior coding experience to start learning. It also has a TON of great content.

How I leveraged this resource for the greatest ROI (Return on investment)

I would often get stuck on a difficult lesson. I imagine you will too. In order to complete a difficult lesson, I would revisit previous sections. Usually when I failed to complete a difficult lesson, it was because I failed to grasp concepts and small (but crucial) details in previous sections.

Google and the “reveal answer” feature

There were times when the great explanations provided by CryptoZombies was not enough. When this happened, I would consult Google. The internet is your friend. If Google didn’t give me what I wanted, I used the “reveal answer” feature on CryptoZombies. I didn’t feel guilty about using this feature either.

Repetition

I would frequently revisit every single lesson on CryptoZombies. The repetitions made everything easier to understand. I was able to pick up small details that had a big impact later on.

Time invested in CryptoZombies

I spent about 2.5 weeks exclusively on CryptoZombies before incorporating Remix into my learning. I invested at least 1 hour a day, 5 days out of the week.

Remix — Solidity IDE

Remix is a developer tool offered to you right in your browser. You can use it to create and test code, and even deploy smart contracts directly onto the Ethereum mainnet.

How I Leveraged Remix

I figured that in order to advance my understanding of Solidity, I needed to get comfortable writing code in more dynamic situations. After spending 2.5 weeks on CryptoZombies, I began complimenting my learning with Remix. CryptoZombies taught me the basics of Solidity by holding my hand. Remix allowed me to go beyond the training wheels phase by providing me a place to dynamically apply concepts that I learned in CryptoZombies.

I usually utilized CryptoZombies and Remix simultaneously. At one point in the CryptoZombies curriculum, I learned how to restrict the usage of an ERC721 token (a Zombie!) to a specific user. In order to deepen my understanding of this concept, I created the DinoFighter6 contract.

When I made fun contracts, I got more into it. I also made one about drifting cars.

Remix Onboarding and Troubleshooting

When I first tried to use Remix, I experienced lots of friction. I spent a lot of time troubleshooting through small things that prevented me from getting started.

I made this video to walk you through the annoying stuff.

Testing Your Smart Contract Code

If your code successfully compiled, this does not mean that your code is bug free. It may still behave in a way that you did not intend. This is what makes Remix valuable to noobs. It provides us with a low friction tool to dynamically test our contracts.

In order to test your contract, deploy your contract and call the functions to see if it works as expected. Remix even allows you to quickly switch between addresses, which simulates different users calling the functions.

Note: If you ever plan to deploy a contract to the Ethereum mainnet, get an audit.

Make Compiler Warnings Your Friend

Compilers aren’t meant to be a pain in the ass. If you learn how to read compiler warnings, they can help you debug your contract. I put effort into learning how to read these warnings and this gave me a good ROI.

Ethereum Stack Exchange is Your Friend

Sometimes I encountered coding concepts or situations that I could just not figure out. I needed someone with more expertise to guide me. Ethereum Stack Exchange was an amazing resources in this regard. Ethereum Stack Exchange is a reddit-like forum where developers go to ask each other questions.

They were very noob friendly and helped me overcome difficult obstacles. There is a caveat though! You cannot expect to write a half ass question and get amazing results. Remember, these developers are helping you out for free, so clearly and concisely provide them the most context possible in order to help them help you. Here is an example of how I did it.

If you have any questions about troubleshooting remix, feel free to dm me or ask in the comments.

Thanks to all the homies

I would like to thank all of the friends, developers and Twitter homies that helped me through this journey. I literally could not have done this on my own. Special shoutout to @TudonuMayowa for recommending Ethereum Stack Exchange. Excellent ROI.

Did you like the content??? Follow me on Twitter.

--

--

Julian Roberto

Cryptocurrency enthusiast living in the San Francisco Bay Area.