目次
仮想通貨イーサリアムの根幹を支えているSolidity(ソリディティ)
Solidity(ソリディティ)とは、イーサリアムの根幹を支えるプログラミング言語です。
最近ではエンジニア養成コースやウェブ上のサービスでも学べるようになってきたSolidityについて、特徴や実行の仕方などを解説します。
Solidityはどういったプログラミング言語?
Solidity(ソリディティ)はコントラクト指向の高水準言語です。コントラクト指向とは、コントラクトする(取引処理を実行させる)目的に特化していることを指します。
イーサリアムの特徴のひとつである、スマートコントラクト(取引契約における過程の全てを自動化するための、規約またはその機能)の実装に欠かせない要素です。
高水準言語とは、人間にとって理解しやすい単語や構文、概念で記述されるプログラミング言語のこと。有名なC++やJavaも高水準言語のひとつです。
そして、Solidityはチューリング完全という、どのようなプログラム(処理を実行させるための命令)でも記述することができるプログラミング言語でもあります。
イーサリアムではプログラムはどのように実行されるのか
イーサリアムで動作するアプリケーションが、Dappsです。Dappsのプログラムは、Solidity(ソリディティ)で記述されています。
イーサリアムで処理を実行させる時には、Solidityで書かれたプログラムを、コンパイラ(高水準言語を機械語に変換するソフトウェア)を通して、Ethereum Virtual Machine Code(EVM Code)に変換するのです。
Solidityは主にsolcというコンパイラを使用しています。また、Remix(旧browser-solidity)というコントラクトのための統合開発環境を利用すると、コンパイラと、イーサリアムで処理を実行できるようにするツールの両方を利用することができます。
Solidityを学べるサービスがある
Solidityを学べるサービスのひとつに、CryptZombies(クリプトゾンビーズ)という海外のブラウザゲームがあります。日本語表示に対応しており、無料でプレイできるので気軽に試すことが可能です。
ゲーム中にはレッスンと呼ばれる課題があり、課題の説明文を読みながら、Solidityで記述していく形式になっています。ヒントも答えも見ることができるようになっているので、行き詰まることなく学習していけるでしょう。
Solidityを覚える価値は十分にある
Solidity(ソリディティ)を覚えたら、自分でDappsを作ることもできます。Solidityの言語はJavaScriptとも似ているので、比較的覚えやすい言語です。
拡大を続けているイーサリアムに使われているSolidityを今から学習し、スマートコントラクト開発者になる事のメリットは大きいのではないでしょうか。