【環境構築】イーサリアムクライアント / スマートコントラクト開発
- イーサリアムクライアントをインストール
- Node.jsをインストール
- Truffleをインストール
- Ganacheをインストール
イーサリアムクライアント
イーサリアムクライアントには、cpp-ethereum, go-ethereumなど様々なクライアントがあります。
今回はParityを使用。
ParityはParity Technologisによって管理されているクライアントであり、イーサリアムのイエローペーパーの著者であるDr. Gavin Wood氏によって設立された企業です。

2002年にコンピュータシステムとソフトウェアエンジニアリングの工学修士(MEng)を取得してヨーク大学を卒業。
2005年に博士号取得。
イーサリアムを開発する前は、マイクロソフトで研究科学者として働いていました。
2013年から2014年にかけて、ヴィタリックブテリン、チャールスホスキンソン、アンソニーディイオリオ、ジョセフルービンとともに、「地球全体で1台のコンピューター」と表現したイーサリアムを共同設立。
Dr. Gavin Wood氏は主にSolidityの開発を支援し、スマートコントラクトを作成するためのプログラミング言語を提案、イーサリアム財団の最初の最高技術責任者も務めました。
2016年にイーサリアムを去りParityTechnologies(旧Ethcore)を設立。
同社は、2016年の初めにRustで書かれたParity Ethereumソフトウェアクライアントをリリースし、彼は、2018年に ParityのCWOを務めています。
その後彼は、 Polkadotの開発元である分散型インターネットインフラストラクチャとテクノロジーに焦点を当てた非営利組織Web3Foundationを設立。
2019年、彼はPolkadotの初期段階の実験開発環境であるKusamaを設立しました。
Parityをインストール
Windows, macOS, Linux に対応しています。
macOSの場合はターミナルから
bash <(curl https://raw.githubusercontent.com/ethcore/scripts/master/install-deps.sh -L)
# Goerliネットワークを使う
parity --chain-goerli
brewでparityをインストールする場合
brew tap ethcore/ethcore
brew install parity
brew update && brew upgrade parity
brew reinstall parity
MetaMaskのインストール
MetaMaskはChrome, Firefox, Opera, Braveで利用可能なWebプラウザ拡張機能として提供されています。
イーサリアム系の暗号資産や、DApp、NFTゲーム、ブロックチェーンを管理するウォレットアプリです。



ウォレットを作成

パスワードを入力する画面になりますので、パスワードを決めます。
パスワードは今回はWordPressの新規ユーザー追加の画面で自動生成がありますので、そこで生成。
自分で考えたパスワードは推測可能なためあまりおすすめできません。
自分でも推測不可能なパスワードがベストです。
入力すると秘密鍵を手に入れられます。

すべて完了をクリックで無事にウォレットを作成することができました。
Node.jsをインストール
スマートコントラクトやイーサリアムネットワークとのやり取りに使う主要な開発ツールは、実際にはJavaScriptで構築されます。
macOSでインストール
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
nvm install v16.3.0
nvm use v16.3.0
# バージョン確認
node --version
# arm64を確認
node -p process.arch
x86_64版のnodejs 14.xのインストール
arch -x86_64 /bin/zsh
nvm install v14.17.0
exit
nvm use v14.17.0
# Now using node v14.17.0 (npm v6.14.13)
node --version
# v14.17.0
node -p process.arch
# x64
nvm use v16.3.0
# Now using node v16.3.0 (npm v6.14.13)
node --version
# v16.3.0
node -p process.arch
# arm64
Truffle Suiteのインストール
Truffleはブロックチェーンのユーティリティベルトとして機能します。
アプリケーションのコンパイル、テスト、デプロイ、パッケージ化などを行うツールが揃っています。
Truffleはnpmのパッケージとして配布されています。
npm install -g truffle@5.1.31
# バージョンをチェック
truffle -v
bash: nvm: command not found
npmをインストールしたはずなのにbash: nvm: command not foundが返ってきてtruffleをインストールできない場合は次のコードをお試しください。
source ~/.nvm/nvm.sh
source ~/.nvm/nvm.sh
# バージョンチェックでバージョンが表示されればOK
nvm --version
Ganacheをインストール
Ganacheはアカウントを作成するためのツールを備えています。
公式サイトからインストールしましょう。
インストールが完了したら起動してみます。
起動時Ganacheの初期画面はこのようになります。

これでスマートコントラクト開発に必要な環境は揃いました。
みなさんの参考になれば幸いです。
こちらの記事もいかがですか?!
ざっくり歴史把握シリーズは今さら聞けない情報もたくさんありおすすめです!
自分じゃなくてよかった・・・ 株式市場の歴史、実は結構古いんです。
株式市場の歴史をざっくり把握する / Stock market
今さら聞けない・・・ビットコインやイーサリアムの歴史をざっくり把握しておきましょう! 現代でも裁量トレードはまだ残っていますが、この先の未来では裁量トレードを行う人はほとんどいなくなるかと思います。アルゴリズム取引の歴史をざっくり把握する / Algorithmic trading
ナイチンゲールは実はデータサイエンティストだった!? 裁量トレードだって、botトレードだってテクニカル分析の基本を知らなければいけません。こちらもなかなか今さら聞けない分野ですので、歴史についてまずはざっくり勉強していきましょう。
テクニカル分析の歴史をざっくり把握 / Technical analysis
なんとなく頼りないイメージのある経済学者ですが、もちろん凄い人は凄いんです。 FXは慎重に!