# Transaction Bytecode vs Deployed Bytecode, differences and how to read them

By [N00b21337](https://paragraph.com/@n00b21337) · 2023-10-09

---

Main difference between **deployed bytecode or runtime bytecode** and bytecode that is shown in **deployed transaction** is that later has initial code in it and its bigger in size. So what is initial(init) code?A smart contract's constructor is a one-time function not stored on the blockchain but present in the initial code. When creating a contract, users can also send native currency. It's vital to ensure the contract can accept this currency at deployment. If it can't, the creation should fail. This highlights the need for two distinct binary codes: the initial deployment code and the code that's stored on the blockchain.When looking at bytecode to know if it is runtime/deployed or transaction bytecode with init part look for

like in this code in the end

and after it there will be again 6080 the same as at the beginning of the code, this is the opcode usually used for initial free memory pointer

this would be full code that has init code and deployed bytecode in it, with both f3fe and 6080 appearing twice

  
This `6080` is actually the beginning of the `0x60806040` bytecode sequence often seen at the beginning of bytecode. Here's a breakdown:

*   `0x60`: PUSH1 instruction in the EVM bytecode, which pushes the next byte onto the stack.
    
*   `0x80`: This byte represents the size of the memory that the contract will use to store temporary variables during its execution.
    
*   `0x60`: Again, a PUSH1 instruction.
    
*   `0x40`: This byte usually refers to the slot in memory where the free memory pointer is stored. Solidity uses this slot as a starting point to store temporary objects, and it grows as required during the contract's execution.
    

This preamble essentially sets up the **initial free memory pointer**. You will see it in many Solidity-compiled contract bytecodes because it's part of the standard setup that the Solidity compiler outputs.

---

*Originally published on [N00b21337](https://paragraph.com/@n00b21337/transaction-bytecode-vs-deployed-bytecode-differences-and-how-to-read-them)*
