Solidity is a high-level programming language, that is used to implement smart contracts. The contracts created using Solidity can be used for multi-signature wallets, crowdfunding, voting, blind auctions.
For the purposes of learning, Remix is currently the most optimal way of trying out Solidity.
Solidity is a high-level programming language, that is used to implement smart contracts.
It is statically typed and supports inheritance, libraries, user-defined types among other useful features.
Solidity Introduction Resources
The main resources for using Solidity consist of available integrations, such as IDEs, tools for various purposes, parsers and grammar.
Let’s begin with the integrations, since they will be required to get started with practicing Solidity.
Solidity Introduction Integrations
This browser-based IDE provides an inbuilt compiler as a well as run-time environment without server-side components.
This makes it fairly convenient for using and learning Solidity.
Start using Remix.
There are also packages that optimize compilers and code editors for Solidity.
Here’s a list of these integrations:
- IntelliJ IDEA plugin – plugin for IntelliJ IDEA, as well other JetBrains IDEs
- Visual Studio Extension – plugin for Microsoft Visual Studio, includes a compiler
- Package for SublimeText — Solidity language syntax – provides Solidity syntax highlighting
- Etheratom – plugin for the Atom editor, which includes the compiler and runtime environment, compatible with backend nodes and virtual machines
- Atom Solidity Linter – plugin for the Atom editor, providing Solidity linting
- Atom Solium Linter – Solidity linter, that can be configured, for Atom using Solium as base
- Solium – command line linter, strictly follows solidity style guide
- Solhint – linter which provides style guide, security and references best practices for smart contract validation
- Visual Studio Code extension – plugin for Microsoft Visual Studio Code with hightlighting and compiler for Solidity
- Emacs Solidity – plugin for the Emacs editor, which provides highlighting for syntax and error reporting as the code is compiled
- Vim Solidity – plugin for the Vim editor, provides syntax highlighting
- Vim Syntastic – plugin for the Vim editor, provides compilation error reporting
Solidity Introduction Tools
Tools for Solidity provide certain utilities that can be helpful when validating smart contracts.
These tools include:
- Dapp – build tool, package manager, deployment assistant
- Solidity REPL – Solidity command-line console
- solgraph – Solidity control flow visualization, security vulnerability highlighting
- evmdis – EVM disassembler used for performing static bytecode analysis, which provides a greater level of abstraction than raw EVM operations
- Doxity – documentation generation tool
Solidity Introduction Parser And Grammar
The last resource types we will go over is parsers and grammar.
However, in our case we have only a single instance of these two:
- Solidity Grammar for ANTLR 4 – grammar for the ANTLR 4 parser
Solidity Introduction Simple Contract
In the later tutorials, we will learn how to make a simple smart contract using Solidity.