LND Wer hat diesen Kanal eröffnet?
Die Lernkurve bei LN ist steil, dass weiß jeder, der/die sich mit dem Thema befasst. Ich bin erst seit ein paar Wochen dabei und versuche parallel möglichst viele Dinge, die mir als Noob auffallen zu dokumentieren. Manchmal tauchen während des Managements des Systems spontan Fragen auf, die ich mir nicht direkt beantworten kann. Eine dieser Fragen behandelt der folgende Beitrag. Dies ist die Situation: Man hat bereits mehrere Kanäle und teilweise mehrere zu der gleichen Node. Ich erinnere mich daran, dass ein Kanal von mir aufgemacht worden ist und der andere von der Gegenseite. Nur welchen Kanal habe ich aufgemacht und welchen meine Partnernode? Im ersten Schritt hatte ich versucht dies mittels Thunderhub herauszufinden. Fehlanzeige(Achtung! Es geht doch.). Dann teilte mir jemand mit, dass man dies mit lncli machen kann. Also, ab auf die Kommandozeile und geschaut.
lncli hat mehrere Befehle bzgl. der Kanäle:
$ lncli -h|grep channel
openchannel Open a channel to a node or an existing peer.
closechannel Close an existing channel.
closeallchannels Close all existing channels.
abandonchannel Abandons an existing channel.
channelbalance Returns the sum of the total available channel balance across all open channels.
pendingchannels Display information pertaining to pending channels.
listchannels List all open channels.
closedchannels List all closed channels.
feereport Display the current fee policies of all active channels.
updatechanpolicy Update the channel policy for all channels, or a single channel.
exportchanbackup Obtain a static channel back up for a selected channels, or all known channels
verifychanbackup Verify an existing channel backup
restorechanbackup Restore an existing single or multi-channel static channel backup
getchaninfo Get the state of a channel.
Für mein Szenario erschien mir listchannels das richtige Kommando zu sein. Schauen wir uns die Hilfe dazu an:
$ lncli listchannels --help
NAME:
lncli listchannels - List all open channels.
USAGE:
lncli listchannels [command options] [arguments...]
CATEGORY:
Channels
OPTIONS:
--active_only only list channels which are currently active
--inactive_only only list channels which are currently inactive
--public_only only list channels which are currently public
--private_only only list channels which are currently private
--peer value (optional) only display channels with a particular peer, accepts 66-byte, hex-encoded pubkeys
Perfekt. Ich kann nach peers bzw. Public Keys filtern. Dies sieht dann so aus:
lncli listchannels --peer 02XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
{
"channels": [
{
"active": true,
"remote_pubkey": "02XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"channel_point": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx",
"chan_id": "75XXXXXXXXXXXX",
...
}
Wir erhalten jede Menge Daten! Wonach schaut man? Die Antwort ist: Initiator.
lncli listchannels --peer 02XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | jq. |grep initiator
"initiator": true,
"initiator": false,
Ok. Der erste Kanal wurde von mir eröffnet der zweite Kanal von der Partnernode. Aber welche ChannelID ist das jetzt? Um nicht alles ausgegeben zu bekommen, nutzen wir die Funktionalität von dem Tool jq.
Falls ihr das Tool nicht auf eurem System habt und Debian/Ubuntu läuft:
apt-get install jq
Jetzt zur Verarbeitung selber:
$ lncli listchannels --peer 02XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX|jq '.[][].chan_id,.[][].initiator'
"75XXXXXXXXXXXXXXX1"
"75XXXXXXXXXXXXXXX2"
true
false
Wir sehen also, der Kanal mit der ID 75XXXXXXXXXXXX1 wurde von mir erstellt. Tja, so einfach kann das alles sein ;)
Update
Tatsächlich lässt sich auch problemlos in Thunderhub erkennen ob der Kanal selber oder von einer Remote Node eröffnet worden ist. Dazu muss man lediglich auf das Kanal Feld gehen und sieht neben den Namen der Kanäle (Modus: Normal/Compact) jeweils einen kleinen Pfeil nach oben oder unten.
- Pfeil nach Oben - Ihr seid der Initiator
- Pfeil nach Unten - Ihr seid der Empfänger
Ob ihr den Kanal eröffnet habt, lässt sich ebenfalls direkt in RTL (Ride The Lightning) sehen. Geht dazu auf die Kanalübersicht, sucht den Kanal raus der euch interessiert und klickt auf View Info. Im sich öffnenden Fenster seht ihr den Eintrag Initiator.
Ende
Ich hoffe dies konnte dem einen oder anderen helfen einen weiteren Schritt in Richtung LN Verständnis zu gehen. :)
>> Home