Ethereumは分散アプリケーション・プラットフォームです。Ethereumにおいて分散アプリケーションは、単一のスマートコントラクト、または複数のスマートコントラクトが連携して実現されるものとなっています。この章では最も単純なスマートコントラクトを作成し、それを動作させる手順を追うことで、スマートコントラクトとは何か、どのようにスマートコントラクトを作成しデプロイするのか、そしてどのようにスマートコントラクトを利用するのかを見ていきます。 先に述べたように、Ethereumには2つのタイプのアカウント、つまりEOA(Externally Owned Account)とContractが存在します。Ethereum上でスマートコントラクトの実態はContractアカウントです。 JavaやPythonなどオブジェクト指向言語になじみがある人であればContractアカウントは、オブジェク