In it's current state bytecode is processed in contracts/contract.evm
, in hexadecimal without the prefix. I just copied the bytecode from etherscan and pasted it in the above file.
Everything Opcodes: EVM Playground
Great substack gudie: Noxx Substack
Ethereum Engineering Group Solidity to Bytecode
Everything EVM: EVM Handbook
EVM Tools: EVM Tools
- Program accepts some configuration as input e.g. EL client endpoint, contract address to fetch bytecode at, potential data about the bytecode (swarm hash, if constructor is included)
- Program fetches and performs necessary parsing / formatting of the bytecode
- Representation of the instruction set e.g.
Let Instruction1 = Instruction{0x01, "ADD", 2, 1, 0, "Addition operation"
};` - Parse bytecode into all opcodes with names and instruction title