2021-08-10 15:08:08 +00:00
#########
2018-10-17 13:54:35 +00:00
Resources
2021-08-10 15:08:08 +00:00
#########
2018-10-17 13:54:35 +00:00
2021-08-10 15:08:08 +00:00
General Resources
=================
2018-10-17 13:54:35 +00:00
2021-08-10 15:08:08 +00:00
* `Ethereum.org Developer Portal <https://ethereum.org/en/developers/> `_
* `Ethereum StackExchange <https://ethereum.stackexchange.com/> `_
* `Solidity Portal <https://soliditylang.org/> `_
* `Solidity Changelog <https://github.com/ethereum/solidity/blob/develop/Changelog.md> `_
* `Solidity Source Code on GitHub <https://github.com/ethereum/solidity/> `_
* `Solidity Language Users Chat <https://matrix.to/#/#ethereum_solidity:gitter.im> `_
* `Solidity Compiler Developers Chat <https://matrix.to/#/#ethereum_solidity-dev:gitter.im> `_
* `Awesome Solidity <https://github.com/bkrem/awesome-solidity> `_
* `Solidity by Example <https://solidity-by-example.org/> `_
2022-01-31 14:32:49 +00:00
* `Solidity Documentation Community Translations <https://github.com/solidity-docs> `_
2018-10-17 13:54:35 +00:00
2021-08-10 15:08:08 +00:00
Integrated (Ethereum) Development Environments
==============================================
2018-10-17 13:54:35 +00:00
2021-08-10 15:08:08 +00:00
* `Brownie <https://eth-brownie.readthedocs.io/en/stable/> `_
Python-based development and testing framework for smart contracts targeting the Ethereum Virtual Machine.
2018-10-17 13:54:35 +00:00
2021-08-10 15:08:08 +00:00
* `Dapp <https://dapp.tools/> `_
Tool for building, testing and deploying smart contracts from the command line.
2018-10-17 13:54:35 +00:00
2021-08-10 15:08:08 +00:00
* `Embark <https://framework.embarklabs.io/> `_
Developer platform for building and deploying decentralized applications.
2018-10-17 13:54:35 +00:00
2022-01-31 14:32:49 +00:00
* `Foundry <https://github.com/gakonst/foundry> `_
Fast, portable and modular toolkit for Ethereum application development written in Rust.
2021-08-10 15:08:08 +00:00
* `Hardhat <https://hardhat.org/> `_
Ethereum development environment with local Ethereum network, debugging features and plugin ecosystem.
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.
2021-08-10 15:08:08 +00:00
* `Truffle <https://www.trufflesuite.com/truffle> `_
Ethereum development framework.
2019-03-13 14:08:17 +00:00
2021-08-10 15:08:08 +00:00
Editor Integrations
===================
2019-03-13 14:08:17 +00:00
2021-08-10 15:08:08 +00:00
* Atom
2018-10-17 13:54:35 +00:00
* `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
2021-08-10 15:08:08 +00:00
* Emacs
2018-10-17 13:54:35 +00:00
* `Emacs Solidity <https://github.com/ethereum/emacs-solidity/> `_
Plugin for the Emacs editor providing syntax highlighting and compilation error reporting.
2021-08-10 15:08:08 +00:00
* IntelliJ
2018-10-17 13:54:35 +00:00
* `IntelliJ IDEA plugin <https://plugins.jetbrains.com/plugin/9475-intellij-solidity> `_
Solidity plugin for IntelliJ IDEA (and all other JetBrains IDEs)
2021-08-10 15:08:08 +00:00
* Sublime
2018-10-17 13:54:35 +00:00
* `Package for SublimeText - Solidity language syntax <https://packagecontrol.io/packages/Ethereum/> `_
Solidity syntax highlighting for SublimeText editor.
2021-08-10 15:08:08 +00:00
* Vim
2018-10-17 13:54:35 +00:00
* `Vim Solidity <https://github.com/tomlion/vim-solidity/> `_
Plugin for the Vim editor providing syntax highlighting.
2020-08-06 12:37:22 +00:00
* `Vim Syntastic <https://github.com/vim-syntastic/syntastic> `_
2018-10-17 13:54:35 +00:00
Plugin for the Vim editor providing compile checking.
2021-08-10 15:08:08 +00:00
* Visual Studio Code
2018-10-17 13:54:35 +00:00
2020-08-06 12:39:34 +00:00
* `Visual Studio Code extension <https://juan.blanco.ws/solidity-contracts-in-visual-studio-code/> `_
2018-10-17 13:54:35 +00:00
Solidity plugin for Microsoft Visual Studio Code that includes syntax highlighting and the Solidity compiler.
2022-01-29 08:39:40 +00:00
* `Solidity Visual Auditor extension <https://marketplace.visualstudio.com/items?itemName=tintinweb.solidity-visual-auditor> `_
Adds security centric syntax and semantic highlighting to Visual Studio Code.
2022-11-02 11:23:33 +00:00
* `Hardhat + Solidity Visual Studio Code extension <https://marketplace.visualstudio.com/items?itemName=NomicFoundation.hardhat-solidity> `_
Solidity and Hardhat support by the Hardhat team.
2018-10-17 13:54:35 +00:00
Solidity Tools
2021-08-10 15:08:08 +00:00
==============
2018-10-17 13:54:35 +00:00
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.
2021-08-10 15:08:08 +00:00
* `abi-to-sol <https://github.com/gnidan/abi-to-sol> `_
Tool to generate Solidity interface source from a given ABI JSON.
2018-10-17 13:54:35 +00:00
* `Doxity <https://github.com/DigixGlobal/doxity> `_
Documentation Generator for Solidity.
2021-08-10 15:08:08 +00:00
* `Ethlint <https://github.com/duaraghav8/Ethlint> `_
Linter to identify and fix style and security issues in Solidity.
2018-10-17 13:54:35 +00:00
* `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.
2021-08-10 15:08:08 +00:00
* `hevm <https://github.com/dapphub/dapptools/tree/master/src/hevm#readme> `_
EVM debugger and symbolic execution engine.
2020-01-02 13:09:43 +00:00
* `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.
2022-01-31 14:32:49 +00:00
* `Scaffold-ETH <https://github.com/scaffold-eth/scaffold-eth> `_
Forkable Ethereum development stack focused on fast product iterations.
2021-08-10 15:08:08 +00:00
* `sol2uml <https://www.npmjs.com/package/sol2uml> `_
Unified Modeling Language (UML) class diagram generator for Solidity contracts.
2020-01-02 13:09:43 +00:00
* `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
2021-08-10 15:08:08 +00:00
* `Solhint <https://github.com/protofire/solhint> `_
Solidity linter that provides security, style guide and best practice rules for smart contract validation.
2018-10-17 13:54:35 +00:00
2022-01-31 14:32:49 +00:00
* `Sourcify <https://sourcify.dev/> `_
Decentralized automated contract verification service and public repository of contract metadata.
2018-10-17 13:54:35 +00:00
* `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
2021-08-10 15:08:08 +00:00
=========================================
2018-10-17 13:54:35 +00:00
2020-08-06 13:24:35 +00:00
* `Solidity Parser for JavaScript <https://github.com/solidity-parser/parser> `_
A Solidity parser for JS built on top of a robust ANTLR4 grammar.