dapps開発したくて開発環境を整えます。新しいPCを買うお金はないので 月額数百円で利用できる手軽なVPS を手元のmacから構築しようと思います。
VPSは、仮想専用サーバーといって自分だけで使えるサーバーです。基本OS以外のソフトは自前で設定するので比較的自由度が高いです。
VPS サービスは、そのVPSをレンタルしてくれるサービスで、日本だとさくら、かごや、GMO、NTTPC などが運営しています。
最初、さくらのVPS 1GBでお試し期間で、EthereumクライアントであるGethを試していたんですけど、さすがにメモリー1GBではリソース不足でブロックチェーンのアカウントが作れなかったかったので、メモリー2GBのVPSを探すことになりました。
運営会社によっては、1時間単位からので金支払OKで、価格的にWebARENAか、かごやで結局1日の単位の最安値だったかごやのVPSを選びました。
コントロールパネルからはじめの設定をします。Ubuntu20.04を選択してインストールします。
VPS側の秘密鍵を自前のPCにおいて公開鍵認証を行います。
手元のmacでファイル編集できると便利なのでFTP設定します。
パッケージ一覧を更新
sudo apt update
vsftpd をインストール
sudo apt install vsftpd
設定ファイルをバックアップ
sudo cp -p /etc/vsftpd.conf /etc/vsftpd.conf_20220713
好みに合わせて設定
sudo vi /etc/vsftpd.conf
ganacheとmetamaskを使用するためGUIを構築します。
gnome3
sudo apt install tasksel
sudo tasksel install ubuntu-desktop
GUIをVNCでローカルのmacから 遠隔操作します。
tigervncを使います。
tigervncインストール
sudo apt-get install tigervnc-standalone-server tigervnc-common tigervnc-xorg-extension
vnc接続するユーザーのパスワードを設定
vncpasswd
一度vncサーバー停止
sudo vncserver -kill :*
vnc接続するユーザーでvncサーバーをセキュアトンネルを利用してないものを接続できないようにするためlocalhostオプションで立ち上げ。
vncserver -localhost
macでセキュアトンネル確立
ssh -L 59000:localhost:5901 -C -N -l hogehoge <vpsサーバーのアドレス>
mac Finder [移動] [サーバーへ接続]から vnc://localhost:59000 でvnc接続
truffleで開発環境を構築していきます。Node.js v12+ LTS と npmが要件です。nodeのバージョンが古ければ新しくします。
mkdir trufflebox
cd trufflebox
sudo node -v
n packageインストール
sudo npm install n -g
Node.js をインストール
sudo n stable
古いバージョンをすべて削除
sudo apt purge -y nodejs npm
シェル再起動
exec $SHELL -l
node のバージョンを確認
sudo node -v
sudo npm -v
truffle インストール
sudo npm install -g truffle
VPS サーバーのGUIで以下のサイトからLinuxバージョンをDLします。
パッケージをインストールするためのライブラリーをインストール
sudo apt-get update && apt-get install -y wget libgtk-3-dev libfuse-dev libgtkextra-dev libgconf2-dev libnss3 libasound2 libxtst-dev libxss1 libx11-6 libx11-xcb-dev
sudo chmod +x ganache-2.5.4-linux-x86_64.AppImage
GUIからパッケージを開きます。
truffle にブロックチェーンのアドレスを設定
cd trufflebox
vi truffle-config.js
module.exports = {
// See <http://truffleframework.com/docs/advanced/configuration>
// for more about customizing your Truffle configuration!
networks: {
development: {
host: "127.0.0.1",
port: 7545,
network_id: "*" // Match any network id
},
develop: {
port: 8545
}
}
};
VPS サーバーのGUIからchomeを開き、metamask拡張インストールします。
初期設定を済ませて、[設定]-[ ネットワーク]-[ネットワーク追加]をクリック
ganache の画面を見て設定します。
新しいRPC URL : http://127.0.0.1:7545
ネットワーク名: ganache
チェーンID: 5777
通貨記号: ETH