Resources --------- General ~~~~~~~ * `Ethereum <https://ethereum.org>`_ * `Changelog <https://github.com/ethereum/solidity/blob/develop/Changelog.md>`_ * `Source Code <https://github.com/ethereum/solidity/>`_ * `Ethereum Stackexchange <https://ethereum.stackexchange.com/>`_ * `Language Users Chat <https://gitter.im/ethereum/solidity/>`_ * `Compiler Developers Chat <https://gitter.im/ethereum/solidity-dev/>`_ Solidity Integrations ~~~~~~~~~~~~~~~~~~~~~ * Generic: * `EthFiddle <https://ethfiddle.com/>`_ Solidity IDE in the Browser. Write and share your Solidity code. Uses server-side components. * `Remix <https://remix.ethereum.org/>`_ Browser-based IDE with integrated compiler and Solidity runtime environment without server-side components. * `Solhint <https://github.com/protofire/solhint>`_ Solidity linter that provides security, style guide and best practice rules for smart contract validation. * `Solidity IDE <https://github.com/System-Glitch/Solidity-IDE>`_ Browser-based IDE with integrated compiler, Ganache and local file system support. * `Ethlint <https://github.com/duaraghav8/Ethlint>`_ Linter to identify and fix style and security issues in Solidity. * `Superblocks Lab <https://lab.superblocks.com/>`_ Browser-based IDE. Built-in browser-based VM and Metamask integration (one click deployment to Testnet/Mainnet). * Atom: * `Etheratom <https://github.com/0mkara/etheratom>`_ Plugin for the Atom editor that features syntax highlighting, compilation and a runtime environment (Backend node & VM compatible). * `Atom Solidity Linter <https://atom.io/packages/linter-solidity>`_ Plugin for the Atom editor that provides Solidity linting. * `Atom Solium Linter <https://atom.io/packages/linter-solium>`_ Configurable Solidity linter for Atom using Solium (now Ethlint) as a base. * Eclipse: * `YAKINDU Solidity Tools <https://yakindu.github.io/solidity-ide/>`_ Eclipse based IDE. Features context sensitive code completion and help, code navigation, syntax coloring, built in compiler, quick fixes and templates. * Emacs: * `Emacs Solidity <https://github.com/ethereum/emacs-solidity/>`_ Plugin for the Emacs editor providing syntax highlighting and compilation error reporting. * IntelliJ: * `IntelliJ IDEA plugin <https://plugins.jetbrains.com/plugin/9475-intellij-solidity>`_ Solidity plugin for IntelliJ IDEA (and all other JetBrains IDEs) * Sublime: * `Package for SublimeText - Solidity language syntax <https://packagecontrol.io/packages/Ethereum/>`_ Solidity syntax highlighting for SublimeText editor. * Vim: * `Vim Solidity <https://github.com/tomlion/vim-solidity/>`_ Plugin for the Vim editor providing syntax highlighting. * `Vim Syntastic <https://github.com/vim-syntastic/syntastic>`_ Plugin for the Vim editor providing compile checking. * Visual Studio Code: * `Visual Studio Code extension <https://juan.blanco.ws/solidity-contracts-in-visual-studio-code/>`_ Solidity plugin for Microsoft Visual Studio Code that includes syntax highlighting and the Solidity compiler. Solidity Tools ~~~~~~~~~~~~~~ * `ABI to Solidity interface converter <https://gist.github.com/chriseth/8f533d133fa0c15b0d6eaf3ec502c82b>`_ A script for generating contract interfaces from the ABI of a smart contract. * `Dapp <https://dapp.tools/dapp/>`_ Build tool, package manager, and deployment assistant for Solidity. * `Doxity <https://github.com/DigixGlobal/doxity>`_ Documentation Generator for Solidity. * `evmdis <https://github.com/Arachnid/evmdis>`_ EVM Disassembler that performs static analysis on the bytecode to provide a higher level of abstraction than raw EVM operations. * `EVM Lab <https://github.com/ethereum/evmlab/>`_ Rich tool package to interact with the EVM. Includes a VM, Etherchain API, and a trace-viewer with gas cost display. * `leafleth <https://github.com/clemlak/leafleth>`_ A documentation generator for Solidity smart-contracts. * `PIET <https://piet.slock.it/>`_ A tool to develop, audit and use Solidity smart contracts through a simple graphical interface. * `solc-select <https://github.com/crytic/solc-select>`_ A script to quickly switch between Solidity compiler versions. * `Solidity prettier plugin <https://github.com/prettier-solidity/prettier-plugin-solidity>`_ A Prettier Plugin for Solidity. * `Solidity REPL <https://github.com/raineorshine/solidity-repl>`_ Try Solidity instantly with a command-line Solidity console. * `solgraph <https://github.com/raineorshine/solgraph>`_ Visualize Solidity control flow and highlight potential security vulnerabilities. * `Securify <https://securify.ch/>`_ Fully automated online static analyzer for smart contracts, providing a security report based on vulnerability patterns. * `SÅ«rya <https://github.com/ConsenSys/surya/>`_ 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 <https://github.com/agroce/universalmutator>`_ A tool for mutation generation, with configurable rules and support for Solidity and Vyper. Third-Party Solidity Parsers and Grammars ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * `Solidity Parser for JavaScript <https://github.com/solidity-parser/parser>`_ A Solidity parser for JS built on top of a robust ANTLR4 grammar.