Solidity とは

完了

Solidity は、スマート コントラクトを作成するためのオブジェクト指向言語です。

スマート コントラクトはブロックチェーン内に格納されたプログラムです。 これらを使用して、デジタル資産の転送に関するルールと動作を指定します。 Solidity は、Ethereum ブロックチェーン プラットフォームのスマート コントラクトをプログラミングするために使用します。 スマート コントラクトには、状態とプログラミング可能なロジックが含まれています。 トランザクションにより、スマート コントラクト内の関数が実行されます。 そのため、スマート コントラクトによってビジネス ワークフローを作成できます。

概要

Solidity は、Ethereum ブロックチェーン用の最も人気のあるプログラミング言語です。

Solidity は C++、Python、JavaScript などの他のプログラミング言語をベースにした高水準言語です。 これらの言語のいずれかを使い慣れている場合は、Solidity コードを理解しやすいでしょう。

Solidity は静的に型指定されます。これは型チェックが、動的に型指定される言語のように実行時ではなく、コンパイル時に行われることを意味します。 静的に型指定される言語は、各変数の型を指定する必要があります。 たとえば、Python と JavaScript は動的に型指定される言語ですが、C++ は静的に型指定されます。

Solidity は、継承をサポートしています。つまり、あるコントラクトに存在する関数、変数、その他のプロパティを別のコントラクトで使用することができます。 この言語は、構造体や列挙型などの複雑なユーザー定義型もサポートしているので、関連するデータの種類をまとめてグループ化することができます。

Solidity は、コラボレーターのコミュニティが拡大しつつあるオープンソースのプログラミング言語です。 Solidity プロジェクトと投稿方法の詳細については、GitHub リポジトリを参照してください。

Ethereum とは

さらに先に進む前に、Ethereum についても理解しておく必要があります。

Ethereum は、ビットコインの背後にある最も人気のあるブロックチェーン プラットフォームの 1 つです。 これはコミュニティによって構築されたテクノロジであり、Ether (ETH) と呼ばれる、売買が可能な独自の暗号通貨が存在します。

Ethereum を唯一無二にしているのは、"世界のプログラミング可能なブロックチェーン" であることです。 Ethereum を使用すると、スマート コントラクトとも呼ばれるコントラクト定義をコーディングすることができます。 スマート コントラクトは、ブロックチェーンの参加者がデジタル資産を転送する方法を記述するために使用されます。 Solidity は、Ethereum プラットフォームでの開発に使用される主要なプログラミング言語であり、Ethereum 開発者によって構築および管理されています。

Ethereum 仮想マシン

Solidity コントラクトは、Ethereum 仮想マシン (略して EVM) 上で実行されます。 これは完全に分離されたサンドボックス環境です。 実行されるコントラクト以外には、ネットワーク上の何もアクセスされません。 現時点では EVM についてもっと詳しく知る必要はありませんが、Solidity のスマート コントラクトは仮想環境に展開されて実行されることにご注意ください。