ローカル環境でイーサリアムネットワークを立ち上げよう
✅ 環境構築を行う
このプロジェクトの全体像は次のとおりです。
1 . スマートコントラクトを作成します。
- ユーザーが「👋(wave)」をスマートコントラクト上であなたに送るための処理方法に関するすべてのロジックを実装します。
- スマートコントラクトはサーバーコードのようなものです。
2 . スマートコントラクトをブロックチェーン上にデプロイします。
- 世界中の誰もがあなたのスマートコントラクトにアクセスできます。
- ブロックチェーンは、サーバーの役割を果たします。
3 . Web アプリケーション (dApp)を構築します。
- ユーザーはWebサイトを介して、ブロックチェーン上に展開されているあなたのスマートコントラクトと簡単にやりとりできます。
- スマートコントラクトの実装 + フロントエンドユーザー・インタフェースの作成 👉 dAppの完成を目指しましょう 🎉
まず、Node.jsを取得する必要があります。お持ちでない場合は、こちらにアクセスをしてインストールしてください。このプロジェクトで推奨するバージョンはv20です。
インストールが完了したら、ターミナルで以下のコマンドを実行し、バージョンを確認してください。
$ node -v
v20.5.0
🍽 Git リポジトリをあなたの GitHub にフォークする
まだGitHubのアカ ウントをお持ちでない方は、こちら の手順に沿ってアカウントを作成してください。
GitHubのアカウントをお持ちの方は、下記の手順に沿ってプロジェクトの基盤となるリポジトリをあなたのGitHubにフォークしましょう。
- こちらからETH-dAppリポジトリにアクセスをして、ページ右上の
Forkボタンをクリックします。

- Create a new forkページが開くので、「Copy the
mainbranch only」という項目にチェックが入っていることを確認します。

設定が完了したらCreate forkボタンをクリックします。あなたのGitHubアカウントにETH-dAppリポジトリのフォークが作成されたことを確認してください。
それでは、フォークしたリポジトリをローカル環境にクローンしましょう。
まず、下図のように、CodeボタンをクリックしてSSHを選択し、Gitリンクをコピーしましょう。

ターミナル上で作業を行う任意のディレクトリに移動し、先ほどコピーしたリンクを用いて下記を実行してください。
git clone コピーした_github_リンク
無事に複製されたらローカル開発環境の準備は完了です。
🔍 フォルダ構成を確認する
実装に入る前に、フォルダ構成を確認しておきましょう。クローンしたスタータープロジェクトは下記のようになっているはずです。
ETH-dApp
├── .git/
├── .gitignore
├── .yarnrc.yml
├── LICENSE
├── README.md
├── package.json
├── packages/
│ ├── client/
│ └── contract/
└── yarn.lock
スタータープロジェクトは、モノレポ構成となっています。モノレポとは、コントラクトとクライアント(またはその他構成要素)の全コードをまとめて1つのリポジトリで管理する方法です。
packagesディレクトリの中には、clientとcontractという2つのディレクトリがあります。
package.jsonファイルの内容を確認してみましょう。
モノレポを作成するにあたり、パッケージマネージャーの機能であるWorkspacesを利用しています。
workspacesの定義をしている部分は以下になります。
// package.json
"workspaces": [
"packages/*"
],
この機能により、yarn installを一度だけ実行すれば、すべてのパッケージ(今回はコントラクトのパッケージとクライアントのパッケージ)を一度にインストールできるようになります。
ではターミナル上でETH-dAppディレクトリ下に移動して下記を実行しましょう。
yarn install
⚠️ command not found: yarnが発生した場合は、以下のコマンドを実行後、再度yarn installを実行してください(参照)。
corepack enable
yarnコマンドを実行することで、プロジェクトの構築に必要なパッケージのインストールが行われます。
📺 フロントエンドの動きを確認する
次に、下記を実行してみましょう。
yarn client start
あなたのローカル環境で、Webサイトのフロントエンドが立ち上がりましたか?
例)ローカル環境で表示されているWebサイト

上記のような形でフロントエンドが確認できれば成功です。
これからフロントエンドの表示を確認したい時は、ターミナルに向かい、ETH-dApp