1extern crate clightningrpc_common;
2
3use serde::{Deserialize, Serialize};
4use std::env;
5
6use clightningrpc_common::client;
7use clightningrpc_common::types::Response;
8
9#[derive(Debug, Clone, Deserialize, Serialize)]
11struct GetInfoResponse {
12 pub id: String,
13}
14
15#[derive(Debug, Clone, Deserialize, Serialize)]
17struct GetInfoRequest {}
18
19fn main() {
20 #[allow(deprecated)]
21 let sock = env::home_dir().unwrap().join(".lightning/lightning-rpc");
22 println!("Using socket {}", sock.display());
23 let client = client::Client::new(&sock);
24 let method = "getinfo";
25 let params = GetInfoRequest {};
26 match client
27 .send_request(method, params)
28 .and_then(|res: Response<GetInfoResponse>| res.into_result())
29 {
30 Ok(d) => {
31 println!("Ok! {:?}", d);
32 }
33 Err(e) => {
34 println!("Error! {}", e);
35 }
36 }
37}