Understanding solidity assembly
Ethereum supports an assembly language that can be used to gain fine-grained control over the EVM. This allows access to the EVM at a low level. This discards several important safety features of solidity. Assembly language can be either written inside solidity source code (inline assembly) or can also work as a standalone code (standalone assembly).
In this recipe, you will learn to write assembly-level code for accessing the EVM at a low level.
Getting ready
You need to have a working Ethereum installation for deploying and testing the smart contract. You can also use the Remix IDE to write and test the Solidity code.
It is required to have good knowledge of Solidity before stepping through this recipe. Go through Chapter 2, Smart Contract Development, for more information.
How to do it...
- To write the assembly inline, use the
assembly
keyword:
assembly { // assembly code }
- Create local variables in the assembly by using the
let
keyword. For variables without...