Comment on page
awesome-solidity-gh-pages
Official
Tutorials
- androlo/solidity-workshop - Comprehensive series of tutorials covering contract-oriented programming and advanced language concepts.
- buildspace.so - Hands-on Web3 course especially for beginners. It is completely free and you get an NFT on completion.
- Cadena - Tutorials for building smart contracts, dapps, on multiple chains and earn a Cadena NFT Certificate.
- CryptoZombies - Interactive code school that teaches you to write smart contracts through building your own crypto-collectibles game.
- cryptodevhub.io - Community-driven effort to unite like-minded people interested in Blockchain- and Crypto Technologies.
- Discover Ethereum & Solidity (ludu.co) - Complete course that takes you through the process of creating a decentralized Twitter clone using best practices.
- Questbook - Questbook is building a University DAO where learning is always free. Starting with crypto-dev courses by leading devs.
- Teach Yourself Web3 - Join a community of Web3 engineers & educators that can help you supercharge your way into Web3 development.
- willitscale/learning-solidity - Complete guide on getting started, creating your own crypto, ICOs and deployment.
- useweb3.xyz/tutorials - A curated list of free, community tutorials that are based around specific projects, tasks or challenges.
Articles
- Best Practices for Smart Contract Development (yos.io, Yos Riady, 2019) - Developer handbook for smart contract developers.
- Clean Contracts (wslyvh.com, Wesley van Heije, 2020) - Developer guide to writing clean smart contract code.
- The Complete Guide to Full Stack Ethereum Development (dev.to, Nader Dabit, 2021) - Building Full Stack dApps with React, Ethers.js, Solidity, and Hardhat.
- How to create an ERC20 Token and a Solidity Vendor Contract (medium.com, Emanuele Ricci, 2021) - Create your own ERC20 Token and a Token Vendor Contract that will handle the sell/buy process.
Security
- crytic/awesome-ethereum-security - Curated list of awesome Ethereum security references, guidance, tools, and more.
- crytic/building-secure-contracts - Guidelines and training material to write secure smart contracts.
- crytic/not-so-smart-contracts - Examples of common vulnerabilities, including code from real smart contracts.
- Crypto-Virus/cream-finance-exploit-example - Example implementation of the Cream Finance flashloan exploit.
- d-xo/weird-erc20 - Minimal example implementations of ERC20 tokens with surprising/unexpected behaviour.
- Ethereum Smart Contract Security Best Practices (Consensys) - General security philosophy, known attacks, and sample code.
- Rari-Capital/security-checklist - Opinionated security and code quality checklist for smart contracts.
Audits
Examples
Educational
- fravoll/solidity-patterns - A collection of patterns and best practices for smart contract development.
- kauri.io - Archive of kauri community's content created with the goal to foster the spread of Ethereum development knowledge far and wide.
- pedrobergamini/flashloaner-contract - Smart contracts that operate arbitrages between Sushiswap and Uniswap.
- raineorshine/solidity-by-example - A collection of short yet fully-functional contracts that demonstrate language features.
- useWeb3 - Learn web3 development - A curated overview of the best and latest resources on Ethereum, Solidity and Web3 development.
Deployed on Ethereum Mainnet
- dharma-eng/dharma-smart-wallet - Smart wallet for earning interest on stablecoins while retaining custody of funds, with an added security backstop provided by Dharma Labs.
- wyvernprotocol/wyvern-v3 - Core smart contracts for Wyvern v3, a decentralized digital asset exchange protocol.
Templates
- austintgriffith/scaffold-eth - Github template providing an Ethereum dev stack focused on fast product iterations.
- ethereum-boilerplate/ethereum-boilerplate - React components and hooks to build dApps fast without running your own backend.
- NodeFactoryIo/solidity-node-docker-starter - Github template with Docker containers for building dApps with Truffle and Node.js as backend server.
- paulrberg/solidity-template - Github template for writing contracts (uses: Hardhat, TypeChain, Ethers, Waffle, Solhint, Solcover, Prettier Plugin Solidity).
- rhlsthrm/typescript-solidity-dev-starter-kit - Starter kit for developing, testing, and deploying smart contracts with a full Typescript environment.
- ZumZoom/solidity-template - Hardhat template with preconfigured Github Actions and Coveralls support.
Books
- Blockchain in Action - Book that teaches the essential principles of blockchain and how to create your own decentralized apps.
- Mastering Ethereum - Mastering Ethereum is a book for developers, offering a guide to the operation and use of the Ethereum, Ethereum Classic, RootStock (RSK) and other compatible EVM-based open blockchains.
Practice
- OpenZeppelin/damn-vulnerable-defi - A set of challenges to hack implementations of DeFi in Ethereum.
- OpenZeppelin/ethernaut - Ethernaut is a Web3/Solidity based wargame to be played in the Ethereum Virtual Machine. Each level is a smart contract that needs to be 'hacked'.
Jobs
- 0age/HomeWork - An autonomous utility for finding, sharing and reusing home addresses for contracts.
- 0age/Spawner - Spawn EIP 1167 minimal proxies with an included initialization step during contract creation.
- dapp-bin - Ethereum repo providing implementations for many common data structures and utilities in Solidity, Serpent and LLL.
- dmihal/hardhat-interface-generator - Hardhat plugin to automatically generate interfaces from code.
- gakonst/foundry - Blazing fast, portable and modular toolkit for Ethereum application development written in Rust.
- gelatodigital/auto-top-up - Automatically top up multiple ETH addresses once their ETH balance falls below a certain threshold.
- instant-dapp-ide - Complete Dapp and Solidity development environment as a docker image you can run from command line.
- Keydonix/uniswap-oracle - General purpose price feed oracle built on Uniswap v2 that uses merkle proofs under the hood.
- NTA-Capital/SolMATe - Libraries for floating-point matrix manipulation, linear algebra operations, and vector math.
- OpenZeppelin/openzeppelin-contracts-upgradeable - Upgradeable variant of OpenZeppelin Contracts, meant for use in upgradeable contracts.
- optionality/clone-factory - Simple clone contract factory. Install a master copy of a contract, then easily (cheaply) create clones with separate state.
- pcaversaccio/xdeployer - Hardhat plugin to deploy your smart contracts across multiple EVM chains with the same deterministic address.
- rugpullindex/indexed-sparse-merkle-tree - Dapptools-ready and gas-optimized implementation of a sparse merkle tree.
- Smart Contracts Skeleton - Preconfigured skeleton repository for building or starting with development of Smart contracts.
- studydefi/money-legos - NPM package that provides you with the mainnet addresses, ABIs, and Solidity interfaces for popular DeFi protocols.
- truffle-assertions - Adds additional assertions and utilities used in testing smart contracts with truffle.
- Rari-Capital/solmate - Modern, opinionated and gas optimized building blocks for smart contract development.
- Uniswap/merkle-distributor - Smart contract that distributes a balance of tokens according to a merkle root.
- wbobeirne/eth-balance-checker - Smart contract and library pair that allows you to check for multiple ERC20 and Ether balances across multiple addresses in a single RPC call.
General
- Anish-Agnihotri/MultiFaucet - MultiFaucet drips ETH, tokens, and NFTs across many testnet networks, at once.
- eth-brownie/brownie - Python-based development and testing framework for smart contracts targeting the Ethereum Virtual Machine.
- Smart Contract Sanctuary - A home for ethereum smart contracts, all verified smart contracts from Etherscan.
- Tenderly - Easily monitor your smart contracts with error tracking, alerting, performance metrics, and detailed contract analytics.
Utility
- DiverseSolutions/Diverse-Eth-Calculator - Website with Ethereum unit conversion & utility components.
- duaraghav8/Ethlint - Linter to identify and fix style & security issues in Solidity smart contracts.
- prettier-solidity/prettier-plugin-solidity - Prettier plugin for automatically formatting your code.
- protofire/solhint - Solidity linter that provides security, style guide and best practice rules for smart contract validation.
- rkalis/truffle-plugin-verify - Truffle plugin to verify smart contracts on Etherscan from the Truffle command line.
- sambacha/prettier-config-solidity - Prettier config optimized to reduce AST churn & conform to the Solidity spec.
Audit
- Manticore - Detects many common bug types, and can prove correctness properties with symbolic execution.
- ethereum/sourcify - Re-compiler that can be used to verify that bytecode corresponds to certain source code.
- Slither - Static analyzer with support for many common bug types, including visualization tools for security-relevant information.
- MythX - Detection for security vulnerabilities in Ethereum smart contracts throughout the development life cycle
DevOps
JavaScript
TypeScript
Rust
OCaml
- ocaml-solidity - OCaml library providing a parser, a typechecker and miscellaneous utilities for manipulating contracts.
Atom
Eclipse
Emacs
IntelliJ
Sublime
Vim
Visual Studio Code
- Ethereum Security Bundle - A meta-extension bundling marketplace plugins for secure Ethereum smart contract development.
- Solidity Visual Developer - Visual Security audit, Security centric syntax and semantic highlighting, detailed class outline, UML diagram generator, and many more features.
- Truffle for VS Code - Truffle for VS Code simplifies how you create, build, debug and deploy smart contracts on Ethereum and all EVM-compatible blockchains and layer 2 scaling solutions.
To the extent possible under law, Ben Kremer has waived all copyright and related or neighboring rights to this work.
Last modified 1yr ago