今回の目的は
明確です
Solidityの開発を進めるための
開発環境の構築です
早速始めたく思います。
この記事を必要とする方はPCがメインです
モバイルでは見にくい部分があることを
ご了承ください
しかし、始める前に
環境がなければ、開発もままなりません
プログラミングの習得どころではないです。
今回、環境を構築からです。
私の環境です
OS | macOS Ventura 13.01 |
CPU | Apple シリコン M2 |
メモリ | 16G |
Appleシリコンなので少しクセありです
現状windowsの方が使いやすいかもですね
Linuxの構築経験があれば良いですが
構築経験がない場合は、
Linuxの知識もすくなからず
必要です。
また、今回は直接インストールしますが
上級者はdocker上で構築する方が
ローカルの環境を汚さなくていいです。
今回は、株式会社オライリー・ジャパンが発売している
「SolidityとEthereumによる実践スマートコントラクト開発」から
開発環境の構築を
最新のバージョンでmacOSで解説します。
(2023年5月)
実務経験が無い
でもプログラミングで食べていきたい!!
結論:大丈夫です
プログラミング勉強して頑張っても
むりだよね
だって僕がそうだったし
実際にIT企業で働いているよ
面接までも行けないよ〜〜💦
活用してみたらどうだろう?
僕もインターンから企業に入って
実務経験積んだよ
〜〜〜 一番の近道を教えます 〜〜〜
「プログラミングスクール」を利用しましょう
(専門学校でもいいですが時間・お金が必要です、通常の就職活動になり逆にハードルが上がります。)
プログラミングスクールに通い、企業とのインターンシップでのアルバイトを利用し
環境下に身を投じてください。
プログラミングスクールでは企業と協力して
インターン制度を利用する場合があります
それを利用するのです。
なぜなら必ずと言ってIT関連の企業が入って仕事をしています。
雇い主の企業、または、請負・契約等で
入っている企業のいずれかに気に入ってもらうことです。
そこで、入社すれば
あなたは、実務経験者になることができます
いままで相手すらしてくれなかった企業の面接にも通るでしょう
人伝いに入社することが一番の近道です。
そのため、プログラミングスクール等を利用するのが良いです
初めは不安ですよね?
相談から聞いてもらえる
プログラミングスクールを紹介します。
1 未経験から転職、就職を本気で考えている方向け。
2 オンラインで学習完結が可能。 3 現役エンジニアによる充実したサポート体制。 |
1 ネットワークエンジニアに特化したスクール、これは珍しい、ネットワークエンジニアは重宝されます、WEB3でも変わりないです。
2 1ヶ月間のネットワークエンジニア養成研修を経て、就職活動までサポートします。 3 未経験から正社員のITインフラエンジニアとして就業できるよう1からサポート。 |
1 寄り添った丁寧なサポートと驚異の内定率・定着率
2 就職サポートのみならずIT学習のサポートも受けられる (※どちらも完全無料) 3 ブラック企業を徹底排除! (重要!!) |
1 Javaシルバーの取得を目指すITスクール
2 月額44,000円(税込)~破格のサブスクモデル 3 さらに!コース受講 → 転職成功で【実質全額無料】! ウズウズカレッジで就職/転職成功したら、受講料をキャッシュバック! (うれしい) |
1 目的に合わせてカリキュラムが選べる
スタンダートコース」、「ブーストコース」を目的に合わせて学習スタイルを選択可能 2 現役エンジニアによる挫折させないサポート 1人につき1人の担当メンターが付く (心強い) 3 転職・就職サポートつき |
1 受講生に1人ずつ現役のプロのパーソナルメンターがつく
2 チャットで質問すればすぐにプロから回答が返ってくる 3 初心者が9割以上。挫折せずに学べる |
ブロックチェーン技術でのサーバーとクライアントについて
本題にはいるといいつつ・・
まあちょっと待ってください
初心者は
ブロックチェーンでのサーバーとクライアントの
イメージがつかないと思います。
この辺を理解していないと
今後よくわからなくなりますので・・・
ちょっと説明しましょう。
クライアントとは
サーバーへ繋げるソフトウェアのこと
一般にわかりやすいのは
HTTPクライアントなどです
これはサーバーへ、RESTプロトコルを利用して繋げます
皆さんが使うブラウザもその一つ
今回はローカルにサーバーを構築し
テスト環境として繋げます
サーバーとは
サーバーも幅広いですが
サーバーとは、
サーバー機器が設置されたサーバー群であり
実際のコンテンツや
プログラムが存在する場所のことをさします。
インターネットではIPアドレスが割り当てられており
ドメインが存在します。
そのドメインが管理するコンテンツや
プログラムが稼働している機器、場所のことです。
ブロックチェーンでは
サーバー群のような実態は存在しません
それはP2Pが基礎となっており
サーバーではなく、分散されたノードが連なって
ブロックチェーンのネットワークを構築します
開発で必要になるのが
クライアントと
実際にブロックチェーン上で動作させる
プログラムを作成するツールです
ただし、いきなり本番環境のブロックチェーンには繋げず
ローカルの環境でブロックチェーンを動作させ
ローカル上で接続し
開発、テストを繰り返し
完成したものを本番環境(ネット上のブロックチェーン)へ
つなげることになります。
Appleシリコンのmacのshellの注意事項
現行のAppleは
Appleシリコン搭載のmac
M1、M2と言われるCPUに変わり
OSで利用するshellも変更がかかっています
以前はbashであったのですが
zshに変更されています。
これがなかなか厄介
bashで動いていたものが動かないなど
ところどころ問題がでます
私は、zshに変更しています。
ちょっと脱線しますが
zshからbashへ変更する方法を紹介しておきます。
ターミナルを立ち上げて下記コマンドを実施
$ echo $SHELL
/bin/zsh
通常はzshと表示されます。
$ chsh -s /bin/bash
Changing shell for XXXX
Password for XXX:
Passwordを聞いてくるので
パスワードを入力して
SHELLを切り替えます
これで一度は切り替えますが
デフォルトのSHELLはzshのままなので
いろいろと私は困りました。
なので、.bash_profileを作成して
ユーザのデフォルトのSHELLを変更します。
$ cd ~
$ touch .bash_profile
$ vi .bash_profile
.bash_profileでPATHを通します
色々と私の環境は通っているので、一例です
PATH=/bin:/usr/bin:/usr/local/bin:/opt/homebrew/bin:${HOME}/geth:${PATH}
export PATH
ただ、これだけではうまくいかなかったので
ターミナルの設定…から開くシェルを
コマンド(完全パス)を選択して
/bin/bash に変更しました。
Homebrew
homebrewはいろんなページで詳しく紹介されているので
細かくは説明しません
簡単なインストール手順、アンインストール手順を紹介しておきます。
パッケージのライブラリなどの依存関係など
管理してくれるツールです
いろんなソフトを入れる場合
その依存するライブラリを探し
別途インストールのは大変です。
また、バージョンによっても違いがあります
そういったパッケージを管理してくれるツールです。
homebrewのインストール
Homebrewのページに遷移し
画面に表示されているコマンドをコピーして
ターミナル上で実行します
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
ターミナルに表示される内容にしたがって
進めてください。
ログインパスワード等聞かれるので、入力して進めます。
Homebrewのアンインストール
https://github.com/homebrew/install#uninstall-homebrew に詳しくは載っています
アンインストールする場合は
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
画面の指示に従って対応をお願いします。
簡単ですが紹介でした。
Parity (クライアントソフト)
Parityとは
RUSTという言語で作成されたイーサリアムクライアントソフトです。
バイナリファイルでインストールも問題ないのですが
何かあった場合に容易に管理可能な
homebrew上でインストールします。
Parityのインストール
Parityクライアントは
brewのインストールコマンドにて
インストールします。
tapは、公式以外のリポジトリのパッケージを
homebrewに取り込むための準備と思ってください
通常はgithubから取得です。
$ brew tap ethcore/ethcore
インストールです
brewのインストールコマンドを利用します。
$ brew install parity
parityの起動方法
$ parity --chain=goerli
起動させると下記のようなログが出力される
control+Cで終了させましょう
2023-05-04 15:04:08 State DB configuration: fast
2023-05-04 15:04:08 Operating mode: active
2023-05-04 15:04:08 Configured for Görli Testnet using Clique engine
2023-05-04 15:04:14 Public node URL: enode://128e5eea7edfb9bc2f5b91a43e5ba356b26c0674dfa23c064cb955797aa8d53025e27ab24f5adde4d4f73ce795e7ec290861cef11838a347a445c8deb2c5354a@10.41.208.148:30303
2023-05-04 15:04:38 0/25 peers 920 bytes chain 91 KiB db 0 bytes queue 616 bytes sync RPC: 0 conn, 0 req/s, 0 µs
2023-05-04 15:05:08 0/25 peers 920 bytes chain 91 KiB db 0 bytes queue 616 bytes sync RPC: 0 conn, 0 req/s, 0 µs
2023-05-04 15:05:38 0/25 peers 920 bytes chain 91 KiB db 0 bytes queue 616 bytes sync RPC: 0 conn, 0 req/s, 0 µs
Parityのアンインストール
parityのアンインストールは
今回、brewを使っているので簡単です
brew uninstall <パッケージ名> です
$ brew uninstall parity
MetaMask
わからんち MetaMask聞いたことあるよキツネさんの顔したお財布アプリでしょ? kamyuri そうだよwalletはいくつも種類はあるけどほぼみんなが利用するであろうMetaMaskの紹介だよ […]
MetaMaskは有名ですね
あえて詳しくは説明いらないかと
WEB3で必須になるウォレットです
開発でも使いますのでインストールしましょう。
インストールは過去記事で・・・
Node.js
Node.jsはJavaScriptランタイム
いままではjavascriptというと
クライアントで動作させるランライムでしたが
Node.jsの登場でクライアントだけでなく
サーバーも対象となり
いまではいろんなアーキテクトで必要になる言語となっています。
Node.jsのインストール
Node.jsのインストールですが、
brew install で実施するものの
いきなりNode.jsを指定しません
nodebrewを利用します。
ではnodebrewのインストールです
$ brew install nodebrew
で・・・終わりと言いたいのですが
これでは終わりません
よく画面をみてください
You need to manually run setup_dirs to create directories required by nodebrew:
/opt/homebrew/opt/nodebrew/bin/nodebrew setup_dirs
Add path:
export PATH=$HOME/.nodebrew/current/bin:$PATH
まだ作業してくださいと画面に出ているではないですか?
画面の表示通りに
下記コマンドで自分のhomeディレクトリに、
.nodebrewのセットアップを行います。
そのコマンドの通りですが、root権限がいると思います。
$ sudo /opt/homebrew/opt/nodebrew/bin/nodebrew setup_dirs
何もおらないように見えますが・・・
下記コマンドで確認するとセットアップされていることがわかります。
$ ls -la
.nodebrewのディレクトリが作成されているはずです
まだ、このままではnodebrewのコマンドが使えません
PATHの設定をします
私はbashに変更しているため.bash_profileに設定します
PATH=/bin:/usr/bin:/usr/local/bin:/opt/homebrew/bin:${HOME}/geth:${HOME}/.nodebrew/current/bin:${PATH}
export PATH
ご自分の環境に合わせ設定ください
その後確認です
$ nodebrew -v
nodebrew 1.2.0
・・・・
・・・・
この状態だと、肝心のnode.jsはインストールされていません
まずは、利用可能なバージョンを確認
$ nodebrew ls-remote
最新版を入れることにします
後で、修正はできますからね・・・
nodebrew install-binary <version> でインストールします
$ nodebrew install-binary v20.1.0
これでインストールされますが
インストールされた内容を確認します
$ nodebrew ls
v20.1.0
current: none
確かにインストールはされましたが
current:none の表示されています
これはまだ利用するバージョン指定されていないためです
$ nodebrew use v20.1.0
use v20.1.0
これでnode.jsのインストールが完了です
$ nodebrew ls
v20.1.0
current: v20.1.0
Node.jsのアンインストール
node.jsのアンインストールも紹介しますが
nodebrew uninstall <version>
nodebrew clear <version>
nodebrewもアンインストールする場合は
brew uninstall nodebrew
今回の例では下記コマンドですね
必要に応じ.nodebrewのディレクトリがある場合には
そちらも削除、PATHの設定からも削除しましょう
$ nodebrew uninstall v20.1.0
$ nodebrew clear v20.1.0
$ brew uninstall nodebrew
Truffle Suite
Truffle Suiteをセットアップします
truffleは
コントラクト言語を開発するための開発フレームワークです。
Ganacheは
ローカル環境でローカルブロックチェーン環境を構築してくれます。
開発用にプライベートブロックチェーンを準備できます。
https://formulae.brew.sh/formula/truffle では
brew install に対応しているみたいです
truffleのインストール
$ brew install truffle
簡単ですね
念の為バージョンを確認しましょう
$ truffle version
Truffle v5.8.4 (core: 5.8.4)
Ganache v7.8.0
Solidity v0.5.16 (solc-js)
Node v20.1.0
Web3.js v1.8.2
truffleのアンインストール
もう気がついておられると思いますが
homebrewを使っているので
brew uninstall を利用します
念の為 truffleのインストールフォルダも確認して
削除が良いと思います。
$ brew uninstall truffle
$ which truffle
#必要に応じて、フォルダごと削除で
Ganacheのインストール
https://formulae.brew.sh/cask/ganache では
こちらもbrew installに対応しているっぽい
でも–caskの指定が
現状のバージョンって–cask指定しなくても
よくなったはずですが・・・
ちょっと怖いので・・・
指定通りコマンド発行します。
$ brew install --cask ganache
GUIも含みますので
少し時間がかかります
気長に完了まで待ちましょう
インストールが完了すると
GUIなので
Launchpadで確認するとICONが表示されています
これでインストール完了です
Ganacheのアンインストール
brewでインストールしたので
brew uninstall –cask ganache
で可能と思います
GUIですので、macのGUIからも
削除可能ですが
念の為brewから削除する方が良いと思います。
$ brew uninstall --cask ganache
まとめ
初心者は特に開発環境の設定で
手こずることが多いです
また、設定が間違った場合にも
削除でも手こずることもあります
少しでも役に立てるよう
インストール、アンインストールについて
ブロックチェーンのコントラクト言語の
開発に必要な環境面のセットアップについて
まとめました。
すこしでも役に立てば幸いです
さて、実際にプログラミングでの
内容はまた次回で・・・
仮想通貨への関心は底辺、今がチャンス
2024年秋からのバブルに備えよう
おすすめの国内取引所
Coincheck
Coincheckの特徴
-
比較的扱っている通貨が豊富
- セキュリティについては、国内でもトップクラス
-
さまざまな日本円の入金方法
-
入金は銀行振込、コンビニ入金、クイック(Pay-easy)入金が選択可能
-
クイック入金では金融機関の営業時間にかかわらず、24時間365日決済
-
入金は銀行振込、コンビニ入金、クイック(Pay-easy)入金が選択可能
-
NFTの取引ができる
SBI VCトレード
SBI VCトレードの特徴
-
SBIグループが運営する安心安全の暗号資産取引所
- イーサリアム(ETH)のステーキングが可能に
-
取引手数料がすべて無料
-
口座開設手数料
-
ロスカット手数料
-
口座維持手数料
-
入出金手数料
-
取引手数料
-
入出庫手数料
-
口座開設手数料
BitTrade
ビットトレードの特徴
- APT、TONなど取り扱い通貨が豊富
-
セキュリティ評価、世界最高水準
- 取引所の全ての銘柄の手数料が無料
bitbank
bitbankの特徴
-
国内取引所最多38種類のコインの取り扱い
2021年8月現在、国内暗号資産交換業者のWEBサイト調べ。 - 取り扱いコインの全てが板取引可能
- 1円未満の単位から取引可能(アルトコイン)
- L2トークンのOPが取引できる