Congrats on making it here, Solidity developer and/or EVM enthusiast. It’s time to level up your fundamental, low-level, and intricate knowledge of the beloved platform you build on day after day.
In this course you will learn binary and opcodes. You will learn stack and memory manipulation. You will learn how to think in 32-byte words, how to wrangle bits, and how to emulate data types with raw 0’s and 1’s.
You will gain the ability to pierce through Solidity code, seeing and understanding the opcodes underneath, allowing you to make conscious and strategic decisions on optimizing gas costs of your smart contract functions.
You will gain the power to write smart contracts without Solidity, and – like a martial art – hope to never see the day when you need to use it.
In summary, this course will enhance your development skills, particularly if you are a Solidity developer.
A few more reasons to further your understanding of the EVM are:
assembly {}
block in an OpenZeppelin contract before. This is sometimes necessary for advanced patterns, such as different types of upgradability. Taking this course will help you better understand the benefits and limitations of these patterns.As you’ll soon discover while doing the course, learning and writing EVM opcodes is surprisingly manageable. Low-level binary is scary to a lot of developers, and understandably so; most machine instructions are hard to read and understand for the most popular platforms.
However, compared to other machines, the EVM is easy mode. With the number of opcodes being less than 200 (vs thousands), learning the EVM becomes a matter of simple study – assuming you have the right study material of course 😉