今更ですが、スマートコントラクト開発についての備忘録としてまとめます。
はじめに
この備忘録はブロックチェーン、イーサリアムの基本的な性質を理解している前提で書いています。
今回は開発フレームワークについてまとめます。
開発フレームワークとは
ソフトウェアやアプリケーションを効率的に開発するためのテンプレートやライブラリ、ツールの集まりのことです。
これにより、開発者は1からすべてを作成する必要はなく、共通の機能やパターンを再利用して、生産性を高めたり、コードの品質を高めたりできます。
私はプログラミングを始めた当初、プログラミング言語とフレームワークの違いがよく分かりませんでした。
・プログラミング言語の目的:コンピュータに命令を伝えること
・開発フレームワークの目的:開発の効率化、コードの品質向上、保守性の確保
つまり、開発フレームワークはプログラミング言語を補強してくれる存在です。
各プログラミング言語に対応する代表的なフレームワークが存在します。
プログラミング言語名 | 開発フレームワーク名 |
---|---|
Java | Spring |
Python | Django、Flask |
JavaScript | React、Vue.js |
Solidity | Hardhat、Foundry |
Solidityの推奨フレームワークは上記の通りですが、2023年9月までは最も使われていたフレームワークTruffleを使用します。
現在は開発を停止しているので、テスト開発以外の目的には使用しないでください。
Truffleインストール
TruffleのインストールにはNode.jsのインストールが必要です。
Node.jsとはサーバサイドのJavaScript実行環境の一つです。
Truffleは前述の通り、開発停止されているので最新のNode.jsをインストールしてしまうと互換性がないため、インストールできません。
Node.jsのバージョンはv18をインストールしてください。
MacOSでHomebrewをインストールしている場合は以下コマンドでインストールできます。
brew install node@18
echo 'export PATH="/opt/homebrew/opt/node@18/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
インストールした後に、環境変数にインストールしたNode.js 18をシステムパスに追加することで、node
コマンドを使えるようになります。
実際に確認します。
node -v
v18.20.6
とバージョンが表示されていればOKです。
Truffleと互換性のあるバージョンのNode.jsをインストールできたら
次はTruffleをインストールします。
npm install -g truffle
これはインストールした時の画面スクショです。このように大量の文字が出てきます。
npm warn deprecated
と怒られますが、古いバージョンのnpmパッケージを使っているからです。
今回は無視して大丈夫です。
では、インストールが成功したか以下コマンドで確認します。
truffle version
成功した場合はインストールされたもののバージョンが出ます。
フレームワークなので色々入っていることがわかると思います。
Truffle v5.11.5 (core: 5.11.5)
Ganache v7.9.1
Solidity v0.5.16 (solc-js)
Node v18.20.6
Web3.js v1.10.0
各ツールの説明を簡単にします。
ツール | 説明 |
---|---|
Truffle | 開発フレームワーク。コンパイル、デプロイ、テストを管理 |
Ganache | 開発用のプライベートチェーンを提供 |
Solidity | スマートコントラクト開発言語(最新は0.8.29) |
Node.js | JavaScript実行環境。Truffle, Ganacheを動かすのに必要 |
Web3.js | EthereumとJavaScriptの通信ライブラリ |
Solidityの最新版は公式サイトからインストールできます
これで準備完了です。
スマートコントラクト開発スタートです。
Let's start coding!!