solidity/docs/resources.rst
2022-11-02 12:23:33 +01:00

156 lines
6.8 KiB
ReStructuredText

#########
Resources
#########
General Resources
=================
* `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/>`_
* `Solidity Documentation Community Translations <https://github.com/solidity-docs>`_
Integrated (Ethereum) Development Environments
==============================================
* `Brownie <https://eth-brownie.readthedocs.io/en/stable/>`_
Python-based development and testing framework for smart contracts targeting the Ethereum Virtual Machine.
* `Dapp <https://dapp.tools/>`_
Tool for building, testing and deploying smart contracts from the command line.
* `Embark <https://framework.embarklabs.io/>`_
Developer platform for building and deploying decentralized applications.
* `Foundry <https://github.com/gakonst/foundry>`_
Fast, portable and modular toolkit for Ethereum application development written in Rust.
* `Hardhat <https://hardhat.org/>`_
Ethereum development environment with local Ethereum network, debugging features and plugin ecosystem.
* `Remix <https://remix.ethereum.org/>`_
Browser-based IDE with integrated compiler and Solidity runtime environment without server-side components.
* `Truffle <https://www.trufflesuite.com/truffle>`_
Ethereum development framework.
Editor Integrations
===================
* 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>`_
Configurable Solidity linter for Atom using Solium (now Ethlint) as a base.
* 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/vim-syntastic/syntastic>`_
Plugin for the Vim editor providing compile checking.
* Visual Studio Code
* `Visual Studio Code extension <https://juan.blanco.ws/solidity-contracts-in-visual-studio-code/>`_
Solidity plugin for Microsoft Visual Studio Code that includes syntax highlighting and the Solidity compiler.
* `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.
* `Hardhat + Solidity Visual Studio Code extension <https://marketplace.visualstudio.com/items?itemName=NomicFoundation.hardhat-solidity>`_
Solidity and Hardhat support by the Hardhat team.
Solidity Tools
==============
* `ABI to Solidity interface converter <https://gist.github.com/chriseth/8f533d133fa0c15b0d6eaf3ec502c82b>`_
A script for generating contract interfaces from the ABI of a smart contract.
* `abi-to-sol <https://github.com/gnidan/abi-to-sol>`_
Tool to generate Solidity interface source from a given ABI JSON.
* `Doxity <https://github.com/DigixGlobal/doxity>`_
Documentation Generator for Solidity.
* `Ethlint <https://github.com/duaraghav8/Ethlint>`_
Linter to identify and fix style and security issues in 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.
* `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.
* `hevm <https://github.com/dapphub/dapptools/tree/master/src/hevm#readme>`_
EVM debugger and symbolic execution engine.
* `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.
* `Scaffold-ETH <https://github.com/scaffold-eth/scaffold-eth>`_
Forkable Ethereum development stack focused on fast product iterations.
* `sol2uml <https://www.npmjs.com/package/sol2uml>`_
Unified Modeling Language (UML) class diagram generator for Solidity contracts.
* `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.
* `Solhint <https://github.com/protofire/solhint>`_
Solidity linter that provides security, style guide and best practice rules for smart contract validation.
* `Sourcify <https://sourcify.dev/>`_
Decentralized automated contract verification service and public repository of contract metadata.
* `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.
* `Universal Mutator <https://github.com/agroce/universalmutator>`_
A tool for mutation generation, with configurable rules and support for Solidity and Vyper.
Third-Party Solidity Parsers and Grammars
=========================================
* `Solidity Parser for JavaScript <https://github.com/solidity-parser/parser>`_
A Solidity parser for JS built on top of a robust ANTLR4 grammar.