0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【備忘録】スマートコントラクト開発準備②

Posted at

今更ですが、スマートコントラクト開発についての備忘録としてまとめます。

はじめに
この備忘録はブロックチェーン、イーサリアムの基本的な性質を理解している前提で書いています。

今回は開発フレームワークについてまとめます。

開発フレームワークとは

ソフトウェアやアプリケーションを効率的に開発するためのテンプレートやライブラリ、ツールの集まりのことです。
これにより、開発者は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  

image.png

これはインストールした時の画面スクショです。このように大量の文字が出てきます。
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!!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?