Solidity

Solidity

An object-oriented, high-level language for implementing smart contracts on various blockchain platforms, most notably Ethereum.

Solidity is the primary language for building smart contracts on Ethereum and other EVM-compatible blockchains. It's designed to target the Ethereum Virtual Machine (EVM) and is essential for anyone looking to build decentralized applications (dApps).
Solidity Inline Assembly: Writing Safe, Gas-Efficient Low-Level Code

Solidity Inline Assembly: Writing Safe, Gas-Efficient Low-Level Code

Testing Solidity Reentrancy Defenses with Attack Harnesses

Testing Solidity Reentrancy Defenses with Attack Harnesses

Preventing ERC-20 Allowance Race Conditions in Solidity

Preventing ERC-20 Allowance Race Conditions in Solidity

Building a Fixed-Point Decimal Math Library in Solidity

Building a Fixed-Point Decimal Math Library in Solidity

Testing Solidity Event Emission with Indexed Parameters and Log Assertions

Testing Solidity Event Emission with Indexed Parameters and Log Assertions

Solidity Bitwise Operations: Building Efficient Low-Level Data Structures and Flags

Solidity Bitwise Operations: Building Efficient Low-Level Data Structures and Flags

Testing Solidity Contract Invariants with Assertion-Based Checks

Testing Solidity Contract Invariants with Assertion-Based Checks

Preventing Reentrancy in Solidity with Checks-Effects-Interactions and Reentrancy Guards

Preventing Reentrancy in Solidity with Checks-Effects-Interactions and Reentrancy Guards

Building a Reentrancy Guard Utility in Solidity

Building a Reentrancy Guard Utility in Solidity

Solidity Reentrancy Guards: Designing Reentry-Resistant Contract Flows

Solidity Reentrancy Guards: Designing Reentry-Resistant Contract Flows

Solidity Data Locations in Practice: Choosing Between Storage, Memory, and Calldata

Solidity Data Locations in Practice: Choosing Between Storage, Memory, and Calldata

Solidity Error Handling Patterns for Lower Gas and Better UX

Solidity Error Handling Patterns for Lower Gas and Better UX

Testing Solidity with Property-Based Fuzzing

Testing Solidity with Property-Based Fuzzing

Preventing Signature Replay Attacks in Solidity with Domain Separation

Preventing Signature Replay Attacks in Solidity with Domain Separation

Solidity Storage Gaps: Designing Upgrade-Safe Contracts with Reserved State Slots

Solidity Storage Gaps: Designing Upgrade-Safe Contracts with Reserved State Slots