Skip to main content

Solidity references

Solidity is the dominant high-level, statically typed, object-oriented language for writing smart contracts that run on the Ethereum Virtual Machine (EVM) and EVM-compatible chains (including Layer 2s like Arbitrum). It powers the vast majority of DeFi, NFTs, DAOs, and other onchain applications.

Offical documentation

These are the authoritative, always-current references.

Learning paths and courses

The ecosystem moves fast; high-quality, free project-based courses outperform most books (which are slow to market).

Paid courses

Development framworks and tooling

  • Foundry (Rust-based): Excellent fuzzing, mainnet forking, and cheat codes. Preferred by security researchers and DeFi protocols.
  • Hardhat: JavaScript/TypeScript-first. Hardhat 3 brings a Rust-powered runtime for big performance gains. Outstanding stack traces, console.log in Solidity, vast plugin ecosystem (verification, gas reporter, etc.). Great for teams with frontend/web devs.
  • Remix IDE (browser-based): Zero-setup prototyping, debugging, and deployment. Perfect for quickstarts and learning.

Other tools: VS Code + Solidity extensions, Slither (static analysis, integrates with Foundry), Etherscan/Blockscout for verification.

Security best practices and auditing

Security is non-negotiable—most exploits from reentrancy, access control, integer issues, oracle problems, or upgrade logic.

Core resources

Libraries and standards

  • OpenZeppelin Contracts: The gold standard for ERC-20/721/1155, access control (Ownable, Roles), upgradeable proxies (UUPS/Transparent), pausability, etc. Always audit your usage and prefer their implementations over custom code. OpenZeppelin GitHub repo.

Community, forums, ongoing learning

GitHub repositories worth studying