Resources

General Resources

Integrated (Ethereum) Development Environments

  • Brownie

    Python-based development and testing framework for smart contracts targeting the Ethereum Virtual Machine.

  • Dapp

    Tool for building, testing and deploying smart contracts from the command line.

  • Embark

    Developer platform for building and deploying decentralized applications.

  • Hardhat

    Ethereum development environment with local Ethereum network, debugging features and plugin ecosystem.

  • Remix

    Browser-based IDE with integrated compiler and Solidity runtime environment without server-side components.

  • Scaffold-ETH

    Ethereum development stack focused on fast product iterations.

  • Truffle

    Ethereum development framework.

Editor Integrations

  • Atom

    • Etheratom

      Plugin for the Atom editor that features syntax highlighting, compilation and a runtime environment (Backend node & VM compatible).

    • Atom Solidity Linter

      Plugin for the Atom editor that provides Solidity linting.

    • Atom Solium Linter

      Configurable Solidity linter for Atom using Solium (now Ethlint) as a base.

  • Emacs

    • Emacs Solidity

      Plugin for the Emacs editor providing syntax highlighting and compilation error reporting.

  • IntelliJ

  • Sublime

  • Vim

    • Vim Solidity

      Plugin for the Vim editor providing syntax highlighting.

    • Vim Syntastic

      Plugin for the Vim editor providing compile checking.

  • Visual Studio Code

Solidity Tools

  • ABI to Solidity interface converter

    A script for generating contract interfaces from the ABI of a smart contract.

  • abi-to-sol

    Tool to generate Solidity interface source from a given ABI JSON.

  • Doxity

    Documentation Generator for Solidity.

  • Ethlint

    Linter to identify and fix style and security issues in Solidity.

  • evmdis

    EVM Disassembler that performs static analysis on the bytecode to provide a higher level of abstraction than raw EVM operations.

  • EVM Lab

    Rich tool package to interact with the EVM. Includes a VM, Etherchain API, and a trace-viewer with gas cost display.

  • hevm

    EVM debugger and symbolic execution engine.

  • leafleth

    A documentation generator for Solidity smart-contracts.

  • PIET

    A tool to develop, audit and use Solidity smart contracts through a simple graphical interface.

  • sol2uml

    Unified Modeling Language (UML) class diagram generator for Solidity contracts.

  • solc-select

    A script to quickly switch between Solidity compiler versions.

  • Solidity prettier plugin

    A Prettier Plugin for Solidity.

  • Solidity REPL

    Try Solidity instantly with a command-line Solidity console.

  • solgraph

    Visualize Solidity control flow and highlight potential security vulnerabilities.

  • Solhint

    Solidity linter that provides security, style guide and best practice rules for smart contract validation.

  • Sūrya

    Utility tool for smart contract systems, offering a number of visual outputs and information about the contracts’ structure. Also supports querying the function call graph.

  • Universal Mutator

    A tool for mutation generation, with configurable rules and support for Solidity and Vyper.

Third-Party Solidity Parsers and Grammars