fbpx

Graph of memory locations in Solidity: storage, calldata, etc…

Julien Klepatch

In Solidity smart contracts, there are 4 memory locations:

  • storage
  • memory
  • stack
  • calldata

They all have different lifetimes and it’s not always easy to choose which one is right. In the below graph I drew their lifetimes against the execution of blocks, smart contract and functions.

Lifetime of memory locations in Solidity

Storage is the only memory location than span across block, i.e it persists to the blockchain.

Memory spans across multiple function executions in the same smart contract.

Stack last only as long as the function it is contained in.

And calldata is only available in the argument of the outer function execution

0 Comments

Leave a Reply

More great articles

Web3 Development explained in 2 mins

If you are a developer, you probably heard of Web3

. There is a a massive gold rush to web3 with…

Read Story

Solidity vs Javascript arrays

https://youtu.be/MPBOnChpi0c Solidity arrays... are like Javascript arrays, right? Nope.. In Solidity: Arrays can only contain data of the same type…

Read Story

Scaffold Your Dapp With Truffle Unbox | Episode 12

https://www.youtube.com/watch?v=LlVj1wAEMAU

Read Story

Never miss a minute

Get great content to your inbox every week. No spam.
[contact-form-7 id="6" title="Footer CTA Subscribe Form"]
Arrow-up