イーサリアムとEVMについて
イーサリアムは、主要な仮想通貨プラットフォームの一つです。
そして、Ethereum Virtual Machine (EVM)は、イーサリアム上でスマートコントラクトを実行するために使用される仮想マシンです。
EVMの概要
EVMが、スマートコントラクトを実行する概要は以下のとおりです。
- まず、EVMはスマートコントラクトを実行するために、必要なリソース(ストレージ、メモリ、ガスなど)を管理します。
- 次に、イーサリアムのブロックチェーン上でスマートコントラクトを実行します。
- 最後に、実行結果をブロックチェーンに書き込み、トランザクションの承認を行います。
EVMを実行するためには、ガスと呼ばれる手数料が必要であり、この手数料はトランザクションの処理量によって決まります。
EVMを使用したスマートコントラクトの実行手順
スマートコントラクトの実行手順は以下のとおりです。
- 開発者はスマートコントラクトのコードをソリディティなどの言語で書きます。
- コードは、ソリディティコンパイラなどを使用してバイトコードに変換されます。
- スマートコントラクトを実行するために、Ethereumネットワーク上にあるノードにトランザクションを送信します。このトランザクションには、スマートコントラクトのアドレス、実行するメソッド名、メソッドに必要なパラメータ、実行するガス量、トランザクションの署名などが含まれます。
- ノードは、トランザクションを受信すると、スマートコントラクトのアドレスを特定し、実行するメソッドを決定します。
- ノードはEVMを使用し、スマートコントラクトが必要とするリソース(ストレージ、メモリ、ガスなど)を管理し、コントラクトのロジックを実行します。
- スマートコントラクトがブロックチェーン上で実行され、トランザクションの承認が行われます。
- スマートコントラクトの実行結果がブロックチェーンに書き込まれます。
- トランザクションが正常に承認されると、スマートコントラクトの状態が永続化され、他のトランザクションからアクセスできるようになります。
イーサリアムで利用されるプログラミング言語
イーサリアムのプログラミング言語であるソリディティは、EVM上で実行されることを意図した言語であり、ERC20トークンの作成にも利用されている。