Lightning Networkのノードをmainnetに立てました。基本的にはRun your own mainnet Lightning Nodeに従ってやりました。
大まかな流れ
- Bitcoinのfull node(bitcoind)を立て、最新のblockまで同期する
- Lightningのnode(lightnind)を立てる
- Lightningのnodeで、新しくBitcoinのアドレスを作成し、そのアドレスにBitcoinを入金する
- 他のLightningのnodeに接続する
- 4.で接続したchannelに入金する
です。
1.の同期と、Bitcoinの入金に結構時間がかかります。
あと記事内で使われている lightning-cli getpeers
は、 lightning-cli listpeers
に名前が変わった様です。
今後も名前が変わる可能性は十分にあるので、 lightning-cli help
で確認するのが良さそうです。
Lightning Networkの主な実装には、
- lnd: Lightning Labsが主導で開発。Goで書かれている
- eclair: ACINQが主導で開発。Scalaで書かれている
- c-lightning: Blockstreamが主導で開発。Cで書かれている
があり、今回はc-lightningを使いましたが、開発自体はlndが一番活発な様です。次はlndを立ててみようと思います。
実際にLightning Networkを使って、Lightning支払いを受け付けているBlockstream shopでstickerを買ってみたのですが、本当に支払いが一瞬で終わり、感動を覚えました。
ACINQ社が、testnetで動くandroidアプリを公開していて、実際にモバイルから支払いを試すことができます。Lightningのmobile walletの需要は大きそうなので、iOS向けのライブラリやwalletアプリ開発を時間見つけてやっていきたい。