Resources
General Resources
Integrated (Ethereum) Development Environments
- Ape
A Python-based web3 development tool for compiling, testing, and interacting with smart contracts.
- Brownie
A Python-based development and testing framework for smart contracts targeting the Ethereum Virtual Machine. 💡 Note: As per the official docs, Brownie is no longer actively maintained. Future releases may come sporadically - or never at all. Check out Ape Framework (first in list) for all your python Ethereum development needs.
- Dapp
Tool for building, testing and deploying smart contracts from the command-line.
- 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.
Editor Integrations
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 Text
- Package for SublimeText - Solidity language syntax
Solidity syntax highlighting for SublimeText editor.
Vim
- Vim Solidity by Thesis
Syntax highlighting for Solidity in Vim.
- Vim Solidity by TovarishFin
Vim syntax file for Solidity.
- Vim Syntastic
Plugin for the Vim editor providing compile checking.
Visual Studio Code (VS Code)
- Ethereum Remix Visual Studio Code extension
Ethereum Remix extension pack for VS Code 💡 Note: As per the official repository, this extension has been removed from the VSCODE marketplace and will be replaced by a dedicated stand-alone desktop application.
- Solidity Visual Studio Code extension, by Juan Blanco
Solidity plugin for Microsoft Visual Studio Code that includes syntax highlighting and the Solidity compiler.
- Solidity Visual Studio Code extension, by Nomic Foundation
Solidity and Hardhat support by the Hardhat team, including: syntax highlighting, jump to definition, renames, quick fixes and inline solc warnings and errors.
- Solidity Visual Auditor extension
Adds security centric syntax and semantic highlighting to Visual Studio Code.
- Truffle for VS Code
Build, debug and deploy smart contracts on Ethereum and EVM-compatible blockchains. 💡 Note: This extension has built-in support for the Truffle Suite which is being sunset. For information on ongoing support, migration options and FAQs, visit the Consensys blog.
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.
- Aderyn
Rust-based solidity smart contract static analyzer designed to help find vulnerabilities in Solidity code bases.
- Doxity
Documentation Generator for Solidity.
- ethdebug
A standard debugging data format for smart contracts on Ethereum-compatible networks.
- 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
A collection of tools to interact with the EVM. The package 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.
- Scaffold-ETH 2
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.
- Wake
A Python-based Solidity development and testing framework with built-in vulnerability detectors.
Third-Party Solidity Parsers and Grammars
- Solidity Parser for JavaScript
A Solidity parser for JS built on top of a robust ANTLR4 grammar.