#########
Resources
#########
General Resources
=================
* `Ethereum.org Developer Portal `_
* `Ethereum StackExchange `_
* `Solidity Portal `_
* `Solidity Changelog `_
* `Solidity Source Code on GitHub `_
* `Solidity Language Users Chat `_
* `Solidity Compiler Developers Chat `_
* `Awesome Solidity `_
* `Solidity by Example `_
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
    * `IntelliJ IDEA plugin `_
        Solidity plugin for IntelliJ IDEA (and all other JetBrains IDEs)
* Sublime
    * `Package for SublimeText - Solidity language syntax `_
        Solidity syntax highlighting for SublimeText editor.
* Vim
    * `Vim Solidity `_
        Plugin for the Vim editor providing syntax highlighting.
    * `Vim Syntastic `_
        Plugin for the Vim editor providing compile checking.
* Visual Studio Code
    * `Visual Studio Code extension `_
        Solidity plugin for Microsoft Visual Studio Code that includes syntax highlighting and the Solidity compiler.
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
=========================================
* `Solidity Parser for JavaScript `_
    A Solidity parser for JS built on top of a robust ANTLR4 grammar.