Skip to main content

ExportChannelBackup

ExportChannelBackup attempts to return an encrypted static channel backup for the target channel identified by it channel point. The backup is encrypted with a key generated from the aezeed seed of the user. The returned backup can either be restored using the RestoreChannelBackup method once lnd is running, or via the InitWallet and UnlockWallet methods from the WalletUnlocker service.

Source: lightning.proto

gRPC

rpc ExportChannelBackup (ExportChannelBackupRequest) returns (ChannelBackup);

REST

HTTP MethodPath
GET /v1/channels/backup/{chan_point.funding_txid_str}/{chan_point.output_index}

Code Samples

const fs = require('fs');
const grpc = require('@grpc/grpc-js');
const protoLoader = require('@grpc/proto-loader');

const GRPC_HOST = 'localhost:10009'
const MACAROON_PATH = 'LND_DIR/data/chain/bitcoin/regtest/admin.macaroon'
const TLS_PATH = 'LND_DIR/tls.cert'

const loaderOptions = {
keepCase: true,
longs: String,
enums: String,
defaults: true,
oneofs: true,
};
const packageDefinition = protoLoader.loadSync('lightning.proto', loaderOptions);
const lnrpc = grpc.loadPackageDefinition(packageDefinition).lnrpc;
process.env.GRPC_SSL_CIPHER_SUITES = 'HIGH+ECDSA';
const tlsCert = fs.readFileSync(TLS_PATH);
const sslCreds = grpc.credentials.createSsl(tlsCert);
const macaroon = fs.readFileSync(MACAROON_PATH).toString('hex');
const macaroonCreds = grpc.credentials.createFromMetadataGenerator(function(args, callback) {
let metadata = new grpc.Metadata();
metadata.add('macaroon', macaroon);
callback(null, metadata);
});
let creds = grpc.credentials.combineChannelCredentials(sslCreds, macaroonCreds);
let client = new lnrpc.Lightning(GRPC_HOST, creds);
let request = {
chan_point: <ChannelPoint>,
};
client.exportChannelBackup(request, function(err, response) {
console.log(response);
});
// Console output:
// {
// "chan_point": <ChannelPoint>,
// "chan_backup": <bytes>,
// }

Messages

lnrpc.ExportChannelBackupRequest

Source: lightning.proto

FieldgRPC TypeREST TypeREST Placement
chan_point
ChannelPointobjectmixed

lnrpc.ChannelBackup

Source: lightning.proto

FieldgRPC TypeREST Type
chan_point
ChannelPointobject
chan_backup
bytesstring

Nested Messages

lnrpc.ChannelPoint

FieldgRPC TypeREST Type
funding_txid_bytes
bytesstring
funding_txid_str
stringstring
output_index
uint32integer