The BOLT 12 Playground
A Sandbox for Hands-On BOLT 12 Testing
Tom Kirkpatrick
Jun 21, 2024
I am pleased to share our latest open source contribution, the BOLT 12 Playground. This project provides a simple to use, hands-on testing environment for those working on or interested in exploring and practically testing BOLT 12, a new payments protocol for the Lightning Network.
Check it out: https://github.com/LN-Zap/bolt12-playground.
BOLT 12 is a protocol that extends the capabilities of the Lightning Network, a second-layer solution for Bitcoin that enables fast, low-cost transactions. BOLT 12 introduces a new type of Lightning Invoice called "Offers," which are reusable, can be used for recurring payments, include advanced security features, and can contain additional information such as refund addresses and payer notes.
See https://bolt12.org/ for more information.
The BOLT 12 Playground is a Docker stack that includes support for the most popular Lightning Network implementations and related components, including Lightning Network Daemon (LND), LNDK, Core Lightning (CLN), Eclair and LDK Node. It connects everything together, initializes wallets, and creates channels between the nodes. Every node in the stack supports BOLT 12, enabling easy experimentation with invoice creation, payments, and other features of BOLT 12.
The BOLT 12 Playground provides an opportunity for Bitcoin professionals and hobbyists to get hands-on experience with the BOLT 12 protocol. It's a sandbox where you can experiment, learn, and gain insights into how BOLT 12 works in practice. Whether you're a developer looking to implement BOLT 12 in your own projects, a researcher studying the Lightning Network, or a Bitcoin enthusiast curious about the latest developments, we think the BOLT 12 Playground may be a useful resource for you.
The BOLT 12 Playground goes beyond a simple sandbox environment. It's also a powerful tool for developers and testers to ensure interoperability between different Lightning Network node implementations, complete with automated tests to prove things out.
The Playground facilitates testing BOLT 12 payments across various node implementations, which can help identify and address potential compatibility issues before real-world deployment.
It allows testing across different channel topologies, including direct channels, multi-hop payments, and even multi-hop payments that traverse nodes from different implementations. This helps ensure BOLT 12 functions seamlessly regardless of the network structure.
The project incorporates an automated integration test suite. Currently, the suite supports simulated payments with LND (via lndk), Eclair, CLN and LDK Node. This automation streamlines testing and facilitates continuous integration practices.
The BOLT 12 Playground is an open-source project, and we encourage contributions from the community. If you're working on a node implementation with BOLT 12 support, we welcome you to test it with and integrate into the BOLT 12 Playground!
To get started using the BOLT 12 playground visit the project's GitHub repository https://github.com/LN-Zap/bolt12-playground.
© 2024 NMLS ID 1902919 (Zap Solutions, Inc.)