IDEs
- Remix
An interactive Solidity IDE. You can use it to start coding and compiling Solidity smart contracts without installing anything. - VSCode + Solidity extension
Basic Solidity
- CryptoZombies
An end-to-end introduction to building dApps on the EVM. It has lessons for complete beginners and for developers from other disciplines. - Solidity by Example
Introduces Solidity concepts progressively through simple examples. It suits developers who have some programming background. - Blockchain Basics course by Cyfrin Updraft
Covers the fundamentals of blockchain, DeFi, and smart contracts. - Solidity Smart Contract Development by Cyfrin Updraft
Gives you hands-on experience to become a smart contract developer.
Intermediate Solidity
- The Solidity Language
Official documentation with an end-to-end description of smart contracts, blockchain basics, compiling, and deployment on an EVM. - Solidity Patterns
A repository of code templates, with explanations of how to use them. - OpenZeppelin
A library of customizable template contracts for common Ethereum token deployments, such as ERC-20, ERC-721, ERC-1155, and Proxy. These contracts are not gas optimized. They are the de facto standard for smart contract templates, and almost all existing smart contracts use them. - Uniswap
A professional, easy-to-read smart contract for the Uniswap V2 pools. It gives an overview of a Solidity dApp in production. A guided walkthrough is available. For the more advanced Uniswap pools, see Uniswap V3 and Uniswap V4. - Morpho Finance
Morpho Finance’s contracts are a real-world example of production-grade Solidity smart contracts. They show how a successful DeFi lending protocol is structured and implemented. In Morpho’s codebase, you can learn advanced patterns for gas optimization and security best practices. You can also see how to implement complex financial logic in production. The accompanying documentation gives more context on the protocol’s architecture and design principles. - Sky / Maker DAO An early DeFi protocol that created the DAI and USDS stablecoins. MakerDAO’s codebase shows complex financial mechanisms, including collateralized debt positions, oracles, and governance systems. The project demonstrates how to implement a stable cryptocurrency, backed by crypto collateral, through sophisticated risk management systems.
- Rareskills Blog
Has in-depth articles on various Solidity concepts. It also has the Book of Gas Optimization. - Foundry Fundamentals course by Cyfrin Updraft
A web3 development course on Foundry, the industry-standard framework for building, deploying, and testing smart contracts. - Smart Contract Programmer YT channel
Has many in-depth videos on topics from ABI encoding to EVM memory management. - DeFi developer roadmap
Advanced Solidity
- Solmate repository and Solady repository
Gas-optimized contracts written in Solidity or Yul. - Yul
An intermediate language for Solidity, similar to inline assembly for the EVM. It has control flow constructs and exposes low-level memory management. - Advanced Foundry course by Cyfrin Updraft
Teaches advanced smart contract development, including how to build DeFi protocols, stablecoins, DAOs, and more. - Smart Contract Security course by Cyfrin Updraft
Teaches you how to audit protocols and write secure ones. - Assembly and Formal Verification course by Cyfrin Updraft
Covers assembly with Yul, EVM opcodes, formal verification testing, and related tools. - Smart Contract DevOps course by Cyfrin Updraft
Focuses on post-deployment security, wallet access control, and ongoing protocol maintenance. - Secureum YT Channel
Has videos on topics from Solidity basics to advanced subjects such as fuzzing and auditing.
Tutorials
- Ethernaut
Learn Solidity by solving puzzles. - Damn Vulnerable DeFi
A series of smart contract challenges designed to test and improve your Solidity skills.
Testing
- Echidna
A fuzz testing tool for Solidity. - Slither
A static analysis framework that detects vulnerabilities. - solidity-coverage
Gives code coverage metrics for Solidity tests.
Smart contract archives
- Smart contract sanctuary
A collection of contracts verified on Etherscan. - EVM function signature database
- EVM verified contracts on Etherscan Browse the verified contracts on Etherscan directly.
Using the OpenZeppelin Wizard
OpenZeppelin has a web-based wizard for creating standard contracts. To use it, see the EVM Contract Wizard page in these docs, or go to https://wizard.openzeppelin.com/. With the wizard, you can:- Select the contract type (for example, ERC-20, ERC-721, or ERC-1155)
- Configure settings, features, and access controls
- Add custom functionality through a user-friendly interface
- Generate ready-to-use Solidity code
- Beginners who are learning smart contract development
- Quickly bootstrapping standard token contracts
- Exploring different configuration options
- Understanding best practices in contract development
Best practices & security considerations
When you develop on Sei EVM with OpenZeppelin contracts, follow these best practices:- Always use the latest version of OpenZeppelin contracts
- Start with existing, audited components instead of building from scratch
- Run comprehensive tests before you deploy to Sei Mainnet
- Consider upgradeability for complex applications
- Use access controls such as
OwnableorAccessControlfor privileged functions - Implement reentrancy guards where needed
- Avoid
transfer()andsend()for ETH transfers. Usecall()with reentrancy protection instead. - Validate all inputs and check for edge cases
- Consider gas optimization, but not at the expense of security
- Consider getting an audit for high-value contracts