A curated list of awesome Solidity resources, libraries, tools and more.
Please check the contribution guidelines for info on formatting and writing pull requests.
- Docs - Official documentation.
- FAQ - Frequently asked question about Solidity.
- Ethereum Wiki - The Ethereum Wiki.
- Solidity Features - List to explain and demonstrate new features as soon as they are completed.
- Ethereum Stackexchange - Ethereum's Stackexchange board.
- Gitter - Gitter channel.
- Solidity Github Repo - Source code.
- Discover Ethereum & Solidity - Complete course that takes you through the process of creating a decentralized Twitter clone using best practices.
- Monax Smart Contract Tutorial - Tutorial series which begins with a very simple smart contract and teaches how to gradually increase the complexity of your contracts with relevant design patterns.
- Solidity Workshop - Comprehensive series of tutorials covering contract-oriented programming and advanced language concepts.
- Upgradable Contracts - Medium article on writing upgradable contracts.
- EthereumDev.io - Complete tutorial from starting to writing complex smart contracts and DApps.
- Learn Solidity - Complete guide on getting started, creating your own crypto, ICOs and deployment.
- CryptoZombies - Interactive code school that teaches you to write smart contracts through building your own crypto-collectables game.
- Hackr.io Tutorials - Community curated tutorials and courses.
- LearnXInY - Learn Solidity in 15 mins (for experienced devs).
- Capture the Ether - Game in which you hack Ethereum smart contracts to learn about security.
- Ethereum Smart Contract Security Best Practices: General security philosophy, known attacks, and sample code.
- DigixDAO contracts - Contracts for DAO-related data structures such as tokens.
- slockit/smart-contract - Smart contracts for the Slock.it project.
- Solidity Baby Steps - Comprehensive collection of contract examples.
- Solidity By Example - Contract examples from the official docs.
- solidity-examples - Examples which provide a starting point for data structures such as heaps and queues.
- Solidity idiosyncrasies - Common gotchas, pitfalls, limitations, and idiosyncrasies.
- raineorshine/solidity-by-example - A collection of short yet fully-functional contracts that demonstrate language features.
- dapp-bin - Ethereum repo providing implementations for many common data structures and utilities in Solidity, Serpent and LLL.
- dapp-scratch - CLI for generating javascript modules from Contracts for Decentralized Apps.
- dappsys - Contract system framework for flexible multi-contract dapps.
- DappTools - Command-line-friendly tools for blockchain development.
- instant-dapp-ide - Complete Dapp and Solidity development environment as a docker image you can run from command line.
- Modular Libraries - Deployed utility libraries to use in your smart contracts.
- Smart Contracts Skeleton - Preconfigured skeleton repository for building or starting with development of Smart contracts.
- DApp development starter - Starter repository with Docker containers for building decentralized applications with Truffle and Node.Js as backend server.
- Solidity Collections - Collections of code snippets and utility libraries.
- Solidity Standard Library - Standard library (Array, random, math, string).
- sqlsol - Event-driven SQLite3 cache for syncing with smart contracts.
- Truffle - Development environment, testing framework and asset pipeline for Ethereum.
- OpenZeppelin - Framework to build secure smart contracts.
- REPL - REPL CLI.
- solgraph - Visualize control flows for smart contract security analysis.
- Remix - Online realtime compiler and runtime.
- SmartCheck - Online tool for checking smart contracts for vulnerabilities and bad practices.
- Securify - Online tool for analyzing smart contracts for vulnerabilities and insecure coding.
- Mythril - Security analysis tool for smart contracts.
- Manticore - Tool for analysis of binaries and smart contracts.
- Porosity - Decompiler and security analysis tool for smart contracts.
- Embark - Framework that allows you to easily develop and deploy DApps.
- solc-js - JavaScript bindings for the Solidity compiler.
- solidity-parser - Solidity parser built in JavaScript.
- sulk - Configurable contract compilation.
- Soltsice - Generates strongly-typed TypeScript classes for contracts from Truffle artifacts with a single command.
- TypeChain - TypeScript bindings for Ethereum smart contracts.
- solhint - Solidity linter that provides security, style guide and best practice rules for smart contract validation.
- solium - Linter to identify and fix style & security issues in Solidity smart contracts.
- sol-tester - Utilities for building, linking and testing contracts using go-ethereum and the simulated chain.
- solidity-coverage - Code coverage tool.
- ethrain - Gets you testnet ether without mining.
- rpc-check - Reviews the json rpc interface from "outside".
- solidity-loader - Webpack loader.
- autocomplete-solidity - Parses Solidity files to give you contextual autocomplete suggestions.
- language-ethereum - Adds syntax highlighting and snippets to Solidity and Serpent files in Atom.
- linter-solidity - Linter.
- uml2solidity - Model smart contracts with UML.
- company-solidity - Autocomplete with company-mode.
- emacs-solidity - Solidity mode for Emacs.
- intellij-solidity - Solidity plugin for IntelliJ.
- SublimeEthereum - Solidity syntax for SublimeText.
- vim-solidity - Vim syntax file.
- solidity.vim - Vim compiler plugin.
- vscode-solidity - Visual Studio Code language support extension.
To the extent possible under law, Ben Kremer has waived all copyright and related or neighboring rights to this work.