Skip to content

GLOSSARY · BLOCKCHAIN & WEB3

Solidity language

Programming language used to create smart contracts on Ethereum and other blockchains compatible with EVM.

WHAT IS IT? · FOR DUMMIES

Solidity is the language used by programmers to write the instructions that a blockchain like Ethereum must follow. It's like explaining step by step what to do: who can send tokens, what happens if someone buys an NFT, or how to vote in a DAO. What is written in Solidity becomes automatic rules that cannot be changed after activating them.

WHAT IS IT? · PRO

Solidity is a high-level, contract-oriented programming language developed specifically for writing Smart Contracts that are executed in the Ethereum Virtual Machine (EVM). It has a system of static typing, support for inheritance, events, interfaces and control structures similar to JavaScript or C++, and is designed to facilitate the creation of decentralized applications (DApps) with autonomous and censorship-resistant logic.

Solidity allows you to define functions, data structures, mappings, conditions and execution flows that, once compiled and deployed, execute deterministically on the blockchain. It is the most adopted language for developing contracts that govern tokens (ERC-20, ERC-721, ERC-1155), DAOs, NFT marketplaces, DeFi protocols and digital identity systems. Interaction with contracts written in Solidity can be done directly from wallets, dApps or backend scripts, using libraries such as web3.js, ethers.js or tools such as Hardhat, Truffle or Foundry.

One of the most critical features of Solidity is that all the code deployed is public, immutable and permanent, which requires rigorous attention to auditing, testing and good development practices. Solidity has evolved rapidly with new versions that introduce security, efficiency and code readability improvements, as well as debugging tools, custom types, immutable functions, and support for inline assembly (Yul).

Mastering it is essential for any developer who wants to build on Ethereum or any other EVM-compatible network such as Polygon, Arbitrum, Optimism or BNB Chain, since it defines the central logic of any autonomous contract in the Web3 ecosystem.

01 / Key points

  • It is the most used language for writing smart contracts in Ethereum
  • It has similar syntax to JavaScript but with immutable contract logic
  • It runs on the Ethereum Virtual Machine (EVM)
  • Allows you to create tokens, DApps, DAOs, DeFi protocols, NFTs and more
  • It requires audits and rigorous testing due to its irreversible nature

02 / Advantages

  • Industry standard for development on Ethereum and compatible networks
  • Broad ecosystem of tools and libraries (Hardhat, OpenZeppelin, Foundry)
  • Flexible and powerful: allows you to develop from simple contracts to complex modular architectures
  • Easy to learn if you are already fluent in JavaScript or C++
  • Constant evolution and improvement of the language and its official documentation

03 / Disadvantages

  • Prone to serious security errors if not built with good practices
  • Technical learning curve if you start from scratch without programming experience
  • The deployed code is irreversible, which increases the risk of bugs in production
  • Costs per execution: each poorly optimized line increases gas usage on Mainnet
  • Some advanced features (such as delegations or upgradeability) require complex patterns