#########
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 `_
* `Solidity Documentation Community Translations `_
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.
* `Foundry `_
Fast, portable and modular toolkit for Ethereum application development written in Rust.
* `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.
* `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 Visual Auditor extension `_
Adds security centric syntax and semantic highlighting to Visual Studio Code.
* `Hardhat + Solidity Visual Studio Code extension `_
Solidity and Hardhat support by the Hardhat team.
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.
* `Scaffold-ETH `_
Forkable Ethereum development stack focused on fast product iterations.
* `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.
* `Sourcify `_
Decentralized automated contract verification service and public repository of contract metadata.
* `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.