Need Help with Solidity Development?
Get expert guidance on Solidity smart contract development.
Complete Definition
Simple Definition
A comprehensive glossary of Solidity language terms for smart contract developers.
Key Definition
A comprehensive glossary of Solidity language terms including: ABI, Assembly (Inline), Bytecode, Calldata, Constructor, Custom Error, Delegatecall, EVM, Event, Fallback Function, Gas, Immutable, Library, Mapping, Memory, Modifier, Opcode, Payable, Receive Function, Require, Revert, Selfdestruct, Solidity, Storage, Struct, Unchecked Block, View Function, and Yul.
ABI (Application Binary Interface)
A standardized JSON description of a smart contract's functions, parameters, and return types, enabling external applications to correctly format calls to the contract.
Assembly (Inline)
Solidity code written directly in Yul (a low-level intermediate language), used for gas optimization or operations not directly expressible in standard Solidity syntax.
Bytecode
The compiled, low-level instructions that actually execute on the Ethereum Virtual Machine, produced by compiling Solidity (or other EVM-targeting languages) source code.
Calldata
A read-only, non-persistent data location for function parameters, more gas-efficient than memory for external function arguments since it avoids unnecessary copying.
Constructor
A special function that executes exactly once, at contract deployment, typically used to set initial state variables.
Custom Error
A gas-efficient alternative to require/revert string messages (introduced in Solidity 0.8.4), defined with the `error` keyword and significantly cheaper than string-based revert messages.
Delegatecall
A low-level function call that executes the called contract's code in the context (storage, msg.sender, msg.value) of the calling contract — the mechanism underlying most proxy patterns.
Event
A mechanism for smart contracts to log data to the blockchain in a way that's efficiently searchable off-chain but not directly readable by other contracts, commonly used for off-chain indexing and frontend updates.
Fallback Function
A special function executed when a contract receives a call that doesn't match any other function signature, or when receiving plain Ether without data (if no receive function exists).
Gas
The unit measuring computational effort required to execute operations on Ethereum, with each opcode having a defined gas cost, paid in ETH (or the native gas token on EVM-compatible chains).
Immutable
A variable type that can be set once during construction but is then baked directly into the contract bytecode (rather than stored in mutable storage), saving gas on subsequent reads.
Library
A reusable code module that can be linked to other contracts, either via internal functions (compiled directly into the calling contract) or external calls (separate deployed contract).
Mapping
Solidity's hash table data structure, mapping keys to values, commonly used for tracking balances, ownership, and other key-value relationships.
Memory
A temporary, mutable data location that exists only during function execution and is cleared between external function calls — more expensive than calldata but cheaper than persistent storage.
Modifier
A reusable code block that can be attached to function definitions to add precondition checks or wrap function execution with additional logic.
Opcode
A single EVM instruction (like ADD, SSTORE, CALL), each with a specific gas cost, representing the lowest-level operations that smart contract bytecode is composed of.
Payable
A function modifier indicating the function can receive Ether along with its call, without which any attempt to send ETH to the function will revert.
Receive Function
A special function (introduced in Solidity 0.6.0) specifically for receiving plain Ether transfers without accompanying calldata.
Require
A statement used for input validation and precondition checking, reverting the transaction (and refunding remaining gas) if the condition is false.
Revert
The mechanism by which a transaction is rolled back entirely, undoing all state changes within that transaction (and any nested calls), typically triggered by require/assert failures or explicit revert statements.
Solidity
The dominant high-level programming language for writing Ethereum smart contracts, compiled down to EVM bytecode.
Storage
The persistent data location where contract state variables are permanently stored on the blockchain, the most expensive data location for both reads and writes.
View Function
A function modifier indicating the function reads but doesn't modify contract state, allowing it to be called without a transaction (no gas cost) when queried directly.
Need Help with Solidity Development?
Get expert guidance on Solidity smart contract development.