lnet -- Simplified Lightning Network Setup
Have you ever tried setting up a small Lightning Network on regtest to
develop or demo against, and found it frustrating and confusing?
lnet's goal is to make it easy to spin up any network topology for
testing or demoing, all you need to do is describe the network in the
graphviz dot format.
Take the following example, which will spin up two nodes, called
client and server respectively, connect them and fund a
channel. It'll also create an invoice on the server to balance the
channel by sending over 500'000msat. You describe it, we make it
happen.
graph g {
client -- server [capacity="10000000:500000"];
}
A more complicated setup could be a star topology and some multi-hop paths:
graph g {
client1 -- server [capacity="10000000"];
client2 -- server [capacity="10000000"];
client3 -- server [capacity="10000000"];
client4 -- server [capacity="10000000"];
client5 -- server [capacity="10000000"];
"client5-1" -- client5 [capacity="10000000"];
"client5-2" -- client5 [capacity="10000000"];
"client5-3" -- client5 [capacity="10000000"];
}
Installation
lnet is just a simple pip install away:
pip3 install lnet
This will install the lnet-cli and lnet-daemon command line
utilities. lnet-daemon starts, monitors and provides access to
bitcoind and any number of c-lightning nodes, while lnet-cli is
used to interact with the daemon and the nodes.
Usage
All operations are performed through lnet-cli, which will start
lnet-daemon if required. lnet-cli has the following commands:
start [dotfile]parses thedotfile, extracting nodes and channels, and tries to recreate the desired topology. It'll open channels and confirm them to make the usable, however it currently requires that the network topology is not partitioned. See below for attributes that are defined.stopstops the currently running topologyshutdownstops the running topology and shuts down thelnet-daemonnode [nodename] [rpc_method] [params...]executesrpc_methodon the node with namenodenameand the specifiedparams. This is mainly used as a shorthand to give access without having to configure your shell.aliasconfigures your shell with a number of aliases to make it easy to interact with the daemons without going throughlnet-cli. You can use it witheval $(lnet-cli alias).
Metadata
Release files for lnet 0.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| lnet-0.0.5.tar.gz | 14.7 kB | Without provenance | Details |
Release files / lnet-0.0.5.tar.gz
| Download URL | lnet-0.0.5.tar.gz |
|---|---|
| Size | 14.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
53c1d2b2e88f5873e08f7a4dba5f0ac6b5c3198691648c0cee03163fce58c2ab
|
|
BLAKE2b-256 checksum How to use checksums |
986771c280263542e5f8fb26a59e8f033b2aa76350763a4f20bce12a35ba056a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.6
|
Security for lnet 0.0.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.