DEV Community

Cover image for Loops in Solidity
Shlok Kumar
Shlok Kumar

Posted on

Loops in Solidity

Loops are used when we want to perform an action repetitively. They make our code more organized and manageable.

Loops are well-known in any programming language. It would not be necessary to cover what they are and how to use them. There are already 200 explanations on Google about the topic (with code snippets!).

Instead, we will look at how loops are used in smart contracts and Solidity.

When writing a smart contract, you may come across a situation in which you must repeat a process over and over again. This is known as repetitive processing. You would need to write loop statements in such scenarios to limit the number of lines of code.

Solidity provides support for all of the necessary loops to reduce the load of program development.

Solidity Loops


Cons of Loops

It is important to note that the EVM is bound by a block gas limit, and one of the determinants that make users want to interact with your contracts is the gas cost associated with them.

Loops (depending on how they are used) make this existing problem even more challenging. Several factors make it difficult to estimate the gas required for a given project:

  • There is a lack of clarity regarding the boundaries.

  • Many side effects are introduced when they are used (such as updating states or performing external calls).

  • As the name suggests, they are used with data structures that can grow (such as mappings, arrays, etc.)

Due to this, if the boundaries of a Solidity function are unclear, a loop can result in the Solidity function using a lot of gas, or even worse, running the Solidity function forever, which in the context of the EVM translates to "run until it reaches the block gas limit".

For more content, follow me on -

Top comments (0)