Skip to main content

XAddLocalChanAliases

XAddLocalChanAliases is an experimental API that creates a set of new channel SCID alias mappings. The final total set of aliases in the manager after the add operation is returned. This is only a locally stored alias, and will not be communicated to the channel peer via any message. Therefore, routing over such an alias will only work if the peer also calls this same RPC on their end. If an alias already exists, an error is returned

Source: routerrpc/router.proto

gRPC

rpc XAddLocalChanAliases (AddAliasesRequest) returns (AddAliasesResponse);

REST

HTTP MethodPath
POST /v2/router/x/addaliases

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', 'routerrpc/router.proto'], loaderOptions);
const routerrpc = grpc.loadPackageDefinition(packageDefinition).routerrpc;
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 routerrpc.Router(GRPC_HOST, creds);
let request = {
alias_maps: <AliasMap>,
};
client.xAddLocalChanAliases(request, function(err, response) {
console.log(response);
});
// Console output:
// {
// "alias_maps": <AliasMap>,
// }

Messages

routerrpc.AddAliasesRequest

Source: routerrpc/router.proto

FieldgRPC TypeREST TypeREST Placement
alias_maps
AliasMap[]arraybody

routerrpc.AddAliasesResponse

Source: routerrpc/router.proto

FieldgRPC TypeREST Type
alias_maps
AliasMap[]array

Nested Messages

lnrpc.AliasMap

FieldgRPC TypeREST Type
base_scid
uint64string
aliases
uint64[]array