10个版本
0.1.9 | 2024年6月5日 |
---|---|
0.1.8 | 2024年3月8日 |
0.1.7 | 2023年11月22日 |
0.1.3 | 2023年5月30日 |
0.1.0 | 2022年4月20日 |
#468 in 魔法豆
1,718每月下载量
用于 7 crates
560KB
13K SLoC
cln-grpc - 安全网络RPC接口
此插件提供了一个标准化的API,应用程序、插件和其他工具可以使用它与核心闪电进行交互。我们一直有一个JSON-RPC,它有一个非常详尽的API,但它只通过Unix域套接字本地公开。一些插件选择通过从REST到gRPC的各种协议重新公开API,但安装它们需要额外的努力。
因此,在v0.11.0版本中,我们发布了一个新的接口:cln-grpc
,这是一个基于Rust的插件,以安全的方式在网络中公开现有的接口。gRPC API自动从我们现有的JSON-RPC API生成,因此它具有应用程序开发者习惯的低层和高层访问权限,但在可能的情况下使用更有效的二进制编码,并通过相互TLS认证进行安全保护。
要使用它,只需添加--grpc-port
选项,它将与核心闪电一起自动启动并生成适当的mTLS证书。要使用gRPC接口,复制客户端密钥和证书,从protobuf定义生成您的客户端绑定,并连接到您之前指定的端口。
虽然所有之前的内置插件都是用C编写的,但cln-grpc
插件是用Rust编写的,这是一种在项目中将更加突出的语言。为了启动Rust的使用,我们还构建了一些crates
- cln-rpc:JSON-RPC接口的原生绑定,用于与CLN在同一系统上运行的事物。
- cln-plugin:一个用于在Rust中创建插件(支持异步/await)的库,适用于低内存占用插件。
- cln-grpc:当然,用于创建gRPC插件的库也可以直接作为客户端库使用。
所有这些crate都发布在crates.io上,并将作为项目的一部分继续维护。
依赖项
~19–30MB
~499K SLoC