awesome-solidity
by bkrem
⟠ A curated list of awesome Solidity resources, libraries, tools and more
AI summary
Ethereum contract toolkit
A curated collection of resources and tools for building and deploying smart contracts on the Ethereum blockchain
- stars
- 6.6K
- forks
- 952
- watching
- 164
- awesome lists
- 7
- entries
- 219
What's in the list
219 links in 5 sections, with live GitHub stats.activeno commit in 2y
Resources
- Docs
Official documentation
- Cheatsheet
Cheatsheet from the official docs
Ethereum Wiki
The Ethereum Wiki
- Ethereum Stackexchange
Ethereum's Stackexchange board
ethereum/solidity
Source code
ethereum/solc-bin
Current and historical builds of the compiler
ethereum/solidity-examples
Loose collection of example code
- 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
ExtropyIO/defi-bot
Tutorial for building DeFi arbitrage bots
- karmacoma-eth/sending-ether-cheat-sheet
Tips and best practices for sending Ether
- LearnXInY
Learn Solidity in 15 mins (for experienced devs)
manojpramesh/solidity-cheatsheet
Cheat sheet and best practices
- Questbook
Questbook is building a University DAO where learning is always free. Starting with crypto-dev courses by leading devs
- Solidity and Vyper cheat sheet
Review syntax of both languages side-by-side
- topmonks/solidity_quick_ref
Syntax overview
nishuzumi/Web3-Enterprise-level-engineering
Web3 Enterprise Engineering Writing Specification Tutorial [Chinese Language - 中文版]
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
WTF Solidity
An open-source and community reviewed tutorial in Chinese and English, covering intro, advanced, and application topics
WTF Ethers
An open-source and community reviewed Ethers.js tutorial in Chinese covering intro and advanced topics [Chinese Language - 中文版]
- Best Practices for Smart Contract Development (yos.io, Yos Riady, 2019)
Developer handbook for smart contract developers
- 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
- soliditydeveloper.com/blog
Concepts, guides, design patterns and more
- Capture the Ether
Game in which you hack Ethereum smart contracts to learn about 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
OriginProtocol/security
Materials related to security: docs, checklists, processes
Rari-Capital/security-checklist
Opinionated security and code quality checklist for smart contracts
- SecDim
Online edutainment platform with content on smart contract security using real world examples, as well as online appsec games
securing/SCSVS
Smart Contract Security Verification Standard
sigp/solidity-security-blog
Comprehensive list of known attack vectors and common anti-patterns
SunWeb3Sec/DeFiHackLabs
Reproduce DeFi hacked incidents using Foundry
Arbitrary Execution
Public security audits by the Arbitrary Execution Team
Trail of Bits
Public security audits by the Trail of Bits Team
- OpenZeppelin
Public security audits by the OpenZeppelin Security Team
- Consensys Diligence
Public security audits by the Consensys Diligence Team
MixBytes
Public security audits by the MixBytes Team
- Hacken
Public security audits by the Hacken Team
https://github.com/spearbit/portfolio
[SpearbitDAO] ( ) - Public security audits by the SpearbitDAO Team
alephao/solidity-benchmarks
Benchmarks of popular implementations of ERC standards
cyrusadkisson/solidity-baby-steps
Comprehensive collection of contract examples
flashbots/simple-arbitrage
Example arbitrage bot using Flashbots
fravoll/solidity-patterns
A collection of patterns and best practices for smart contract development
libevm/subway
A practical example on how to perform sandwich attacks on Ethereum
lsaether/bonding-curves
Smart contracts for bonding curves (aka curve bonded tokens)
- kauri.io
Archive of kauri community's content created with the goal to foster the spread of Ethereum development knowledge far and wide
miguelmota/solidity-idiosyncrasies
Common gotchas, pitfalls, limitations, and idiosyncrasies
m1guelpf/lil-web3
Simple, intentionally-limited versions of web3 protocols & apps
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
- Solidity By Example
An introduction to the language with simple examples
- useWeb3 - Learn web3 development
A curated overview of the best and latest resources on Ethereum, Solidity and Web3 development
- WTF Academy - Web3 Open Academy
A Dapp that allows you to learn Solidity, test with quizzes, and get certificate for you skill [Chinese Language - 中文版]
Abracadabra-money/magic-internet-money
Magic Internet Money (MIM) contracts
andrecronje/rarity
D20srd reference implementation
axieinfinity/ronin-smart-contracts
Axie Infinity Ronin contracts
bancorprotocol/contract-solidity
Bancor Protocol contracts
compound-finance/compound-protocol
Compound Protocol contracts
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
ensdomains/ens-contracts
Ethereum Name Service (ENS) contracts
graphprotocol/contracts
Graph Protocol Contracts
OlympusDAO/olympus-contracts
OlympusDAO contracts
smartcontractkit/LinkToken
LINK token contracts for the Chainlink Network
sushiswap/kashi-lending
Kashi Lending platform contracts
sushiswap/sushiswap
Sushiswap smart contracts
Synthetixio/synthetix
Synthetix smart contracts
trusttoken/smart-contracts
TrustToken smart contracts
Uniswap/uniswap-v3-core
Core smart contracts of Uniswap v3
wyvernprotocol/wyvern-v3
Core smart contracts for Wyvern v3, a decentralized digital asset exchange protocol
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
gakonst/dapptools-template
Forkable template to get you started with Dapp Tools
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
tomhirst/solidity-nextjs-starter
A full-stack dApp starter built with Next.js (React)
transmissions11/foundry-template
Streamlined template for getting started with Foundry and Solmate
wighawag/template-ethereum-contracts
Template to develop smart contracts
ZumZoom/solidity-template
Hardhat template with preconfigured Github Actions and Coveralls support
- 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
- ChainShot
Hands-on learning with challenging coding tutorials
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'
- aworker.io
Job board for blockchain and cryptocurrency jobs
- cryptocurrencyjobs.co
Job board for blockchain and cryptocurrency jobs
- cryptojobslist.com
Job board for blockchain and cryptocurrency jobs
- crypto.jobs
Job board for blockchain and cryptocurrency jobs
- web3.career
Job board for blockchain and cryptocurrency jobs
Libraries
0age/AttributeRegistry
ERC-1616 Attribute Registry Standard - interface, tests and implementation
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
0xcert/ethereum-erc721
Non-fungible token implementation for Ethereum-based blockchains
alexvansande/ENSTools
A set of contracts to extend ENS functionality to other smart contracts
Arachnid/solidity-stringutils
Basic string utilities for Solidity
dapp-bin
Ethereum repo providing implementations for many common data structures and utilities in Solidity, Serpent and LLL
dapphub/dappsys
Contract system framework for flexible multi-contract dapps
dmihal/hardhat-interface-generator
Hardhat plugin to automatically generate interfaces from code
EthWorks/Waffle
Library for writing and testing smart contracts
- gelatodigital/auto-top-up
Automatically top up multiple ETH addresses once their ETH balance falls below a certain threshold
hifi-finance/prb-math
Smart contract library for advanced fixed-point math
ItsNickBarry/hardhat-abi-exporter
Export contract ABIs on compilation via Hardhat
Keydonix/uniswap-oracle
General purpose price feed oracle built on Uniswap v2 that uses merkle proofs under the hood
makerdao/multicall
Aggregate multiple constant function call results into one
maple-labs/erc-20
Maple implementation of the ERC-20 standard
mattdf/RingCrypto
Ring signature related implementations for Ethereum
mds1/solidity-trigonometry
Library with basic trigonometry functions
Modular Libraries
Deployed utility libraries to use in your smart contracts
mzhu25/sol2string
library for efficiently converting values to strings
NTA-Capital/SolMATe
Libraries for floating-point matrix manipulation, linear algebra operations, and vector math
OpenZeppelin/openzeppelin-contracts
A library for secure smart contract development
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
partylikeits1983/num_complex_solidity
Smart contract library for handling complex numbers
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
solana-labs/solana-solidity.js
Compile, deploy, and use contracts on Solana
Solidity Collections
Collections of code snippets and utility libraries
Solidity Standard Library
Standard library (Array, random, math, string)
solidstate-network/solidstate-solidity
Upgradeable-first smart contract development library
studydefi/money-legos
NPM package that provides you with the mainnet addresses, ABIs, and Solidity interfaces for popular DeFi protocols
ThirdWeb/Contracts
Pre-built contracts for Token, NFT, Governance and Marketplace from ThirdWeb
truffle-assertions
Adds additional assertions and utilities used in testing smart contracts with truffle
transmissions11/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
Uniswap/uniswap-v2-periphery
Peripheral smart contracts for interacting with Uniswap V2
Uniswap/uniswap-v3-periphery
Peripheral smart contracts for interacting with Uniswap V3
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
Unicode Ethereum Project
Libraries and contracts for Unicode data, algorithms, and utilities
Tools
Anish-Agnihotri/MultiFaucet
MultiFaucet drips ETH, tokens, and NFTs across many testnet networks, at once
create-truffle-dapp
CLI to create and deploy Truffle projects with no configuration
dapp-scratch
CLI for generating javascript modules from Contracts for Decentralized Apps
dethcrypto/ethereum-code-viewer
View the source of deployed Ethereum contracts in VSCode
dapphub/dapptools
Command-line-friendly tools for blockchain development
eagr/sol-repl
Lightweight, feature-rich REPL for instant feedback
eth-brownie/brownie
Python-based development and testing framework for smart contracts targeting the Ethereum Virtual Machine
- EthFiddle
Find, share and embed contracts
EthereumStudio
Standalone desktop IDE
foundry-rs/foundry
Blazing fast, portable and modular toolkit for Ethereum application development written in Rust
instant-dapp-ide
Complete Dapp and Solidity development environment as a docker image you can run from command line
- Hardhat
Development environment to compile, deploy, test, and debug your Ethereum software
- Laika
Make requests to smart contracts without the hassle of writing a single line of code
naddison36/sol2uml
Unified Modeling Language (UML) class diagram generator for smart contracts
- OpenZeppelin
Framework to build secure smart contracts
raineorshine/solidity-repl
REPL CLI
- Remix
Online realtime compiler and runtime
SIF
Code generation from the AST, analyse and instrument source code
Smart Contract Sanctuary
A home for ethereum smart contracts, all verified smart contracts from Etherscan
- Sourcify
Decentralized and open-sourced smart contract verification service
solgraph
Visualize control flows for smart contract security analysis
sol-merger
Merges all imports into single file for contracts
solidity-docgen
Documentation generator for Solidity projects
- Tenderly
Easily monitor your smart contracts with error tracking, alerting, performance metrics, and detailed contract analytics
Truffle
Development environment, testing framework and asset pipeline for Ethereum
tintinweb/solidity-shell
An interactive Solidity shell with lightweight session recording
weiroll/weiroll
A simple and efficient operation-chaining/scripting language for the EVM
Aniket-Engg/sol-profiler
CLI tool to list & store solidity smart contract methods attributes
Aniket-Engg/sol-verifier
Verify solidity smart contracts on Etherscan
- Bytes32 Converter Online
Convert Solidity bytes32 to utf8 string or integers and vice versa
cleanunicorn/abi2signature
Use the ABI of a smart contract to find out the function signatures
crytic/solc-select
CLI to quickly switch between compiler versions
DiverseSolutions/Diverse-Eth-Calculator
Website with Ethereum unit conversion & utility components
duaraghav8/Ethlint
Linter to identify and fix style & security issues in smart contracts
- Ethereum Unit Converter
Online tool to convert the different ethereum denominations (wei, gwei, ether)
ItsNickBarry/hardhat-contract-sizer
Output contract sizes with Hardhat
- Online ABI Encoder
Online Solidity ABI Encoder to encode smart contract arguments, and also perform read and write operations on the blockchain
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 and Sourcify from the Truffle command line
sambacha/prettier-config-solidity
Prettier config optimized to reduce AST churn & conform to the Solidity spec
sc-forks/solidity-coverage
Code coverage tool
Tenderly/tenderly-cli
Speed up your development with error stack traces
tintinweb/solgrep
A scriptable semantic grep utility for Solidity
a16z/metamorphic-contract-detector
Check whether a given contract exhibits red flags that could indicate the potential for metamorphism instead of immutability
Echidna
Define properties for your smart contract then use fuzzing to catch security bugs
Manticore
Detects many common bug types, and can prove correctness properties with symbolic execution
Mythril
Security analysis tool for smart contracts
ethereum/sourcify
Re-compiler that can be used to verify that bytecode corresponds to certain source code
eth-sri/securify2
Tool for analyzing smart contracts for vulnerabilities and insecure coding
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
Embark
Framework that allows you to easily develop and deploy DApps
- Moesif
Service that provides Ethereum smart contract analytics and anomaly detection for DApps and DAPIs
solidity-sizer
GitHub Action that adds a comment to the PR indicating the size of contracts, including size differences
Languages
deno-web3/solc
Solidity bindings for Deno
solc-js
JavaScript bindings for the Solidity compiler
solidity-parser
Solidity parser built in JavaScript
sulk
Configurable contract compilation
Soltsice
Generates strongly-typed TypeScript classes for contracts from Truffle artifacts with a single command
TypeChain
TypeScript bindings for Ethereum smart contracts
hyperledger-labs/solang
A Solidity-to-WASM-and-BPF compiler written in Rust
rust-ethereum/ethabi
-Encode and decode smart contract invocations
- ocaml-solidity
OCaml library providing a parser, a typechecker and miscellaneous utilities for manipulating contracts
Editor Plugins
uml2solidity
Model smart contracts with UML
emacs-solidity
Solidity mode for Emacs
company-solidity
Autocomplete with company-mode
intellij-solidity
Solidity plugin for IntelliJ
SublimeEthereum
Solidity syntax for SublimeText
solidity.vim
Vim compiler plugin
vim-solidity
Vim syntax file
ConsenSys/vscode-solidity-auditor
Language support and visual security auditor for Visual Studio Code
- Ethereum Security Bundle
A meta-extension bundling marketplace plugins for secure Ethereum smart contract development
sol-profiler-vscode
Visual Code Extension to generate & store smart contract methods profile
vscode-solidity
Visual Studio Code language support extension
- Solidity Visual Developer
Visual Security audit, Security centric syntax and semantic highlighting, detailed class outline, UML diagram generator, and many more features
- Solidity Contract Flattener
Flatten Solidity Contracts using truffle-flattener
- Solidity + Hardhat
Adds general support for Solidity contracts development with features user expect to find in an IDE (code formatting, linting, prettifier, snippets, go to references, and so on). Go to choice for those relying on VSCode and Hardhat in their projects
- 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
Nothing in this list matches your filter.
Featured in 7 awesome lists
Each link jumps to the spot where the list mentions awesome-solidity.