ブロックチェーン開発環境を整える Ubuntu 20.04 TRUFFLE SUITE

目次
  1. ブロックチェーン開発環境構築
  2. VPS 選定
  3. サーバー設定
  4. ssh
  5. FTP
  6. GUI
  7. vnc
  8. truffle
  9. ganache
  10. metamask

ブロックチェーン開発環境構築

dapps開発したくて開発環境を整えます。新しいPCを買うお金はないので 月額数百円で利用できる手軽なVPS を手元のmacから構築しようと思います。

VPSは、仮想専用サーバーといって自分だけで使えるサーバーです。基本OS以外のソフトは自前で設定するので比較的自由度が高いです。

VPS サービスは、そのVPSをレンタルしてくれるサービスで、日本だとさくら、かごや、GMO、NTTPC などが運営しています。

VPS 選定

最初、さくらのVPS 1GBでお試し期間で、EthereumクライアントであるGethを試していたんですけど、さすがにメモリー1GBではリソース不足でブロックチェーンのアカウントが作れなかったかったので、メモリー2GBのVPSを探すことになりました。

運営会社によっては、1時間単位からので金支払OKで、価格的にWebARENAか、かごやで結局1日の単位の最安値だったかごやのVPSを選びました。

サーバー設定

コントロールパネルからはじめの設定をします。Ubuntu20.04を選択してインストールします。

ssh

VPS側の秘密鍵を自前のPCにおいて公開鍵認証を行います。

https://support.kagoya.jp/vps/manual/index.php?action=artikel&cat=30&id=113&artlang=ja

FTP

手元の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

GUI

ganacheとmetamaskを使用するためGUIを構築します。

gnome3

sudo apt install tasksel
sudo tasksel install ubuntu-desktop

vnc

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

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

ganache

VPS サーバーのGUIで以下のサイトからLinuxバージョンをDLします。

https://github.com/trufflesuite/ganache/releases

パッケージをインストールするためのライブラリーをインストール

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
    }
  }
};

metamask

VPS サーバーのGUIからchomeを開き、metamask拡張インストールします。

https://metamask.io/

初期設定を済ませて、[設定]-[ ネットワーク]-[ネットワーク追加]をクリック

ganache の画面を見て設定します。

新しいRPC URL : http://127.0.0.1:7545

ネットワーク名: ganache

チェーンID: 5777

通貨記号: ETH