Solidity

Solidityとは、ブロックチェーン上で実行されるスマート・コントラクトを記述するための手続き型プログラミング言語である。キャビン・ウッドによって作成された。JavaScriptやC++に似た構文を持つとされる。SolidityによってコンパイルしたプログラムはEthereum Virtual Machine上での実行が想定されている。

例 
Solidityのプログラムの例は以下のようになっている。pragma solidity >= 0.7.0 <0.8.0;

contract Coin {
    // The keyword "public" makes variables
    // accessible from other contracts
    address public minter;
    mapping (address => uint) public balances;

    // Events allow clients to react to specific
    // contract changes you declare
    event Sent (address from, address to, uint amount);

    // Constructor code is only run when the contract
    // is created
    constructor() public {
        minter = msg.sender;
    }

    // Sends an amount of newly created coins to an address
    // Can only be called by the contract creator
    function mint(address receiver, uint amount) public {
        require(msg.sender == minter);
        require(amount < 1e60);
        balances[receiver] += amount;
    }

    // Sends an amount of existing coins
    // from any caller to an address
    function send(address receiver, uint amount) public {
        require(amount <= balances[msg.sender], "Insufficient balance.");
        balances[msg.sender] -= amount;
        balances[receiver] += amount;
        emit Sent (msg.sender, receiver, amount);
    }
}

実行環境 
Solodityを使えるウェブベース開発環境として、代表的に以下がある。

 Remix IDE
 EthFiddle

Solidityが使えるブロックチェーンプラットフォームは、代表的には以下がある。

 Ethereum
 Binance Smart Chain
 Ethereum Classic
 Tendermint
 Counterparty
 Tron
 Avalanche 
 Milkomeda (Cardano・Solana・Algorandのサイドチェーン)

脚注 

プログラミング言語
暗号通貨
ドメイン固有言語
イーサリアム