npm 包 @dmidnight/lnd-grpc 使用教程

概述

@dmidnight/lnd-grpc 是一个 Node.js 的 npm 包,它提供了对 LND API 的 gRPC 接口的访问功能。如果您使用 Node.js 开发 LND 相关的应用程序,那么这个包可以帮助您更容易地使用 LND API。

在本文中,我们将详细介绍如何安装和使用@dmidnight/lnd-grpc 包,让您能够更加轻松地使用 LND 的 gRPC 接口。

安装

在使用 @dmidnight/lnd-grpc 前,您需要确保您的 Node.js 版本不低于 10.0.0。然后,您可以使用 npm 命令进行安装:

使用

安装完成后,您需要配置 LND 的 gRPC 接口。您可以通过修改 LND 的 lnd.conf 文件来开启 gRPC 服务,并指定 gRPC 接口的端口号。例如:

上面的配置中,rpclisten 表示 GPRC 接口的监听地址和端口号。

在配置好 LND 的 gRPC 接口之后,您可以使用下面的代码连接到 LND 的 gRPC 接口:

const grpc = require('@grpc/grpc-js');
const protoLoader = require('@grpc/proto-loader');
const lnrpcPath = 'rpc.proto';

const packageDefinition = protoLoader.loadSync(lnrpcPath, {
    keepCase: true,
    longs: String,
    enums: String,
    defaults: true,
    oneofs: true
});

const lnrpcDescriptor = grpc.loadPackageDefinition(packageDefinition).lnrpc;

const credentials = grpc.credentials.createInsecure();
const lnd = new lnrpcDescriptor.Lightning('localhost:10009', credentials);

module.exports = lnd;

上面的代码中,我们使用 @grpc/grpc-js@grpc/proto-loader 包来加载 LND 的 gRPC 接口定义文件。在 LND 的 gRPC 接口定义文件加载完成后,我们使用 grpc.credentials.createInsecure() 方法创建一个非安全的 gRPC 凭证,并使用 gRPC 的 loadPackageDefinition() 方法将接口定义文件转换为 JavaScript 代码。最后,我们通过创建 lnrpcDescriptor.Lightning 对象,连接到 LND 的 gRPC 接口。

使用上面的代码片段,您已经可以连接到 LND 的 gRPC 接口,可以使用 gRPC 提供的所有功能进行交互了。

示例

下面是一个使用 @dmidnight/lnd-grpc 操作 LND API 的示例代码:

const lnd = require('./lnd');

lnd.getInfo({}, (err, response) => {
    if (err) {
        console.error(err);
        return;
    }
    console.log(response);
});

上面的代码片段中,我们通过调用 LND 的 getInfo() 方法获取 LND 节点的信息,并将结果输出到控制台。

总结

通过本文,你已经学会如何安装和使用 @dmidnight/lnd-grpc 包,并可以通过 LND 的 gRPC 接口与其交互。如果您想要更详细的了解 LND 的 gRPC 接口以及其功能,您可以查看 LND 官方文档。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/600673e3fb81d47349e53e35


纠错
反馈