evm.codes: referência de opcode (incluindo custos de gás) e uma sandbox interativa para percorrer a execução de bytecode
Layout de armazenamento de solidity
O EVM permite que contratos inteligentes armazenem dados em palavras de 32 bytes ("slots de armazenamento"), porém os detalhes de como estruturas de dados complexas, como listas ou mapeamentos, são deixados como um detalhe de implementação para a linguagem de nível superior. O Solidity possui uma forma específica de atribuir variáveis aos slots de armazenamento, descrita abaixo: