Solidity Resources
Most development resources for developing with Soldity on Ethereum Mainnet also apply to development on Sei.
This page suggests a minimal set of resources for getting started with building a decentralized app for Sei EVM.
IDEs
- Remix
An interactive Solidity IDE that is the easiest and fastest way to start coding and compiling Solidity smart contracts without any additional installations. - VSCode + Solidity extension
Basic Solidity
- CryptoZombies
A great end-to-end introduction to building dApps on the EVM. It offers lessons suitable for complete beginners as well as developers from other disciplines. - Solidity by Example
Introduces Solidity concepts progressively through simple examples – ideal for developers with 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
Offers hands-on experience to become a smart contract developer. - Ethereum Developer Degree by LearnWeb3
A course designed to take you from no background in web3 to building multiple applications and understanding key protocols, frameworks, and concepts.
Intermediate Solidity
- The Solidity Language
Official documentation providing 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 their usage. - Cookbook.dev
Offers interactive example template contracts with live editing, one-click deploy, and an AI chat integration for coding help. - OpenZeppelin
Provides a library of customizable template contracts for common Ethereum token deployments (e.g., ERC20, ERC721, ERC1155). Note that these are not gas optimized. - Uniswap
A professional, easy-to-digest smart contract of the Uniswap V2 pools that gives an overview of an in-production Solidity dApp. A guided walkthrough is available here . For the more advanced Uniswap Pools, check out the Uniswap V3 here and Uniswap V4 here . - Rareskills Blog
Features in-depth articles on various Solidity concepts and their Book of Gas Optimization . - Foundry Fundamentals course by Cyfrin Updraft
A comprehensive web3 development course covering Foundry—the industry-standard framework for building, deploying, and testing smart contracts. - Smart Contract Programmer YT channel
Contains many in-depth videos covering topics from ABI encoding to EVM memory management. - DeFi developer roadmap
Advanced Solidity
- Solmate repository and Solady repository
Gas-optimized contracts using Solidity or Yul. - Yul
An intermediate language for Solidity, akin to inline assembly for the EVM, offering control flow constructs while exposing low-level memory management. - Advanced Foundry course by Cyfrin Updraft
Teaches advanced smart contract development including building DeFi protocols, stablecoins, DAOs, and more. - Smart Contract Security course by Cyfrin Updraft
Provides comprehensive training on auditing and writing secure protocols. - Assembly and Formal Verification course by Cyfrin Updraft
Covers Assembly, using 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
Features a variety of videos covering 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
Fuzz testing tool for Solidity. - Slither
A static analysis framework for detecting vulnerabilities. - solidity-coverage
Provides 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 If you are adventurous: Check the verified contracts on Etherscan directly.
Using the OpenZeppelin Wizard
OpenZeppelin provides a convenient web-based wizard to create standard contracts. Visit https://wizard.openzeppelin.com/ to access it.
The wizard allows you to:
- Select the contract type (ERC20, ERC721, ERC1155, etc.)
- Configure settings, features, and access controls
- Add custom functionality through a user-friendly interface
- Generate ready-to-use Solidity code
The wizard is perfect for:
- Beginners learning smart contract development
- Quickly bootstrapping standard token contracts
- Exploring different configuration options
- Understanding best practices in contract development
Here’s how to use it:
- Visit https://wizard.openzeppelin.com/
- Select the type of contract you want to create
- Configure the settings (name, symbol, features)
- Add any additional functionality you need
- Copy the generated code and paste it into your project
- Customize as needed
Best Practices & Security Considerations
When developing on Sei V2 EVM with OpenZeppelin contracts, follow these best practices:
- Always use the latest version of OpenZeppelin contracts
- Start with existing, audited components rather than building from scratch
- Run comprehensive tests before deploying to mainnet
- Consider upgradeability for complex applications
- Use access controls like
Ownable
orAccessControl
for privileged functions - Implement reentrancy guards where needed
- Avoid
transfer()
andsend()
for ETH transfers, usecall()
with reentrancy protection - 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
Last updated on