5

GitHub - bitbankinc/NLoop: Generic Lightning Loop

 2 years ago
source link: https://github.com/bitbankinc/NLoop
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

We have a two binaries for you to work with.

  • nloopd ... standalone daemon to perform/manage the submarine swap.
  • nloop-cli ... command line tool to work with nloopd (TBD)

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.

  1. bitcoind
  • 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 try nloopd with local docker-compose environment in regtest.

Check README.md in test project

REST API

Check out our openapi.yml (or its rendered version) for the REST API specification.

There is a one endpoint which is not included in the spec. That is a WebSocket endpoint for listening to events.

  • /v1/events

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 swap against lightning-loop-server
  • grpc interface

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK