awesome-solidity

Ethereum contract toolkit

A curated collection of resources and tools for building and deploying smart contracts on the Ethereum blockchain

⟠ A curated list of awesome Solidity resources, libraries, tools and more

GitHub

7k stars
164 watching
952 forks
last commit: 5 months ago
Linked from 7 awesome lists

awesomeawesome-listcontract-soliditydappsethereumlinter-soliditylistsresourcessoliditysolidity-compilersolidity-contractssolidity-coveragesolidity-dappssolidity-languagesolidity-parsersolidity-securitysolidity-webweb3web3-dappweb3-solidity

Awesome Solidity / Resources

Docs Official documentation
Cheatsheet Cheatsheet from the official docs
Ethereum Wiki 14,742 over 2 years ago The Ethereum Wiki
Ethereum Stackexchange Ethereum's Stackexchange board
ethereum/solidity 23,537 about 1 month ago Source code
ethereum/solc-bin 402 about 1 month ago Current and historical builds of the compiler
ethereum/solidity-examples 541 about 2 years ago 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 1,179 almost 3 years ago 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 1,465 about 2 years ago 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 44 over 2 years ago Web3 Enterprise Engineering Writing Specification Tutorial [Chinese Language - 中文版]
willitscale/learning-solidity 2,076 over 1 year ago 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 11,830 about 1 month ago An open-source and community reviewed tutorial in Chinese and English, covering intro, advanced, and application topics
WTF Ethers 3,149 6 months ago 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 1,339 5 months ago Curated list of awesome Ethereum security references, guidance, tools, and more
crytic/building-secure-contracts 2,240 3 months ago Guidelines and training material to write secure smart contracts
crytic/not-so-smart-contracts 2,171 almost 2 years ago Examples of common vulnerabilities, including code from real smart contracts
Crypto-Virus/cream-finance-exploit-example 122 about 3 years ago Example implementation of the Cream Finance flashloan exploit
d-xo/weird-erc20 1,442 5 months ago 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 200 about 1 month ago Materials related to security: docs, checklists, processes
Rari-Capital/security-checklist 2,064 over 1 year ago 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 626 almost 2 years ago Smart Contract Security Verification Standard
sigp/solidity-security-blog 1,427 over 2 years ago Comprehensive list of known attack vectors and common anti-patterns
SunWeb3Sec/DeFiHackLabs 5,387 about 1 month ago Reproduce DeFi hacked incidents using Foundry
Arbitrary Execution 5 over 1 year ago Public security audits by the Arbitrary Execution Team
Trail of Bits 1,495 about 1 month ago 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 333 about 1 month ago Public security audits by the MixBytes Team
Hacken Public security audits by the Hacken Team
https://github.com/spearbit/portfolio 515 about 1 month ago [SpearbitDAO] ( ) - Public security audits by the SpearbitDAO Team
alephao/solidity-benchmarks 104 6 months ago Benchmarks of popular implementations of ERC standards
cyrusadkisson/solidity-baby-steps 963 about 3 years ago Comprehensive collection of contract examples
flashbots/simple-arbitrage 1,982 12 months ago Example arbitrage bot using Flashbots
fravoll/solidity-patterns 3,181 9 months ago A collection of patterns and best practices for smart contract development
libevm/subway 2,158 over 1 year ago A practical example on how to perform sandwich attacks on Ethereum
lsaether/bonding-curves 78 about 6 years ago 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 346 about 4 years ago Common gotchas, pitfalls, limitations, and idiosyncrasies
m1guelpf/lil-web3 1,175 about 2 years ago Simple, intentionally-limited versions of web3 protocols & apps
pedrobergamini/flashloaner-contract 532 over 2 years ago Smart contracts that operate arbitrages between Sushiswap and Uniswap
raineorshine/solidity-by-example 430 about 7 years ago 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 207 about 2 years ago Magic Internet Money (MIM) contracts
andrecronje/rarity 610 over 2 years ago D20srd reference implementation
axieinfinity/ronin-smart-contracts 157 8 months ago Axie Infinity Ronin contracts
bancorprotocol/contract-solidity 845 8 months ago Bancor Protocol contracts
compound-finance/compound-protocol 1,893 7 months ago Compound Protocol contracts
dharma-eng/dharma-smart-wallet 273 about 2 years ago Smart wallet for earning interest on stablecoins while retaining custody of funds, with an added security backstop provided by Dharma Labs
ensdomains/ens-contracts 611 about 2 months ago Ethereum Name Service (ENS) contracts
graphprotocol/contracts 337 about 1 month ago Graph Protocol Contracts
OlympusDAO/olympus-contracts 712 over 1 year ago OlympusDAO contracts
smartcontractkit/LinkToken 134 about 1 year ago LINK token contracts for the Chainlink Network
sushiswap/kashi-lending 82 about 2 years ago Kashi Lending platform contracts
sushiswap/sushiswap 1,912 about 1 month ago Sushiswap smart contracts
Synthetixio/synthetix 1,215 2 months ago Synthetix smart contracts
trusttoken/smart-contracts 317 8 months ago TrustToken smart contracts
Uniswap/uniswap-v3-core 4,458 3 months ago Core smart contracts of Uniswap v3
wyvernprotocol/wyvern-v3 299 8 months ago Core smart contracts for Wyvern v3, a decentralized digital asset exchange protocol
austintgriffith/scaffold-eth 9,061 8 months ago Github template providing an Ethereum dev stack focused on fast product iterations
ethereum-boilerplate/ethereum-boilerplate 4,103 7 months ago React components and hooks to build dApps fast without running your own backend
gakonst/dapptools-template 386 11 months ago Forkable template to get you started with Dapp Tools
NodeFactoryIo/solidity-node-docker-starter 62 over 5 years ago Github template with Docker containers for building dApps with Truffle and Node.js as backend server
paulrberg/solidity-template 1,971 5 months ago Github template for writing contracts (uses: Hardhat, TypeChain, Ethers, Waffle, Solhint, Solcover, Prettier Plugin Solidity)
rhlsthrm/typescript-solidity-dev-starter-kit 410 almost 2 years ago Starter kit for developing, testing, and deploying smart contracts with a full Typescript environment
tomhirst/solidity-nextjs-starter 350 10 months ago A full-stack dApp starter built with Next.js (React)
transmissions11/foundry-template 163 almost 2 years ago Streamlined template for getting started with Foundry and Solmate
wighawag/template-ethereum-contracts 491 7 months ago Template to develop smart contracts
ZumZoom/solidity-template 31 2 months ago 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 20,047 6 months ago 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 675 6 months ago A set of challenges to hack implementations of DeFi in Ethereum
OpenZeppelin/ethernaut 2,009 about 1 month ago 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

Awesome Solidity / Libraries

0age/AttributeRegistry 10 almost 2 years ago ERC-1616 Attribute Registry Standard - interface, tests and implementation
0age/HomeWork 124 about 1 year ago An autonomous utility for finding, sharing and reusing home addresses for contracts
0age/Spawner 41 almost 2 years ago Spawn EIP 1167 minimal proxies with an included initialization step during contract creation
0xcert/ethereum-erc721 1,054 over 2 years ago Non-fungible token implementation for Ethereum-based blockchains
alexvansande/ENSTools 37 about 3 years ago A set of contracts to extend ENS functionality to other smart contracts
Arachnid/solidity-stringutils 1,140 over 1 year ago Basic string utilities for Solidity
dapp-bin 1,030 7 months ago Ethereum repo providing implementations for many common data structures and utilities in Solidity, Serpent and LLL
dapphub/dappsys 579 almost 3 years ago Contract system framework for flexible multi-contract dapps
dmihal/hardhat-interface-generator 32 12 months ago Hardhat plugin to automatically generate interfaces from code
EthWorks/Waffle 965 about 1 year ago 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 894 3 months ago Smart contract library for advanced fixed-point math
ItsNickBarry/hardhat-abi-exporter 77 about 2 months ago Export contract ABIs on compilation via Hardhat
Keydonix/uniswap-oracle 256 over 2 years ago General purpose price feed oracle built on Uniswap v2 that uses merkle proofs under the hood
makerdao/multicall 854 almost 2 years ago Aggregate multiple constant function call results into one
maple-labs/erc-20 73 3 months ago Maple implementation of the ERC-20 standard
mattdf/RingCrypto 28 about 3 years ago Ring signature related implementations for Ethereum
mds1/solidity-trigonometry 146 almost 2 years ago Library with basic trigonometry functions
Modular Libraries 331 almost 2 years ago Deployed utility libraries to use in your smart contracts
mzhu25/sol2string 23 over 3 years ago library for efficiently converting values to strings
NTA-Capital/SolMATe 33 over 1 year ago Libraries for floating-point matrix manipulation, linear algebra operations, and vector math
OpenZeppelin/openzeppelin-contracts 25,104 about 1 month ago A library for secure smart contract development
OpenZeppelin/openzeppelin-contracts-upgradeable 1,005 about 1 month ago Upgradeable variant of OpenZeppelin Contracts, meant for use in upgradeable contracts
optionality/clone-factory 406 over 2 years ago Simple clone contract factory. Install a master copy of a contract, then easily (cheaply) create clones with separate state
partylikeits1983/num_complex_solidity 53 12 months ago Smart contract library for handling complex numbers
pcaversaccio/xdeployer 440 about 1 month ago Hardhat plugin to deploy your smart contracts across multiple EVM chains with the same deterministic address
rugpullindex/indexed-sparse-merkle-tree 95 about 2 years ago Dapptools-ready and gas-optimized implementation of a sparse merkle tree
Smart Contracts Skeleton 23 almost 7 years ago Preconfigured skeleton repository for building or starting with development of Smart contracts
solana-labs/solana-solidity.js 115 almost 2 years ago Compile, deploy, and use contracts on Solana
Solidity Collections 14,742 over 2 years ago Collections of code snippets and utility libraries
Solidity Standard Library 65 over 6 years ago Standard library (Array, random, math, string)
solidstate-network/solidstate-solidity 441 about 2 months ago Upgradeable-first smart contract development library
studydefi/money-legos 1,030 about 1 month ago NPM package that provides you with the mainnet addresses, ABIs, and Solidity interfaces for popular DeFi protocols
ThirdWeb/Contracts 1,007 about 2 months ago Pre-built contracts for Token, NFT, Governance and Marketplace from ThirdWeb
truffle-assertions 154 about 1 year ago Adds additional assertions and utilities used in testing smart contracts with truffle
transmissions11/solmate 3,978 3 months ago Modern, opinionated and gas optimized building blocks for smart contract development
Uniswap/merkle-distributor 606 over 1 year ago Smart contract that distributes a balance of tokens according to a merkle root
Uniswap/uniswap-v2-periphery 1,141 about 2 months ago Peripheral smart contracts for interacting with Uniswap V2
Uniswap/uniswap-v3-periphery 1,213 6 months ago Peripheral smart contracts for interacting with Uniswap V3
wbobeirne/eth-balance-checker 256 10 months ago 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 26 almost 2 years ago Libraries and contracts for Unicode data, algorithms, and utilities

Awesome Solidity / Tools

Anish-Agnihotri/MultiFaucet 166 about 2 years ago MultiFaucet drips ETH, tokens, and NFTs across many testnet networks, at once
create-truffle-dapp 16 over 5 years ago CLI to create and deploy Truffle projects with no configuration
dapp-scratch 41 over 6 years ago CLI for generating javascript modules from Contracts for Decentralized Apps
dethcrypto/ethereum-code-viewer 1,360 10 months ago View the source of deployed Ethereum contracts in VSCode
dapphub/dapptools 2,102 over 1 year ago Command-line-friendly tools for blockchain development
eagr/sol-repl 4 over 2 years ago Lightweight, feature-rich REPL for instant feedback
eth-brownie/brownie 2,662 2 months ago Python-based development and testing framework for smart contracts targeting the Ethereum Virtual Machine
EthFiddle Find, share and embed contracts
EthereumStudio 269 over 2 years ago Standalone desktop IDE
foundry-rs/foundry 8,404 about 1 month ago Blazing fast, portable and modular toolkit for Ethereum application development written in Rust
instant-dapp-ide 63 over 7 years ago 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 1,178 5 months ago Unified Modeling Language (UML) class diagram generator for smart contracts
OpenZeppelin Framework to build secure smart contracts
raineorshine/solidity-repl 398 over 3 years ago REPL CLI
Remix Online realtime compiler and runtime
SIF 50 over 4 years ago Code generation from the AST, analyse and instrument source code
Smart Contract Sanctuary 1,522 7 months ago A home for ethereum smart contracts, all verified smart contracts from Etherscan
Sourcify Decentralized and open-sourced smart contract verification service
solgraph 1,019 about 2 years ago Visualize control flows for smart contract security analysis
sol-merger 157 7 months ago Merges all imports into single file for contracts
solidity-docgen 452 2 months ago Documentation generator for Solidity projects
Tenderly Easily monitor your smart contracts with error tracking, alerting, performance metrics, and detailed contract analytics
Truffle 14,021 9 months ago Development environment, testing framework and asset pipeline for Ethereum
tintinweb/solidity-shell 543 over 1 year ago An interactive Solidity shell with lightweight session recording
weiroll/weiroll 397 over 2 years ago A simple and efficient operation-chaining/scripting language for the EVM
Aniket-Engg/sol-profiler 30 almost 3 years ago CLI tool to list & store solidity smart contract methods attributes
Aniket-Engg/sol-verifier 30 almost 2 years ago Verify solidity smart contracts on Etherscan
Bytes32 Converter Online Convert Solidity bytes32 to utf8 string or integers and vice versa
cleanunicorn/abi2signature 55 about 6 years ago Use the ABI of a smart contract to find out the function signatures
crytic/solc-select 764 about 1 year ago CLI to quickly switch between compiler versions
DiverseSolutions/Diverse-Eth-Calculator 8 over 2 years ago Website with Ethereum unit conversion & utility components
duaraghav8/Ethlint 927 almost 2 years ago 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 75 6 months ago 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 729 about 1 month ago Prettier plugin for automatically formatting your code
protofire/solhint 1,048 about 2 months ago Solidity linter that provides security, style guide and best practice rules for smart contract validation
rkalis/truffle-plugin-verify 469 about 1 year ago Truffle plugin to verify smart contracts on Etherscan and Sourcify from the Truffle command line
sambacha/prettier-config-solidity 30 about 2 years ago Prettier config optimized to reduce AST churn & conform to the Solidity spec
sc-forks/solidity-coverage 983 about 2 months ago Code coverage tool
Tenderly/tenderly-cli 524 3 months ago Speed up your development with error stack traces
tintinweb/solgrep 145 5 months ago A scriptable semantic grep utility for Solidity
a16z/metamorphic-contract-detector 160 over 2 years ago Check whether a given contract exhibits red flags that could indicate the potential for metamorphism instead of immutability
Echidna 2,779 about 1 month ago Define properties for your smart contract then use fuzzing to catch security bugs
Manticore 3,702 over 1 year ago Detects many common bug types, and can prove correctness properties with symbolic execution
Mythril 3,901 3 months ago Security analysis tool for smart contracts
ethereum/sourcify 791 about 1 month ago Re-compiler that can be used to verify that bytecode corresponds to certain source code
eth-sri/securify2 589 about 1 year ago Tool for analyzing smart contracts for vulnerabilities and insecure coding
Slither 5,394 about 1 month ago 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 3,790 6 months ago 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 2 over 2 years ago GitHub Action that adds a comment to the PR indicating the size of contracts, including size differences

Awesome Solidity / Languages

deno-web3/solc 72 10 months ago Solidity bindings for Deno
solc-js 1,464 3 months ago JavaScript bindings for the Solidity compiler
solidity-parser 155 over 4 years ago Solidity parser built in JavaScript
sulk 9 almost 7 years ago Configurable contract compilation
Soltsice 104 almost 6 years ago Generates strongly-typed TypeScript classes for contracts from Truffle artifacts with a single command
TypeChain 2,766 6 months ago TypeScript bindings for Ethereum smart contracts
hyperledger-labs/solang 1,282 about 1 month ago A Solidity-to-WASM-and-BPF compiler written in Rust
rust-ethereum/ethabi 518 over 1 year ago -Encode and decode smart contract invocations
ocaml-solidity OCaml library providing a parser, a typechecker and miscellaneous utilities for manipulating contracts

Awesome Solidity / Editor Plugins

uml2solidity 37 over 7 years ago Model smart contracts with UML
emacs-solidity 206 over 1 year ago Solidity mode for Emacs
company-solidity 1 almost 7 years ago Autocomplete with company-mode
intellij-solidity 1,080 3 months ago Solidity plugin for IntelliJ
SublimeEthereum 117 9 months ago Solidity syntax for SublimeText
solidity.vim 20 almost 7 years ago Vim compiler plugin
vim-solidity 489 over 3 years ago Vim syntax file
ConsenSys/vscode-solidity-auditor 585 7 months ago 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 15 about 2 years ago Visual Code Extension to generate & store smart contract methods profile
vscode-solidity 904 3 months ago 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

Backlinks from these awesome lists:

More related projects: