Lightning Cluster

A load balanching and caching service for production lightning nodes.

```rust

[tokio::main]

async fn main() { let node1 = Node { pubkey: dotenvy::var("NODE1PUBKEY").unwrap(), ip: dotenvy::var("NODE1IP").unwrap(), port: dotenvy::var("NODE1PORT").unwrap(), network: NodeNetwork::Testnet, lightningimpl: NodeLightningImpl::Lnd, client: NodeClient::Lnd(LndClient::new( dotenvy::var("NODE1HOST").unwrap(), dotenvy::var("NODE1CERTPATH").unwrap(), dotenvy::var("NODE1MACAROON_PATH").unwrap(), )), };

let nodes = vec![node1];
let cluster = cluster::Cluster::new(nodes);

let req = ClusterAddInvoice {
    pubkey: None,
    memo: String::from("test"),
    value: 1000,
    expiry: 1000,
};

let invoice = cluster.add_invoice(req, None).await.unwrap();

let get_invoice = cluster.lookup_invoice(&invoice.r_hash, None).await.unwrap();

println!("{:?}", get_invoice);

} ```