My main project of the last year has been LNPlay. LNPlay is a docker stack application that deploys a bitcoin core node and one or more core lightning nodes, which when running in regtest mode, are positioned on the same overlay network. It's as if you're creating a Private Lightning Network; a microcosm of Lightning Nodes. Perfect for demonstration purposes, but also for development and integration. Could be a good fit for any Core Lightning-based devops pipeline.
This project is a culmination of several efforts:
- LNPlay proper, which deploys the software components required as a docker stack
- CLN-based Prism Plugin development. See roygbiv.guide/about.
- Efforts associated with D++'s "Lightning LARP".
- Ensuring LNPlay is self-hostable, and making it suitable as a development platform.
The last major effort was for Top Builder where I joined forces with Justin Rocket from the Rocket City Bitcoiners. Together we created lnplay.guide and lnwidget.guide.
LNPlay.guide
LNPlay.guide is your source for running your own LNPlay instance. This immediately makes LNPlay available to the entire world for those who are interested and capable of running VM instances (self-hosting or third party hosting).
LNWidget.guide
LNWidget.guide was our attempt to make LNPlay a development platform. On LNWidget.guide, we created a demo application that uses HTMX. We created a few plugins, in particular lightning-cli-rest
and reckless-wrapper
. lightning-cli-rest
is a bash script that translations lightning-cli
commands into curl commands. You have to use -k
style commands, but that's ok!
reckless-wrapper
is a plugin that exposes reckless shell script functionality to Core Lightning nodes over the REST interface. We created this so LNPlay users in possession of a Clams Connect QR code (with connection/rune) can interact with the node using an interactive shell-like environment. Go check out the website to learn more!
reckless-wrapper
formed the basis for the new reckless
RPC command introduced in Core Lightning 24.08.What LNPlay enables is a unique learning experience for teaching people about Bitcoin and Lightning Network. LNPlay deploys all the backend infrastructure for web clients.
It's extremely simple for users to get started! Just give each attendee a special QR code that they can scan and open the link, Clams Remote loads ready to control their own lightning node. Everyone gets 1 regtest bitcoin to play around with! They can go open channels with their neighbors, create and pay to BOLT11 and BOLT12 QR codes, make on-chain payments! You can also do cool things like deploy CLBOSS so channels and liquidity are all taken care of. This was used in the tabconf6 presentation on BOLT12-Prisms.
There's a lot to say about LNPlay, but I'll just direct you to LNPlay.guide for now. That's where I like to keep most of the information associated with the project.
If you appreciate LNPlay and its potential to educate people about Bitcoin/Lightning, consider leaving a tip.