約3.5万円でイーサリアムフルノードを構築する手順①
はじめに
イーサリアムブロックチェーンのフルノードを構築するには、以前はGPUを搭載したマシンが必要で比較的高いスペックが要求されました。
当時、マイニングによる報酬を獲得したい人や企業でないと手が出せかなったのではないでしょうか?
2022年9月から、イーサリアムのコンセンサスアルゴリズムがプルーフ・オブ・ステークにかわり、高額だったGPUが無くとも動作するようになりました。(マージについて)
しかし、依然として16GBのメモリと最低2TBのSSDというのが、個人でイーサリアムのフルノードを構築するにはコストの上で高いハードルとなっていました。
ですが、最近では、2TBの大容量SSDの価格が安くなっています。
そして、CPUがマルチコアで16GBのメモリを搭載したミニパソコンが安く販売されています。
そのため、イーサリアムに興味がある誰もがお試しに購入可能な価格帯になりました。
今回、合計約3.5万円でフルノードを構築したため、2回にわたって大まかな手順をブログにまとめたいと思います。
※構築には、ハードウェア、ネットワークおよびLinuxの技術的知識がある程度必要になるのでご注意ください
1. ハードウェアの購入
イーサリアムのフルノードを構築するのに必要な①~③を購入します。
※GMKtecのミニpcには、Wi-Fiもついてますが、動作確認はしていません(有線=イーサネットケーブルを利用しました)。
①パソコン(マルチコア+16GBメモリ):GMKtec ミニpc 最新第12世代インテルAlder Lake N95 mini pc Windows 11 Proミニpc DDR4 16GB+512GB SSD 4コア/4スレッド 最大周波数3.4GHz WIFI6/BT5.2 TDP 15W 小型pc M.2 2280 NVMe(PCIe3.0) 2.5G有線LANポート付き 静音性 2画面同時出力 ミニパソコン
価格:29,500円 クーポン: 8,000円OFF → 21,500円
②メモリ(2TB高速SSD):SUNEAST 2TB NVMe SSD PCIe Gen 3.0 ×4 M.2 Type 2280 内蔵 SSD 3D NAND
国内正規品 最大転送速度:3400MB/秒 SE900NVG3-2TB
価格:11,280円(メモリは価格が変動しやすいのでご注意ください)
価格:530円
上記合計(①+②+③):33,310円
その他必要なもの(必要に応じて用意してください)
・USBディスク 最低4GB(UbuntuサーバーのUSBブート用)
2. ハードウェアのセットアップ
購入したPCが届いたら、裏側をドライバで開け、入っているPCIe M.2 SSD (2280) 512GBを外し、購入した2TBのSSDを差し込みます。
※SATAのスロットも余っていますが、一般的にSATAのSSDの速度はPCIeより遅いのでお勧めできません。
3. UbuntuサーバーのUSBブートドライブの用意
インターネットにつながる自分のPC(ノートパソコン等)でUbuntuサーバーのISOイメージをダウンロードします。
Rufusを使ってダウンロードしたイメージをブートディスクとしてUSBに書き込みます。
※Rufusの使ってUbuntuサーバーのUSBブートドライブを作成する方法は、こちらのサイトが参考になります。
4. ルーターの設定
ルーターによって多少設定方法が異なりますが、ポートフォワーディングの設定がルーターで必要になります。
ルーターにログインして以下設定を行ってください。
・イーサリアムフルノードのプライベートIPアドレス を固定にする(例:IPアドレス「192.168.1.128」をイーサリアムノードとするならばDHCPの割当を解除する)。
・WANから30303ポート(UDP/TCP両方)を受信した場合、イーサリアムノードへ転送する設定(例:192.168.1.128)
・WANから9000ポート(UDP/TCP両方)を受信した場合、イーサリアムノードへ転送する設定(例:192.168.1.128)
※上記は、最低限のネットワーク設定となります。
※設定には、くれぐれもセキュリティにご注意ください。
5. Ubuntuサーバーのセットアップ
購入したPCにイーサネットケーブルを差し込みルーターにつなぎます。
HDMIディスプレイおよびUSBマウス・キーボード購入したPCに接続してください。
また、作成したUbuntuサーバーのブートディスクを購入したPCに差し込んでください。
最後に、電源をいれるとUbuntuのUSBブートが立ち上がります。
画面に表示される指示の通り、セットアップを進めてくだいさい、イーサリアムノードに設定したい所定のIPアドレス(例:192.168.1.128)と、Google等のDNSアドレス(例:8.8.8.8)を入力してください。
おそらく数分でセットアップが完了します。
セットアップが完了したら、USBディスクを抜いて、電源ボタン押して再度電源を入れてください。
※ハマりポイント①:再度電源を入れてもUbuntuが立ち上がらない場合、ブートの順番をUbuntuサーバーインストールした2TBのSSDにしないといけません。BIOSでブート順序を変更してください。
Ubuntuが立ち上がったら、UFWを有効にします。手順は、こちらが参考になりました。
UFWで、ポート22 (SSH接続)、30303(イーサリアムで利用)、9000(イーサリアムで利用)を解放してください。
$ sudo ufw allow ssh
$ sudo ufw allow 30303
$ sudo ufw allow 9000
$ sudo ufw reload
※イーサリアムフルノードのインストールする手順に焦点を当てているため、よりセキュリティを高める設定はしていないため、各自で行ってください(AppArmorなど)。
※ハマりポイント②:2TBのSSDを認識しないことがあります。以下コマンドで確認し、ubuntu–vg-ubuntu–lvのサイズがおかしい場合(1.9Tになっていない場合)は、論理ボリュームの容量をリサイズする必要があります。リサイズに関しては、こちらを参考にしてください。
$ df -h
まとめ
以上、今回は、イーサリアムクライアントをインストールする手前、Ubuntuサーバーの構築までをまとめました。
ある程度の、ネットワークおよびLinuxサーバーの知識を前提としているため、かなりはしょっています。
Linuxサーバーの知識に不安がある方は、Windowsでの構築をお考え下さい。
次回は、Ubuntuサーバーでのイーサリアムクライアントのインストール方法をまとめます。
以上までで、ご不明点等ございましたら、お気軽にお問い合わせください。
ここまで、読んでくださりありがとうございました。