#lightning #protocols #bitcoin #rpc

clightningrpc

通过 Rust 代码到核心 lightning 守护进程提供强类型 RPC 绑定的 crate

10 个版本

0.3.0-beta.82023 年 8 月 24 日
0.3.0-beta.62023 年 6 月 13 日
0.3.0-beta.52023 年 3 月 10 日
0.3.0-beta.42022 年 11 月 21 日
0.1.0 2018 年 9 月 5 日

#448魔法豆

Download history 460/week @ 2024-03-11 783/week @ 2024-03-18 417/week @ 2024-03-25 172/week @ 2024-04-01 342/week @ 2024-04-08 530/week @ 2024-04-15 395/week @ 2024-04-22 199/week @ 2024-04-29 214/week @ 2024-05-06 669/week @ 2024-05-13 259/week @ 2024-05-20 488/week @ 2024-05-27 442/week @ 2024-06-03 368/week @ 2024-06-10 350/week @ 2024-06-17 172/week @ 2024-06-24

1,380 每月下载量
用于 5 crates

CC0 许可证

62KB
1.5K SLoC

Rust c-lightning 客户端

此 crate 通过 RPC 为 Rust 提供到 c-lightning 守护进程的接口。

项目主页

GitHub Workflow Status (branch) Crates.io docs.rs

此 crate 通过 RPC 为 Rust 提供到 c-lightning 守护进程的接口。

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());
}

有关更多使用示例,请参阅 examples 目录。要构建和运行示例,请执行 cargo run --example ex_1。最新版本的 API 文档可在 docs.rs 上找到。

当前实现(截至 c-lightning v0.6.1rc1 的所有非开发命令均包含在内)

  • getinfo
  • feerates
  • listnodes
  • listchannels
  • help
  • getlog
  • listconfigs
  • listpeers
  • listinvoices
  • invoice
  • delinvoice
  • delexpiredinvoice
  • autocleaninvoice
  • waitanyinvoice
  • waitinvoice
  • pay
  • sendpay
  • waitsendpay
  • listpayments
  • decodepay
  • getroute
  • connect
  • disconnect
  • fundchannel
  • close
  • ping
  • listfunds
  • withdraw
  • newaddr
  • stop

请注意,API(rust-clighting-rpc 的 API,但也包括 c-lightning 自身的 API)尚未最终确定。这意味着它可能随着版本的更新而更改,并可能导致您的编译失败,对此我们深表歉意!

注意:如果您在核心 lightning 和 Rust 库之间存在一些兼容性问题,那么考虑使用 common crate 是一个好的解决方案。

贡献指南

  • 四个空格
  • 在提交之前调用 make fmt
  • 如果您能的话,在提交PR时至少签署您的顶级提交

支持

如果您想支持这个库,请考虑以下方式捐赠

致谢

此库基于Andrew Poelstra的 rust-jsonrpc.

依赖项

~0.6–1.4MB
~32K SLoC