Solidity

Solidity Introduction

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.

It has Python, C++ and JavaScript influences and is used for Ethereum Virtual Machine ( EVM ). As a result, it is fairly convenient and easy to grasp for those that are already familiar with the Python, C++ or JavaScript. This provides a good opportunity for newcomers to learn how to work with blockchain applications.

For the purposes of learning, Remix is currently the most optimal way of trying out Solidity.


Solidity Introduction

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

Remix

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.

Solidity plugins

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 Introduction Simple Contract

In the later tutorials, we will learn how to make a simple smart contract using Solidity.

Read previous post:
Bootstrap 4 Introduction

Bootstrap 4 is a front-end web development framework. A front-end web development framework gives you access to templates, which make web...

Close