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