界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
效率与协作 · SKILL.md

bitcoin-libraries-lnd-go

bitcoin-libraries-lnd-go

【效率与协作】lnd Go libraries: lnrpc (gRPC client), chantools (channel utilities), loopd (Loop client), poold (Pool client), neutrino (BIP157/158 SPV). USE WHEN: building Go apps integrating with LND, Loop, or running Neutrino light clients.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: bitcoin-libraries-lnd-go description: | lnd Go libraries: lnrpc (gRPC client), chantools (channel utilities), loopd (Loop client), poold (Pool client), neutrino (BIP157/158 SPV). USE WHEN: building Go apps integrating with LND, Loop, or running Neutrino light clients. allowed-tools: Read, Grep, Glob

LND Go Libraries

LND ecosystem provides several Go modules.

GitHub: github.com/lightningnetwork/lnd and github.com/lightninglabs/.

lnrpc (LND gRPC client)

import "github.com/lightningnetwork/lnd/lnrpc"
import "google.golang.org/grpc"

conn, _ := grpc.NewClient("localhost:10009",
    grpc.WithTransportCredentials(creds),
    grpc.WithPerRPCCredentials(macaroon))
client := lnrpc.NewLightningClient(conn)
info, _ := client.GetInfo(ctx, &lnrpc.GetInfoRequest{})

grpc.Dial/grpc.DialContext are deprecated in favour of grpc.NewClient (added in grpc-go v1.63.0; the old entry points still compile and are promised support "throughout 1.x" as of grpc-go v1.83.2, August 2026). NewClient defaults to the dns resolver instead of passthrough, so a custom dialer (Tor SOCKS) needs the passthrough resolver named in the target, which upstream spells passthrough:target. unix:///path targets are unaffected: grpc-go registers dedicated unix and unix-abstract resolvers.

Subservers

  • walletrpc — wallet ops.
  • routerrpc — payments.
  • chainrpc — chain notifications.
  • signrpc — message signing, scripts.
  • invoicesrpc — invoice subscriptions.
  • wtclientrpc — watchtower client.

neutrino

BIP157/158 light client:

import "github.com/lightninglabs/neutrino"

cfg := neutrino.Config{
    DataDir:      "/path",
    Database:     db,
    ChainParams:  chaincfg.MainNetParams,
    ConnectPeers: []string{"node1:8333"},
}
chainSvc, _ := neutrino.NewChainService(cfg)

chantools

CLI for LND channel recovery:

chantools recoverloop \
    --rootkey <xprv> \
    --frominactive

loop / pool clients

For Lightning Loop and Pool:

import "github.com/lightninglabs/loop/looprpc"

Use cases

  • Backend services that integrate with LND.
  • Custom monitoring / analytics tooling.
  • Light-client-based apps (Neutrino).

See also

我的收藏