Ride the Lightning (RTL) Guide

This post is also available in: German

The Ride the Lightning application, or RTL for short, is a user interface that lets you control, monitor, and administer activity on your Lightning Node.

Ride the Lightning runs under the Lightning Nodes of LND (Lightning Network Daemon) and c-lightning.

Ride the Lightning requires a working and synchronized Lightning node.

Ride the Lightning is available on the following platforms: RaspiBlitz, Nodl, BTCPayserver, Blockdaemon, myNode and Lux Node

The following Ride the Lightning description is based on the example of the BTCPay server.

BTCPay Server Settings for using Ride the Lightning

Ride the Lightning Bitcoin

Ride the Lightning Bitcoin

To use Lightning with BTCPay, you must run your own BTCPay server and have appropriate access rights as an admin.

If you run a BTCPay shop with a third-party hoster or Coincharge, you won’t have the ability to accept Lightning payments.

As the operator of your own BTCPay server, you can call up the subcategory Service within the Server Settings setting. There you will find the menu item: Ride the Lightning Server.

BTCPay Server Ride the Lightning

After clicking on See Information, you will be able to access the following page:

Ride the Lightning Server
Ride the Lightning Server

You have the option to open the application via your browser (19) or by scanning the QR code (2) via your smartphone.

A normal QR code reader can be used to scan the QR code. A page that looks like this will then open:

Ride the Lightning Mobile View

If a bookmark is set on the page, the page can be revisited at any time and you can view the account balance of your Lightning nodes at any time.

When the link for the Browser Connection is clicked, the RTL dashboard opens.

Ride the Lightning Dashboard

Ride the Lightning Dashboard

On the dashboard overview page, you’ll see your balanceunder Balances (1). A distinction is made between Lightning Credits and On-Chain Credits.

On-chain credits are the credits that have been recorded on the blockchain (i.e. on the chain). The on-chain credit is the balance in Bitcoin and the off-chain credit is the Lightning credit.

Liquidity is a key point at Lightning.

To send and receive Lightning payments, you must have cash (liquidity) balances.

Your Lightning Node will later connect to another node. You must have a balance on the other side of this neighbor’s node to receive payments from there. That sounds bizarre at first. Why should one have credit with the neighbouring node when one should actually get money.

Mentally, the Lightning network is a huge accounting system where every Lightning payment is charged with the respective balance.

In order to participate, you must have appropriate in-bound and out-bound liquidity.

The respective liquidity is displayed at point (2) or (3). How to obtain the necessary liquidity is explained in the article Lightning liquidity.

In point (4) you can receive Lightning payments (Receive) or request payments yourself (Pay).

When receiving and sending Lightning payments, you need to rethink something.

In order to receive payments, the payee must create an invoice in advance. This invoice (or payment request) is sent to the payer.

The payer takes this invoice as the basis for making the payment. All relevant information (amount, recipient, purpose of use) is part of the invoice / request for payment.

You can’t (theoretically) receive any payments yourself without first creating an invoice yourself.

With KeySend there is a possibility, but this is more suitable for special use cases. Find out more about KeySend payments without Lightning invoice.

At this point, we will continue to consider the case where a Lightning invoice is created before payment of the payee, in which all relevant payment information for payment processing is embedded.

On-Chain / Bitcoin

In the menu item On-Chain, the Bitcoin credit is managed.

Ride the Lightning On-Chain Balance

Under the menu item Send (1) you can enter a Bitcoin address to which the Bitcoin should be sent. Under the point Receive (2) you can generate a Bitcoin address to which you can send Bitcoin.

You have the selection of Bech32 (P2WKH) addresses that start with bc1 or P2SH addresses that start with a 3.

For better display switch to the bright day mode.

To use Ride the Lightning, it is necessary to make a Bitcoin deposit (on-chain) as a first step.

We go to the “on-chain” side of Ride the Lightning. There we go to the Receive area and arrange a Bitcoin address to which we can make the deposit.

Ride the Lightning Bitcoin Address Create

We send some credit to this Bitcoin address. In our case, 1 million Satoshi (0.01 BTC) were sent.

Now we have to wait until the bitcoin has been confirmed by the blockchain.

Under the menu item On-Chain, the deposited 1,000,000 Sats (abbreviation for Satoshi) are displayed. Clicking on BTC or EUR will display the corresponding value.

The FIAT currency displayed at this point can be defined under Settings. The conversion rate is based on the current exchange rate of Blockcain.info. We have chosen the euro here.

Ride the Lightning On-Chain Settings

Now we have 1 million Satoshi available. We can now use this credit for Bitcoin (On-Chain) and Lightning Payments (Off-Chain).

Lightning (Off-Chain)

Peers / Channels

The first sub-item on Lightning is peers and channels. Your Lightning Node is almost a peer. Lightning is a peer-to-peer network that connects to each other via channels.

Ride the Lightning Peers and Channels

The next step is to connect to another peer (Lightning Node) and open a channel to that Lightning Node.

If you want to connect to another peer, you need the public key (pubkey) or host address from this peer.

The complete address is in the format: pubkey@ip:port

You can choose a peer on the 1ml.com page that you would like to connect with.

You can also connect to Coincharge’s Lightning Node.

The public key of Coincharge is: 0318ac9faa9629e7da08819bc8fe0dd2ae3044d69b1b2283a63479acffeb968483

If it does not work with the public key alone, take the Node ID (Node Uri) from pubkey@ip:port from Coincharge: 0318ac9faa9629e7da08819bc8fe0dd2ae3044d69b1b2283a63479acffeb968483@172.81.178.22:9735

To connect to the Coincharge Peer, open the page under Lightning > Peer/Channels and select The Peers section:

Ride-the-lightning-Pubkey

There you enter the Pubkey or pubkey@ip:port of Coincharge.

Connect Ride-the-lightning Peers

If you have clicked on Add Peer, the following window opens:

Ride the Lightning Peer Connected

Now there would be the possibility that a channel would be opened in addition to the link to the Coincharge Peer.

If Bitcoin has been deposited to the Lightning Node in advance, you have the credit you need to charge the channel.

We had already paid in 1 million Satoshi and can use 100,000 Satoshi (0.001 BTC).

If you haven’t deposited Bitcoin (via on-chain) on your own Lightning Node, make up for it now. Wait until the bitcoin has been confirmed by the blockchain. Only then does it make sense to continue at this point.

To connect to a Lightning Node, connect to the peer in the first step. After that, you open a channel and provide liquidity from your Bitcoin (on-chain) balance.

For example, if you have contributed 100,000 sats to the Coincharge channel, it looks like this:

RTL Channel Connected to Coincharge

Channeld Awaiting Lockin

The channel is now set up, but still needs to be recorded on the blockchain. the channel has the status Channeld_Awaiting_lockin.

The channel capacity is thus 100,000 sats. The amount is not spent or gone, but is blocked. But from our original 1,000,000 sats (=0.01 BTC) only 892,234 sats is given as total balance. So that’s 107,766 sats less.

Of these, 100,000 sats are tied to Coincharge in the channel. The amount is quasi inbound liquidity for the other side.

But where did the remaining 7,766 sats stay? Opening and closing a channel are written on the blockchain. All Lightning transactions in between are off-chain transactions.

The 7,766 sats are the cost of channel opening on the blockchain. An amount has also been reserved to pay for the future closure of the channel.

In detail, it looks like this:

RTL Channel information in detail

The other peer also displays the request and channel opening. Your channel opening at Coincharge would look like this:

coincharge RTL pending channel

After clicking on the detail view, it looks like this:

coincharge-open-channel-information-detail

Channeld Normal

If the channel opening was recorded on the blockchain, the channel status changes to Channeld Normal. This process takes some time, depending on how quickly the block has been confirmed by the blockchain.

As a rule, three confirmations are required before switching from the Pending Status to the Open Status. You can check the status using the Channel Point ID. View the channel information. There is a specification Channel Point. You take this value without the colon and the value behind it.

RTL Channel Point

You can enter this information in the search field in the top right-hand corner of https://mempool.space/ and find out whether the transaction has already been processed.

The channel alias then has the name of the other peer. In this case, the pair is Alias Coincharge. The Total Amount is expressed in MilliSatoshi (=mSats).

If the block is confirmed, the channel information looks something like this in detail:

RTL-channeld-normal

If the channel opening has been confirmed by the blockchain, the status of the other peer also changes. For the other peer (in our example, Coincharge), it appears as follows.

RTL-coincharge-channel

Node URI

So that other peers can establish a channel to your own node, your node URI or node pubkey is required.

RTL Node Uri

You can find this information in the left menu under the item Public Key. You can give this information to anyone who needs to connect to you.

In the future, other peers will connect and channel to you as well. Accordingly, it would be for you.

To accept this channel opening and provide liquidity accordingly, you proceed as follows.

In Open Channel you will see the pending channels listed. If you click on the detailed information for this Pending Channel, you will see this information:

Coincharge Channel Confirm

This will be given the information about the Channel Point, which starts here with eef1.

So is the lightning node’s public key, which wants to connect to you. The Peer Node Pubkey starts here with 0233688a and the capacity is 100,000. You see as that the other side has put 100,000 sats in the Channel.

You switch from the channel view to the peers view and find the channel in the collection either by alias or by public key. If you don’t already know the alias, look for the public key that needs to start with 0233688a.

RTL Coinsnap Channel

Lightning Liquidity Received from Coincharge

If you have opened a channel with Coincharge, then Coincharge will provide the same amount in return.

coincharge-re-open-channel

Coincharge will then open another (a second) channel to your peer and make the same amount available. It is currently not yet possible for the same channel to be „fund” with an amount by each of the two peers.

The reciprocal channels and liquidity jointly ensure a good connection within the Lightning network.

For more information on Lightning Liquidity, we recommend the article “Lightning Liquidity”

The channels can also be closed again at any time by either party. The blocked amount is then released again.

If you have opened a channel to Coincharge, send us a short message using the contact form below. Provide your e-mail address so that we can contact us if you have any questions.

Enter your node ID in the text box. We will provide the same amount you have deposited. So if you put 100,000 Satoshi in the channel, we will also set 100,000 Satoshi from our site. But you can also choose a higher amount.

    Lightning > Transactions

    After the connection within the Lightning network has been established via the menu item Peers / Channels, we at Lightning Transactions are dedicated to sending and receiving Lightning payments.

    The Transactions area is divided into Payments (sending Lightning payments) and Invoices (receiving Lightning payments).

    In addition, RTL has a Query Routes item to check how its own node is connected to the node with which a payment is to be processed.

    RTL Lightning Transactions

    Lightning Payments

    Lightning payments are executed via the Payments item. In order to make a Lightning payment, a Lightning Invoice is required from the payee.

    We would like to send some Satoshi to one of our Mobile Lightning Wallets. For this purpose, we create an invoice on the Blue Walletin the amount of 10,000 Satoshi.

    A Lightning calculation starts with lnbc and looks like this

    lnbc100u1p0wwthhpp5prxgz7fyvwxssv……………sfcp0xdvuv

    We enter this information in the Payment Request field. We will then see the reason for payment and the amount of the invoice below the entry. If we click on View Advanced we get the possibility to set the fees we are already paying. We leave the setting at No Fee Limits.

    The fees depend on how far away you are from the peer/node of the invoice recipient. This is because each intermediate peer receives a Satoshi for forwarding. You can use the Query Routes function to view the different routes and determine the optimal route. By selecting First Outgoing Channel, you can determine the channel via which the payment is to be sent.

    This optimization potential is available. But our focus is that our payment arrives and we don’t have as many connections and therefore options, we leave it at a secure payment and ignore the amount of the fees. They are in the millicent range and are therefore negligible.

    Send RTL Lightning payment

    We click on Send Payment and get another detailed view of our Lightning payment before we finally confirm the Lightning payment.

    Lightning payment details

    Lightning Invoices

    The Lightning Invoices function is used to receive Lightning payments. As the payee, an invoice must be created in which a note to payee and the amount are specified.

    The corresponding invoice is then sent to the payer, who uses this information to make the Lightning payment.

    We enter the intended purpose in the Memo field. In the Amount field, enter the amount in Satoshi. In our example 10,000 Satoshi.

    We still have the possibility to indicate how long this invoice is valid. By when it must be paid before the invoice expires.

    Lightning Invoice

    We click on Create invoice and get the following view:

    Lightning Invoice created

    We now have the possibility to scan the QR Code with a Mobile Lightning Wallet or copy the invoice text starting with lnbc.

    We then click on Copy Payment Request and forward the string to the payer.

    When the payment has been made, we see this in the list of all payments. The payments marked with a green dot have been successful. The transactions with a yellow dot have not yet been executed.

    Ride the Lightning Settings

    In the Settings area, the settings of the dashboard can be adjusted. Instead of the standard dark night mode (mode), you can switch to the light day mode.

    The colors can be adjusted under Themes.

    Set Ride the Lightning Mode

    Public Key

    In the menu item Public Key you get the information about your own public key for your Lightning Node. This public key can be communicated to other Lightning Nodes so that a channel to this node can be opened.

    If you want to know what information the public knows about this Lightning Node, go to the page 1ml.com and enter the public key as a search.

    Coincharge’s Lightning Node has the address:

    0318ac9faa9629e7da08819bc8fe0dd2ae3044d69b1b2283a63479acffeb968483

    You can read all the information about this Lightning Node here:

    https://1ml.com/node/0318ac9faa9629e7da08819bc8fe0dd2ae3044d69b1b2283a63479acffeb968483

    This post is also available in: German

    Leave a reply