【Umbrel】OCEANからマイニング報酬をライトニングで受け取るには【Sparrow Wallet】
マイニング大好き全てのビットコイナーこんにちは。マイニングプール"OCEAN"でマイニング報酬をライトニングネットワーク(Lightning Network)で受け取る方法を紹介します。
OCEANのライトニングでマイニング報酬を受け取るための公式ドキュメント(OCEAN Lightning Payouts)はこちらです。このドキュメントではStart9というディストリビューションで解説していますが、この記事ではUmbrelを利用します。
★重要★
・ビットコインおよびライトニングネットワークに理解のある人向け。
・以下を一読し、無理そうだと思ったらBraiinsというマイニングプールがより簡単な設定でライトニング報酬支払いをやってますので、そちらを選ぶのも良いでしょう。
・利用できるライトニングウォレットは自分で建てたCore-Lightningノードだけです。LND他ライトニングノードは不可。
【用意するもの】
- Umbrel ラズパイ4&SSD構成、Umbrel HomeどちらでもOK
- Sparrow Wallet Strarumワーカー名となるオンチェーンアドレスを作るため。及びメッセージへの署名を行うため。
- ビットコイン チャネルを開くための資金として使う。自分のウォレットで保有しているものでも取引所に置いてあるものでも可。取引所から引き出す時はプライベートウォレット宛として引き出しましょう。
【手順】
- Umbrelで必要なアプリをインストール
- ライトニングノードでチャネルを開き、インバウンドキャパシティを用意
- Sparrow Walletでオンチェーンアドレスを作成
- ライトニングで報酬を受け取るためのLN Offerを作成
- オンチェーンアドレスをStratumワーカー名にしてマイニング
- Offerをもとにメッセージを作成、Sparrowで署名してOCEANに提出
1.~3.が下準備、4.~6.が本題のOCEAN Lightning Payoutsのための設定手順になります。
<手順詳細>
1.Umbrelで必要なアプリをインストール
必要なアプリは以下2つ。順番にインストールする。
- Bitcoin Node
- Core Lightning ※略してCLNとも呼ばれる。
2.ライトニングノードでチャネルを開き、インバウンドキャパシティを用意
ライトニングネットワークでビットコインを受け取るにはチャネルを開いてインバウンドキャパシティ(受け入れ可能額)を用意する必要がある。今回は最も古くからある”自分のビットコインでチャネルを開き、送金してインバウンドキャパシティを作る”方法を用いる。
2-1. 自分のCore-Lightningノードへビットコインを送る
Umbrelダッシュボードで「Core-Lightning」をタップ、CLN管理ページに飛ぶ。
Bitcoin WalletのDepositをタップ、このCLNノードのオンチェーンアドレスを表示。
表示されたオンチェーンアドレスへ自分のウォレットからビットコインを送金する。
1承認でも取れれば以下のように金額が表示される。
2-2. Boltz|CLNノードとチャネルを開く
今回はBoltz|CLNノードと開く。理由はBoltzもCLNノードであること、LNのBTCとオンチェーンBTCを交換するスワップサービスを提供しておりインバウンドキャパシティを用意するのに便利だから。
Boltz|CLNノードの情報は以下。このノードとチャネルを開くには最低でも50万satsが必要。CLNでは何故かぴったり50万satsで開けないので今回は60万satsで開くことにする。
上記のリンクからBoltz|CLNのページへ飛び、赤丸の箇所をタップしてノードURIをコピーする。
※2024年11月11日時点で、ノードURIは以下となっている。
02d96eadea3d780104449aca5c93461ce67c1564e2e1d73225fa67dd3b997a6018@45.86.229.190:9736
CLN管理ページで「Open Channel」をタップ。
Node ID欄にノードURIを入力、Amountに600,000を入力、「Open Channel」をタップ。ノード接続とチャネルを開く処理が始まる。
相手ノードと接続完了し、チャネル資金となるトランザクションが作られてネットワークに送信されると次の表示になる。これをタップすると詳細とトランザクションIDが確認できる。ブロックエクスプローラで確認するのに使える。
このトランザクションが6つ承認されるとチャネル開設完了となり、以下の表示となる。
2-3. Boltz|CLNへ送金してインバウンドキャパシティを作る
2-2.完了時は送金可能額600,000sats、受け取り可能額0satsで全く受け取り出来ない。どこかへ送金すれば受け取り可能額、つまりインバウンドキャパシティができる。
今回はBoltz.exchangeを使い、自分のCLNからBolt|CLNノードへライトニング送金、送金した分をオンチェーンBTCへ交換、CLNのオンチェーンウォレットで受け取る手順とする。先ほど開いたBolt|CLNノードあてに送金するので中継手数料は発生しない。
※別のライトニングウォレットを所有しているなら、Boltz.exchangeを使わず別ウォレットへ送金してインバウンドキャパシティを作るのも良し。
LIGHTNINGの欄に500,000を入力、下の「Enter BTC address」には2-1.と同じ操作で新しいオンチェーンアドレスを作って入力、「CREATE ATOMIC SWAP」をタップ。
下の「LIGHTNING INVOICE」をタップしてインボイスをコピーする。
CLN管理ページの「Lightning Wallet」でSend をタップ、Invoiceの欄に先ほどコピーしたインボイスを入力して「Send Payment」をタップ。
送金が完了するとBoltz.exchangeからオンチェーンBTCがCLNに送金される。
「OPEN CLAIM TRANSACTION」で該当トランザクションをブロックエクスプローラにて確認できる。
Boltz.exchangeからの送金TXが承認されるとオンチェーンウォレットに反映される。2-1.からの一連の操作をやると以下のスクショのようになる。
・右上端にMaximum Send(最大送金額)が10万sats、Maximum Receive(最大受け取り額、インバウンドキャパシティ)が50万sats
・Boltz.exchangeを使って50万satsをライトニングで送金したので-500,000sats
・500,000satsから手数料などが引かれた分のオンチェーンBTCが加算される。
3.Sparrow Walletでオンチェーンアドレスを作成
マイニングプールに参加してマイニングするにはStratumユーザー名(ワーカー名とも呼ぶ)が必要。このワーカー名は「オンチェーンアドレス.<任意の名称>」となっており、オンチェーンアドレスを利用する。プールがマイニング報酬をこのアドレスに送金するためである。
CLNで作ったオンチェーンアドレスでもワーカー名にできるが、OCEANのライトニング報酬受け取りではアドレスの対となっている秘密鍵で”署名”するという作業が必要だが、CLNでは署名ができない。なので署名機能があるオンチェーンウォレット”Sparrow wallet"を利用し、ワーカー名となるオンチェーンアドレスを作成する。
こちらのリンクからSparrowのホームページに行ってソフトウェアをダウンロード、インストールしてください。
3-1. ウォレットの作成
メニューのFile→New Walletを選び、任意のウォレット名を付けてウォレットを作成。Keystonesにある「New or Imported Software Wallet」を選ぶ。
ニーモニック作成する。「Use 12 Words」を選択して「Generate New」をタップ。
※ニーモニックの単語数はお好みで変更してください。
12個の欄に英単語が表示される。ニーモニックを書き写してバックアップしたら「Confirm Backup...」をタップ。
書き写したニーモニックを入力して「Create Keystone」をタップ。
「Import Keystone」をタップ。
Setting画面に切り替わるので「Apply」をタップ。
ウォレットにパスワードを設定するか尋ねられるので任意に設定してください。
3-2. アドレスの作成
左メニューの「Receive」をタップ。「Address」に受け取りオンチェーンアドレスが表示される。このアドレスをワーカー名に利用する。
Labelに"OCEAN Payouts"と入力。
※後でこのアドレスを何に利用しているか見分けるのに便利です。ビットコインアドレスには影響を与えません。任意に変更してかまいません。
以上でライトニングでマイニング報酬を受け取るための下準備ができました。
次の4.~6.でOCEANからライトニングでマイニング報酬を受け取るための設定を行っていきます。
4.ライトニングで報酬を受け取るためのLN Offerを作成
CLN管理ページでLN Offerを作成する。
1. 管理ページのLightning Walletで「Receive」をタップ
2.「Offer」を選択
3. 3-2.で作成したオンチェーンアドレスを使ってDescriptionに必ず以下を入力
”OCEAN Payouts for オンチェーンアドレス”
4. Amountには何も入力しない
5.「Generate Offer」をタップ
「Generate Offer」をタップするとLN Offerが作成されるのでコピーしておく。
Lightning Walletで「Offer」タブをタップ、IDをタップすると先ほど作ったLN Offer(Bolt 12)が表示される。ここからでもコピーできます。
5.オンチェーンアドレスをStratumワーカー名にしてマイニング
3-2.で作成したオンチェーンアドレスを使ってStratumワーカー名としてマイニングしましょう。マイニングしてないとユーザーごとのDashboardページが表示されません。そのページからライトニングで報酬を受け取るための設定ができるので頑張ってマイニングしましょう。
<参考>
Bitaxe(AxeOS version 2.3.0)を使ってOCEANでマイニングするための設定は以下スクショ参照。Stratum Userは オンチェーンアドレス.bitaxe とする。
version2.3.0からは第1マイニングプールと通信が途絶した場合、第2マイニングプールに切り替えてマイニングを継続する。スクショでは第1がOCEAN, 第2がpublic poolとなっている。Stratum Userは同一で可。
6.Offerをもとにメッセージを作成、Sparrowで署名してOCEANに提出
マイニングしてシェアが発生していれば自分の状態を表示するページ(Dashboard)が用意される。このページで「Search by username」の欄にオンチェーンアドレスを入力してDashboardへ飛ぶ。
Dashuboardに行けたら
・「Configuration」のタブを選択
・「Lightning BOLT12 Offer」欄に4.で作ったLN Offerを入力
・「GENERATE」をタップ
GENERATEの下にスクショのようにメッセージが表示される。
「Copy」をタップしてメッセージをコピー。
Sparrow Walletにて以下の操作をする。
・メニューのToolsから Sign/Verify Messageを選択
・Addressに3-2.で作ったオンチェーンアドレスを入力
・Messageにさきほどコピーしたメッセージを入力
・「Sign」をタップ
「Sign」をタップすると「Signature」の欄に署名が現れる。署名をコピー。
コピーした署名をOCEANのConfigurationの下にある「Paste signature here」に入力、「CONFIRM」をタップ。
以上でOCEANからライトニングでマイニング報酬を受け取る設定が完了しました。
<終わり>
(追記 2024/11/22)
上記の通りに設定し、マイニング報酬を受け取ると以下のような表示が出てきます。
OCEANがブロック掘り当てないと報酬発生しません。
報酬発生しても直ちにライトニングで報酬が送金されるわけではないようです。場合によっては数回分をまとめて送金するみたいです。
下例でいうと、3個分合計64satsの報酬が発生してます。
Lightning payoutsを見ると64satsとなってて3個分がまとめてLN送金されているのがわかります。
【Tips】
- boltz.exchangeでの手数料はオンチェーンの手数料相場次第なのでとんでもなく高い時がある。
- Boltz|CLNノードとチャネルを開いてもすぐに送金できない可能性がある。LN送金では経路情報が必要で、開いたばかりだとこの経路情報が十分ではないので失敗していると思われる。一両日ぐらい放置してみてもいいだろう。
- Sparrow WalletはLedgerNanoなどのハードウェアウォレット(HWW)と併用可能。上記手順だとホットウォレットになるので替わりにHWWを利用するのも良き。奇跡的にブロック掘りあてて数BTC手に入ったならホットウォレットには置いておけないでしょ?
ライトニングネットワークでのノード運用について困ったことがあったらDiamond Handsを訪ねてみてください。私tanakeiはそこにいます。
有料パートには何もありません。