🐣

ブロックチェーン開発メモ ~Ethereum2.0 環境構築編~

2023/11/22に公開

やりたいこと

Ethereum + Solidityでスマートコントラクトを実装したい。
前回: ブロックチェーン開発環境 構築メモ ~仮想マシン構築編~

注意

※本記事は2023年11月22日時点でのEthereum2.0に対応したインストール方法である。

(2019-2020年頃に発売されたイーサリアム関連の書籍は Ethereum1.0前提で書かれているので、本の通りにやっても大体上手く動かなかったりする...)

Node.js をインストール

nvmでインストールする

$ git clone https://github.com/creationix/nvm.git ~/.nvm
$ vi .bashrc
# ↓追記
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if [ -s ~/.nvm/nvm.sh ]; then
  source ~/.nvm/nvm.sh
fi
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$ source ~/.nvm/nvm.sh
$ nvm install v20.9.0

Solidityコンパイラをインストール

後述のTruffleで使用するバージョンが0.8.21なので指定してインストール

$ npm install -g solc@0.8.21
$ solcjs --version 
# ⇒
# 0.8.21+commit.xxxxxxxx.Emscripten.clang

イーサリアム実行クライアントをインストール

go-ethereumを採用

$ sudo apt install software-properties-common
$ sudo add-apt-repository -y ppa:ethereum/ethereum
$ sudo apt update
$ sudo apt install ethereum
$ geth --version
# ⇒
# geth version 1.13.5-stable-916d6a44

Truffle(トリュフ)をインストール

TruffleSolidityEVMのための開発フレームワークで、コントラクトのコンパイル、デプロイ、テストを容易にしてくれる。

$ npm install -g truffle
$ truffle --version
# ⇒
# Truffle v5.11.5 (core: 5.11.5)
# Ganache v7.9.1
# Solidity v0.5.16 (solc-js)
# Node v20.9.0
# Web3.js v1.10.0

Ganacheをインストール

Ganacheは、Truffleと連携してブロックチェーンの情報が視覚的に分かるデスクトップアプリ。

# AppImageLauncherをインストール
$ sudo add-apt-repository ppa:appimagelauncher-team/stable
$ sudo apt-get update
$ sudo apt-get install appimagelauncher

公式からダウンロードした ganache-2.7.1-linux-x86_64.AppImageをAppImageLauncherで開く。

画面を進めて integrate and runを選択するとGanacheが起動する。

イーサリアムコンセンサスクライアントをインストール

Loadstarを採用

$ git clone -b stable https://github.com/chainsafe/lodestar.git
$ cd lodestar
$ yarn install
$ yarn run build
$ ./lodestar --help
$ ./loadstar --version
# ⇒
# 🌟 Lodestar: TypeScript Implementation of the Ethereum Consensus Beacon Chain.
#   * Version: v1.12.0/stable/7000473
#   * by ChainSafe Systems, 2018-2023

以上。

Discussion