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.
- 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.
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.