Awesome
What is NLoop?
It is a submarine swap client against the boltz-backend Currently it imitates the api of the lightning loop.
Read the anouncement blogpost for more detail.
Why use NLoop?
- Supports liquidity management with autoloop (experimental)
- Supports multi-asset swap.
- The server side is boltz, which is OSS. (Which is not the case for lightning loop.)
- Complete immutable audit log with event-sourcing. Which enables you to easily audit how much you have paied as fee during swaps.
- Minimum trust against the server. It validates every information we get from the server.
- Minimize the direct interaction against the server and instead get the information from the blockchain as much as possible.
- As an real-world example of F#/ASP.NET/DDD/EventSourcing
Caution:
NLoop is an open beta: Please use at your own risk. we may introduce backward incompatible changes.
How to
Quick start
nloop is published as single file executable named nloopd
.
Download the latest binary from the release page
and run with --help
to see the possible configuration option.
nloopd
must connect to following services to work correctly.
- or
litecoind
if you want to work with litecoin.
- For saving the application's state.
Probably the best way to check its behaviour is to run it in the regtest. Check the following guide for how-to.
How-to
Check tutorial documents under docs
REST API
Check out our openapi.yml
(or its rendered version) for the REST API specification.
Subscribing to events
If you want to react to the changes caused by nloop, (e.g. notify to slack/discord when the swap starts and/or finished.) we recommend subscribing to eventstoredb directly rather than long-polling the api. Please see the official documentation for how to. Actual object you get is json-encoded Events with metadata.
configuration options
You can see the complete list of startup configuration options with --help
But CLI option is not the only way to specify those variables.
You can also use environment variables start from NLOOP_
.
e.g. for cli options --eventstoreurl
, NLOOP_EVENTSTOREURL
is equivalent.
Future plans
- loop-in autoloop
- support interacting with multiple swap-server
- support c-lightning
[ ] support swap against lightning-loop-serverWe decided not to support lightning-loop server, see: https://github.com/bitbankinc/NLoop/issues/13#issuecomment-1050795958