Tonic LND client
Rust implementation of LND RPC client using async gRPC library tonic.
About
Warning: this crate is in early development and may have unknown problems! Review it before using with mainnet funds!
This crate supports Lightning, WalletKit, Signer, and Peer RPC APIs from LND v0.15.4-beta
This crate implements LND GRPC using tonic and prost.
Apart from being up-to-date at the time of writing (:D) it also allows async usage.
It contains vendored *.proto files so LND source code is not required
but accepts an environment variable LND_REPO_DIR which overrides the vendored *.proto files.
This can be used to test new features in non-released lnd.
(Actually, the motivating project using this library was that case. :))
Usage
There's no setup needed beyond adding the crate to your Cargo.toml.
If you need to change the *.proto files from which the client is generated, set the environment variable LND_REPO_DIR to a directory with cloned lnd during build.
Here's an example of retrieving information from LND ([getinfo](https://api.lightning.community/#getinfo) call).
You can find the same example in crate root for your convenience.
// This program accepts three arguments: address, cert file, macaroon file
// The address must start with `https://`!
async
MSRV
1.48.0
However some dependencies may need to be downgraded using cargo update -p <package> --precise <version>.
Cargo-msrv.lock is included for reference - it is the lock file used to test the crate and contains known working versions of dependencies.
The MSRV won't be bumped sooner than Debian Bookworm release.
License
MITNFA