This crate provides an interface from rust to the c-lightning daemon through RPC.
extern crate clightningrpc;
use std::env;
use clightningrpc::LightningRPC;
fn main() {
let sock = env::home_dir().unwrap().join(".lightning/lightning-rpc");
let mut client = LightningRPC::new(&sock);
println!("getinfo result: {:?}", client.getinfo().unwrap());
}See examples directory for more usage examples. To build and run an example do cargo run --example ex_1.
API documentation for the lastest version can be found on docs.rs.
Currently implemented (this covers all non-dev commands as of c-lightning v0.6.1rc1):
getinfofeerateslistnodeslistchannelshelpgetloglistconfigslistpeerslistinvoicesinvoicedelinvoicedelexpiredinvoiceautocleaninvoicewaitanyinvoicewaitinvoicepaysendpaywaitsendpaylistpaymentsdecodepaygetrouteconnectdisconnectfundchannelclosepinglistfundswithdrawnewaddrstop
Be aware that the API (of rust-clighting-rpc, but also that of c-lightning itself) is not finalized. This means that it may change from version to version and break your compile, sorry!
- Four spaces
- Call
rustfmt src/lib.rs examples/*.rsbefore committing - If you can, GPG-sign at least your top commit when filing a PR
This library is based on Andrew Poelstra's rust-jsonrpc.
