Web3 Learning Journey (Day 6)

Most of my time previously went for hackathon. Wans't able to submit for Filecoin Space Warp but followed up the same idea to ETHForAll hackathon. Called the project Trustmarket, didn't win any prizes but had fun experimenting and building it.

Project Link: https://devfolio.co/projects/trustmarket-9f3f

Haven't been consistent on my goals. Worked mostly on pepejobs, so i decided to recontinue this blog. Today, tried to get back from where i left off: Deconstructing smart contract by Openzeppelin. Got through the second part where the author describes about creation time bytecode and runtime bytecode. Still fuzzy on what most of the article talked about, probably due to my nacent knowledge of EVM opcodes. So, decided to skip this article and read FemboyCapital's EVM playdate article where he talked briefly about usual EVM stuff. Got to know a bit more about Virtual Machines.

What the heck is a Virtual Machine? Vaguely there's two definitions:

  • System virtual machines: Programs that emulates a specific machines like : Vmware, Virtual Box.

  • Process virtual machines: Programs that allow other programs to run on multiple platforms like: Java Virtual Machine(JVM), .NET runtime, EVM.

EVM is a stack based VM with additional volatile memory and persistent storage that represents the world state of the ethereum network. Detailed illustration is given below:

Got hand dirty with basic evm assembly. Planning to go through EVM from scratch in python by Karmacoma. Wanna find out what Execution context is? Stay tuned for tomorrow.