JRRF2026 平和島ビットコイン産業
MakerChipをつかったライトニングクレーンゲーム 備忘録・設計編

JRRF2026 平和島ビットコイン産業 MakerChipをつかったライトニングクレーンゲーム 備忘録・設計編

忘れてしまわないうちに備忘録を残しておく。思い出したら随時追記。

今回の構成概要図

設計思想、事の始め

「ライトニング決済を体験させるにしても来場者がsatsをもってなければ体験できない。だからってお金配りはクソの所業、JRRFにふさわしくない。だがMakerChipを配ることは正統であり推奨される行為。ならばMakerChipとライトニング決済を組み合わせよう。MakerChipにwithdrawリンクをいれるが来場者のウォレットに届かない様にチャネルを構成すればお金配りにはならない。ノード運用に慣れた私ならできる!」

どうしてライトニングクレーンゲームなのか

 まずは当サークルの紹介ぺージを参照。ライトニングのラの字もないが自分としてはLNを使うしか能がないのでLNを使うアトラクション的な何かを展示する事にした。そこで思いついたのがBitcoinSwitch。これならライトニング支払いで何か面白い展示ができる。その中でもクレーンゲームは遊べるので非常に都合が良かった。前々から知ってたけど個人でしか使わないなら面白くないと思って手を出さなかった。でもイベントで使うとなれば話は別。四谷ラボさんが既に成功例をyoutubeで公開してたので電子工作が苦手な私には渡りに船。ゲーム機本体はLNbits Shopでキット売り55ポンド約1.2万円もかかり、さらに送料や届くまで日数がかかるので躊躇した。ESP32やリレーは既に持ってたので本体だけ購入できればと思って何でも売ってるアリエクを探したら5千円程度で売ってたので買った。(日本アマゾンでさらに安く売ってた事を後で知った😢)

過去の経験から今回のMakerChip仕様を決定

 お金配りはクソなのでやりたくない。けどお金(BTC)を使ってもらわないとBitcoinSwitchは動かない。さてこの矛盾めいたものをどうにかしようと思い至ったのがMakerChip配りだった。MakerChipはJRRFにおいては名刺。これを交換することは文化らしい。ならばこれにお金を載せればよいと考えた。載せるならLNURL-withdrawで、これならBolt Cardと同じ仕組みになる。Bolt Cardを同じ機能を持つMakerChipを配布すれば来場者にライトニングウォレットを用意させる必要もなくなる。

 MakerChipでは表面にQRコードを造形するのが一般的らしい。その慣習に従ってLNURL-withdrawをQRコードにすることをちょっとは考えた。けど配布する全てのMakerChipにユニークであるLNURL-withdrawを造形するには無理がある。1枚2枚ならともかく100枚単位で用意するには専用のツールを開発するところからやらねばならない。LNbitsでリンクのリストを出力して、それを入力にして造形まで一貫して自動でやらないと作れない。そんなの自分には無理。できる範囲で作って枚数を限定してしまったらLN体験ができる人が限定されてしまうのでとても受け入れられない。なので却下。

 Bolt Cardと同じくNFCタグならば作った後に固有のリンクを書き込めば良い。今年初めにラズパイとSONYのNFCタグリーダライタPaSoRiをPythonで扱う実験をしていたので、この応用として任意のデータを書き込めば実現可能だろうと確信もあった。
 NFCタグはBolt Cardと同じNTAG424 DNAだとアリエクでまとめ買いしても1枚160円なのでコスト的に辛いし鍵管理も大変過ぎる。イベント期間限定かつ再利用なしの1回こっきりと割り切って普通のNTAG215のシールタイプを選んだ。表面にはBとサークル名を装飾したかったのでMakerChip内部に入れることにした。こちらの記事を参考にして造形中に一時停止する方法は体験済みだったので不安はなかった。
(最初の最初は来場者のライトニングウォレットに引き出し可能とし、そのウォレットから支払い可能なLN体験、と仮定していたので互換性重視のlightning:LNURL~が入るように215を選んで調達してた。後にウォレットに引き出し不可に変更したのでlnurlw://~の短いURLが入る小容量の213でも良かったことが判明。最初からキッチリ仕様を詰めてない、割と行き当たりばったり)

LNURL-withdrawを簡易に運用するならLNbits

 自分LNbits以外にそういうのがあるのか知りません! それはともかく、個人レベルでLNURLを使うならLNbitsは大変便利。今回のLNURL-withdrawはLNbitsで実現した。

 もともと自分のドメイン名をつかって自分用のライトニングアドレスを運用しているので自分ドメインからMakerChip用のサブドメインを作った。MakerChipで引き出す専用のLNbitsも用意した。JRRF2026終了後にサブドメインを削除すれば名前解決に失敗してLNbitsにリクエストが飛んでこなくなるという利点もある。

 LNbitsでは利用者ごとにアカウントを用意し、アカウントごとに複数ウォレットを持てる。LNURL-payやwithdrawはエクステンションとして機能が提供されており、ウォレットとLNURLを紐づける。
 今回はMakerChip用のアカウント1つ、MakerChipの枚数分のウォレットをそのアカウントに作って各ウォレットにLNURL-withdrawを作った。あとで消す時にアカウント1つ消せばいいのでウォレット数を増やす方向にした。

ネット接続がなかったらただの置物

 デジタルマネーで電子決済だから仕方ないやろがい。昨年のJRRF2025ではWiFiが軒並み使えなかったと聞いて戦々恐々だったがそれでもやるしかなかった。
 手持ちのモバイルルーターNEC製 Aterm MR10LN LTEを使ってネット接続を確保した。WiFiは混線を防ぐため出力を12.5%に絞り、チャンネルを1chに固定。開催時にスマホのWiFiアナライザアプリを使って6ch, 11chが空いてたらそこへ移動することにした。
 このモバイルルーターにぶら下がる端末はクライアントのラズパイとESP32。ESP32は有線できない。ラズパイはできるのでMR10LN用クレードルを用意し有線接続させた。(クレードルは単純そうなのに価格高いよどうなってるの)
 それでもダメだった場合はラズパイのGPIOに電磁リレーを繋いでタッチしたらGPIOピン出力でクレーンゲームを動かすつもりでいた。ビットコイン関係なくなっちゃうけどな!
 実際どうなったかは運用・反省会編に記載しました。

<追記>

完成したのがこれ

景品はお菓子じゃなくてビットコインのシンボルのオブジェ

Remaining : 0 characters / 0 images
100

Sign up / Continue after login

Related stories

Writer

甘いもの大好きメタボ猫。マイペースなのはしょうがない。 nostr:npub10zeurmg22wc89l8m3npw9cyu45cun0lvs6w3ep69cdpa25pna65s0994qz

Share

Popular stories

【Umbrel】BlueWallet Lightning & tailscaleで便利で快適なLightningウォレットを作ろう!

605

【Umbrel】OCEANからマイニング報酬をライトニングで受け取るには【Sparrow Wallet】

384

【Umbrel】LNURLが使いたいから自分で環境つくってみた

362