Skip to content

Repository files navigation

Awesome Solidity

awesome list badge build status badge GitHub contributors pull requests welcome badge

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

Please check the contribution guidelines for information on formatting and writing pull requests.

Contents

Resources

Official

Tutorials

Articles

Security

Audits
  • Arbitrary Execution - Public security audits by the Arbitrary Execution Team.
  • Code4rena - Auditors compete to identify and eliminate high-severity bugs before production.
  • Consensys Diligence - Public security audits by the Consensys Diligence Team.
  • Hacken - Public security audits by the Hacken Team.
  • Immunefi - Bug bounty platform focused on blockchain and smart contract security.
  • MixBytes - Public security audits by the MixBytes Team.
  • OpenZeppelin - Public security audits by the OpenZeppelin Security Team.
  • SpearbitDAO - Public security audits by the SpearbitDAO Team.
  • Trail of Bits - Public security audits by the Trail of Bits Team.

Examples

Educational
Deployed on Ethereum Mainnet

Templates

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 - Set of challenges to hack DeFi implementations on Ethereum.
  • OpenZeppelin/ethernaut - Web3 wargame played in the Ethereum Virtual Machine. Each level is a smart contract that needs to be 'hacked'.
  • Solidity-Challenges - Offers a wide range of challenges, from language-specific tasks to exploit-focused scenarios. Contributors are welcome to add new challenges.

Jobs

Libraries

Tools

General

  • Anish-Agnihotri/MultiFaucet - MultiFaucet drips ETH, tokens, and NFTs across many testnet networks, at once.
  • ChainBench/OpenChainBench - Continuous benchmarks for RPC provider latency, stale-state probability, and L1/L2 finality across 20+ EVM chains. Useful for infrastructure selection and integration testing.
  • 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.
  • dapphub/dapptools - Command-line-friendly tools for blockchain development.
  • dethcrypto/ethereum-code-viewer - View the source of deployed Ethereum contracts in VS Code.
  • eagr/sol-repl - Lightweight, feature-rich REPL for instant feedback.
  • EthereumStudio - Standalone desktop IDE.
  • foundry-rs/foundry - Blazing fast, portable and modular toolkit for Ethereum application development written in Rust.
  • Hardhat - Development environment to compile, deploy, test, and debug your Ethereum software.
  • instant-dapp-ide - Complete dApp development environment as a Docker image you can run from the command line.
  • Laika - Make requests to smart contracts without the hassle of writing a single line of code.
  • lfglabs-dev/verity - Lean 4 framework for specifying and proving smart contract properties, with EVM-oriented output.
  • 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 real-time compiler and runtime.
  • SIF - Code generation from the AST, analyze and instrument source code.
  • Smart Contract Sanctuary - Home for Ethereum smart contracts, with verified contracts from Etherscan.
  • sol-merger - Merge all imports into a single file for contracts.
  • solgraph - Visualize control flows for smart contract security analysis.
  • solidity-docgen - Documentation generator for smart contract projects.
  • Sourcify - Decentralized and open-sourced smart contract verification service.
  • Tenderly - Easily monitor your smart contracts with error tracking, alerting, performance metrics, and detailed contract analytics.
  • Testnet Faucets - Directory of testnet faucets across 40+ networks, health-checked daily and verified on-chain, with a free JSON API.
  • tintinweb/solidity-shell - Interactive shell with lightweight session recording.
  • weiroll/weiroll - Simple and efficient operation-chaining/scripting language for the EVM.

Utility

Audit

  • Aderyn - Rust-based open-source static analyzer for finding vulnerabilities in smart contracts.
  • Echidna - Define properties for your smart contract then use fuzzing to catch security bugs.
  • eth-sri/securify2 - Tool for analyzing smart contracts for vulnerabilities and insecure coding.
  • ethereum/sourcify - Re-compiler for verifying that bytecode corresponds to specific source code.
  • Mythril - Security analysis tool for smart contracts.
  • MythX - Detect security vulnerabilities in Ethereum smart contracts throughout the development lifecycle.
  • Slither - Static analyzer with support for many common bug types, including visualization tools for security-relevant information.

DevOps

  • 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.

Languages

JavaScript

  • deno-web3/solc - Compiler bindings for Deno.
  • solc-js - JavaScript bindings for the compiler.
  • sulk - Configurable contract compilation.

TypeScript

  • TypeChain - TypeScript bindings for Ethereum smart contracts.

Rust

OCaml

  • ocaml-solidity - OCaml library providing a parser, a typechecker and miscellaneous utilities for manipulating contracts.

Editor Plugins

Eclipse

Emacs

IntelliJ

Sublime

Vim

Visual Studio Code

👉 For a comprehensive list, see results for "Solidity" on Visual Studio Marketplace.


License

CC0

To the extent possible under law, Ben Kremer has waived all copyright and related or neighboring rights to this work.