イーサリアム(ETH)の「Solidity」ってどんな言語?ノンプログラマー向けに解説

編集部おすすめ交換所

イーサリアム(ETH)の「Solidity」ってどんな言語?ノンプログラマー向けに解説

イーサリアム(ETH)のプラットフォーム上でDApps(分散型アプリケーション)を実装する時には、プログラミング言語は「Solidity(ソリディティ)」がよく使われています。ちょっと聞き覚えがない言語ですよね。少し詳細に踏み込んでみましょう。

イーサリアム(ETH)の「Solidity」出典:solidity

Solidityはコントラクト指向かつ高水準言語です。まずコントラクト指向は、Javaなどのオブジェクト指向と同じような概念です。次に高水準言語とは、抽象度の高いコーディングをする言語です。

Solidityは、C++やPython,JavaScript(いずれもメジャーな言語)による影響を受けており、Ethereum Virtual Machine(EVN)上で実行されるようにデザインされています。

Solidityは、静的に型づけされており、継承、ライブラリ、複雑なユーザ定義型やその他含め、サポートしています。これらにより、Solidityを利用することで、投票、クラウドファンディング、オークション、マルチシグウォレット、その他多数の用途に、コントラクトを記述することができます。

と、ここまでご説明しましたが「百聞は一見にしかず」ということで、スマートコントラクトのコードを見てみましょう。

pragma solidity ^0.4.0;

contract SimpleStorage {
uint storedData;

function set(uint x) public {
storedData = x;
}

function get() public constant returns (uint) {
return storedData;
}
}

まずはじめの「pragma solidity ^0.4.0」は、このコードがSolidityのVesion 0.4.0で記述されてることを示しています。

次に出てくるのが「contract Simple Strage」です。contractは他の言語で使われるclassとよく似ていますね。全体的なまとまりを定義しています。

次は「uint storedData」です。これは、uint型のstoreData変数が定義されています。最後に、function(関数)が2つ続いています。それぞれ、データを変数にセットする関数とその変数の値を戻す関数が定義されています。

これで、「Solidity」の説明は終わりです。よくわからなかった方も多いかもしれませんが、だいたいのイメージを掴んでいただければと思います。

五月雨(筆者)もSolidityのコードは初めて見ましたが、他の言語と大きく変わらないようですので、習得してみる価値はあるかもしれませんね。

参考:Solidity

イーサリアムの価格・相場チャートはこちら

↓Twitterでも情報発信しています!フォローお願いします↓
五月雨まくら(@samidare_makura)

編集部ピックアップ

マルチシグ管理の安心・安全ウォレット