Coder Social home page Coder Social logo

suez's Introduction

Suez

Tool for pretty printing and optimizing Lightning Network channels.

screenshot

Installation

  1. Install poetry
  2. poetry install
  3. poetry run ./suez

Channel fee policy

You can set channel fees by passing --base-fee and --fee-rate parameters.

For example:

poetry run ./suez --base-fee 1000 --fee-rate 200

You can override the channel fee policy by changing the FeePolicy class.

Example implementation does the following:

  • sets lower fee rate for channels with mostly local balance
  • sets higher fee rate for channels with mostly remote balance
  • sets medium (close to specified) fee rate for balanced channels

You control the spread via the --fee-spread argument. By default --fee-spread is set to 0.0 (no spread).

For example:

poetry run ./suez --base-fee 1000 --fee-rate 500 --fee-spread 1.8

This will set the fee rate above 500 for channels with mostly remote balance and below 500 for channels with mostly local balance.

Lightning node support

Currently, Suez supports LND (both via lncli and via the REST API) and c-lightning.

By default it uses LND (lncli).

You can use it with c-lightning as follows:

poetry run ./suez --client=c-lightning

You can connect to LND using the REST API as follows:

SSL_CERT_FILE=</path/to/tls.cert> poetry run ./suez --client=lnd-rest --client-args=rpcserver=https://<rpc-ip>:<rpc-port> --client-args=macaroonpath=</path/to/admin.macaroon> --client-args=tlscertpath=</path/to/tls.cert>

If you need to pass additional options to the lncli/lightning-cli you can do so:

(single argument)

poetry run ./suez --client=c-lightning --client-args=--conf=/usr/local/etc/lightningd-bitcoin.conf

(multiple arguments)

poetry run ./suez --client-args=--rpcserver=host:10009 --client-args=--macaroonpath=admin.macaroon --client-args=--tlscertpath=tls.cert

Adding support requires writing a client similar to lndclient.py and instantiating it in suez.py.

Donate

You can tip me some satoshis via tippin.me/@pavolrusnak

or you can donate via Spontaneous AMP Payment (data field encodes tip=suez):

lncli sendpayment --amt 10000 --amp --dest 0385218f0e307b6a0e989d2a717d346942d96b4fd550e937de5f8ffe1568510a18 --data 7629168=7375657a

License

This software is licensed under the GNU General Public License v3.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.