OSSの暗号通貨ペイメントプロセッサーであるBTCPay Server。Lightning Networkを採用するにあたりジェネシスブロックからビットコインノードを同期するため、稼働環境次第では使えるまで非常に時間がかかってしまう。
実際、安価なVPSで貧弱な環境だと数日、Microsoft Azureなどの高機能な環境でも2日程は要する。
そこで、一旦同期が完了するまでは外部サーバーの特定ブロックでUTXOセットをダウンロードし、ノードに展開することで同期を数時間で完了させられる『FastSync』を採用してみる。
余分なブロックの同期を外部サーバーへ委任し、必要な情報だけを取ってくるのはSPVノードと似ており、合理的だ。
しかし、勿論欠点もある。それは、委任した外部サーバーが悪意を持っていた場合は情報が改ざんされているかもしれないこと。
その欠点を理解できていれば、FastSyncはより良い手段であるといえる。

では、筆者自身がドキュメントに記載されている方法からFastSyncを実施してみたので、その方法を紹介したい。
BTCPay Serverとは何か、はこちらの動画でご確認を↓
解説
解説といってもドキュメントの通りなのだが、日本語の情報もあればと思い記載しておく。
英語での動画はこちら↓
接続
SSHでサーバーへ接続、またはローカルのディレクトリへ移動し、Rootとする。
サーバー
VPS : ssh [email protected]アドレス AWS : ssh -i /hogehoge/example.pem [email protected]アドレス $ sudo su -
ローカル
$ cd btcpayserver $ sudo su -
btcpayserver-dockerディレクトリに移動
$ cd /btcpayserver/btcpayserver-docker
Dockerをシャットダウン
$ ./btcpay-down.sh
FastSyncディレクトリに移動
$ cd /contrib/FastSync
load-utxo-setを実行
$ ./load-utxo-set.sh
Rootへ戻る
$ cd --
Dockerを起動
$ btcpay-up.sh
以上。
数時間、コーヒーを飲んで読書でもしながら待ってこう。
これで、あなたも自分の決済ネットワークを自分でコントロールできるぞ!
BTCPay ServerでLightning Network対応のオンラインストアを構築する方法はこちら↓