🐣
ブロックチェーン開発メモ ~Ethereum2.0 環境構築編~
やりたいこと
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(トリュフ)をインストール
TruffleはSolidity
とEVM
のための開発フレームワークで、コントラクトのコンパイル、デプロイ、テストを容易にしてくれる。
$ 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