/awesome-solidity

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

Awesome Solidity

awesome list badge build status badge GitHub contributors pull requests welcome badge support via gitcoin 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
  • 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.

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

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

Jobs

Libraries

Tools

General

  • Anish-Agnihotri/MultiFaucet - MultiFaucet drips ETH, tokens, and NFTs across many testnet networks, at once.
  • Cryptofex - Standalone IDE and compiler.
  • dethcrypto/ethereum-code-viewer - View the source of deployed Ethereum contracts in VSCode.
  • eagr/sol-repl - Lightweight, feature-rich REPL for instant feedback.
  • EthFiddle - Find, share and embed contracts.
  • eth-brownie/brownie - Python-based development and testing framework for smart contracts targeting the Ethereum Virtual Machine.
  • 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.
  • Remix - Online realtime compiler and runtime.
  • EthereumStudio - Standalone desktop IDE.
  • raineorshine/solidity-repl - REPL CLI.
  • 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.
  • naddison36/sol2uml - Unified Modeling Language (UML) class diagram generator for smart contracts.
  • 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.
  • tintinweb/solidity-shell - An interactive Solidity shell with lightweight session recording.

Utility

Audit

  • 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

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 - Solidity bindings for Deno.
  • solc-js - JavaScript bindings for the Solidity compiler.
  • solidity-parser - Solidity parser built in JavaScript.
  • sulk - Configurable contract compilation.

TypeScript

  • Soltsice - Generates strongly-typed TypeScript classes for contracts from Truffle artifacts with a single command.
  • 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

Atom

Eclipse

Emacs

IntelliJ

Sublime

Vim

Visual Studio Code

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

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

License

CC0

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