Crates.io | lightning-cluster |
lib.rs | lightning-cluster |
version | 0.1.4 |
source | src |
created_at | 2023-08-03 20:45:03.737409 |
updated_at | 2023-08-10 21:11:50.859541 |
description | Lightning Node Load Balancer & Cache |
homepage | |
repository | https://github.com/nodeless-io/lightning-cluster |
max_upload_size | |
id | 934425 |
size | 37,233 |
#Lightning Cluster
A load balanching and caching service for production lightning nodes.
#[tokio::main]
async fn main() {
let node1 = Node {
pubkey: dotenvy::var("NODE1_PUBKEY").unwrap(),
ip: dotenvy::var("NODE1_IP").unwrap(),
port: dotenvy::var("NODE1_PORT").unwrap(),
network: NodeNetwork::Testnet,
lightning_impl: NodeLightningImpl::Lnd,
client: NodeClient::Lnd(LndClient::new(
dotenvy::var("NODE1_HOST").unwrap(),
dotenvy::var("NODE1_CERT_PATH").unwrap(),
dotenvy::var("NODE1_MACAROON_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);
}