2018-10-17 13:54:35 +00:00
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/> `_
2018-10-27 06:13:56 +00:00
Solidity IDE in the Browser. Write and share your Solidity code. Uses server-side components.
2018-10-17 13:54:35 +00:00
* `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.
2019-03-13 14:08:17 +00:00
* `Solidity IDE <https://github.com/System-Glitch/Solidity-IDE> `_
Browser-based IDE with integrated compiler, Ganache and local file system support.
2020-01-02 10:39:10 +00:00
* `Ethlint <https://github.com/duaraghav8/Ethlint> `_
2019-03-13 14:08:17 +00:00
Linter to identify and fix style and security issues in Solidity.
2018-10-27 06:13:56 +00:00
* `Superblocks Lab <https://lab.superblocks.com/> `_
Browser-based IDE. Built-in browser-based VM and Metamask integration (one click deployment to Testnet/Mainnet).
2018-10-17 13:54:35 +00:00
* 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> `_
2020-01-02 10:39:10 +00:00
Configurable Solidity linter for Atom using Solium (now Ethlint) as a base.
2018-10-17 13:54:35 +00:00
* 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/scrooloose/syntastic> `_
Plugin for the Vim editor providing compile checking.
* Visual Studio Code:
* `Visual Studio Code extension <http://juan.blanco.ws/solidity-contracts-in-visual-studio-code/> `_
Solidity plugin for Microsoft Visual Studio Code that includes syntax highlighting and the Solidity compiler.
Discontinued:
* `Mix IDE <https://github.com/ethereum/mix/> `_
Qt based IDE for designing, debugging and testing solidity smart contracts.
* `Ethereum Studio <https://live.ether.camp/> `_
Specialized web IDE that also provides shell access to a complete Ethereum environment.
* `Visual Studio Extension <https://visualstudiogallery.msdn.microsoft.com/96221853-33c4-4531-bdd5-d2ea5acc4799/> `_
Solidity plugin for Microsoft Visual Studio that includes the Solidity compiler.
Solidity Tools
~~~~~~~~~~~~~~
2020-01-02 13:09:43 +00:00
* `ABI to Solidity interface converter <https://gist.github.com/chriseth/8f533d133fa0c15b0d6eaf3ec502c82b> `_
A script for generating contract interfaces from the ABI of a smart contract.
2018-10-17 13:54:35 +00:00
* `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.
2020-01-02 13:09:43 +00:00
* `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.
2018-10-17 13:54:35 +00:00
* `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.
2019-03-25 13:04:01 +00:00
* `Universal Mutator <https://github.com/agroce/universalmutator> `_
A tool for mutation generation, with configurable rules and support for Solidity and Vyper.
2018-10-17 13:54:35 +00:00
Third-Party Solidity Parsers and Grammars
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* `solidity-parser <https://github.com/ConsenSys/solidity-parser> `_
Solidity parser for JavaScript
* `Solidity Grammar for ANTLR 4 <https://github.com/federicobond/solidity-antlr4> `_
Solidity grammar for the ANTLR 4 parser generator