Resources to Learn Solidity

Learning Solidity can be fun! Here are a few resources which helped me get started and for comfortable with the language.

Crypto Zombies

Hands-down, one of the best resources to learn about Solidity and smart contracts step-by-step.

You learn about basic elements of the language, writing code which adds up to a smart contract with game mechanics. You’ll also get to know essentials building blocks of the ecosystem, like OpenZeppelin, and can dive deeper into more advanced topics in later course chapters.

This course was awesome, and something where I’d recommend anybody who is interested in the technical details around Solidity starts.

It probably helps a lot if you’re already comfortable with programming in general, but maybe you’ll have a good learning experience if you’re just starting out as well? I hope you do!


A company which focuses on providing free (!) courses for people to get started in web3. I had a great time with their material as well!

Compared to Crypto Zombies, their courses feel more focused about the complete developer experience. You will build functional projects step by step, however there’s not as much time to explain every single technical detail if you compare it to the above course.

It’s a different angle - hands-on, let’s build something cool, instead of taking the time to understand every single detail in-depth.

Read Code & Research

You can read code of other people’s contract. Both on GitHub, and if some deployed projects provide verified code, on Etherscan.

You can also look at other collections of resources - such as “Awesome Solidity” over here or the resources list of Developer DAO. But there’s only so much you can learn by observing…

Go And Build

Both of the above courses together, helped me get to a good enough understanding to try building my own toy projects. Which is something you’ll end up doing when you are serious about learning how to develop for web3.

A great next step, after getting comfortable with the language and getting a high-level understanding of the development workflows in a somewhat-failsafe environment, is to start your own things.

You will discover all kinds of stumbling blocks, see what you missed during your tutorial sessions and will get to interact with non-tutorial learning resources to make progress.

Make sure to set your goals low, and pick a really simple project! Focus on creating your first functional thing, you can increase the difficulty later on, after getting your first win. Seriously, as simple and straightforward as possible :)

If you’re looking for a way to kickstart your first project, check out this list of resources to start a fresh Solidity project. Happy building!