So, as of recently, the Stellar team has released the Lightning testnet (beta) for users to check out and explore.
In this article, we’re going to go ahead and check out the testnet, look at its resources, and then make some conclusions from it after exploring.
The actual GitHub for the testnet can be found here:
Running the Actual Testnet
So, if you’ve successfully made it to the GitHub page, you probably saw a lot of ‘Welcome to the Starlight test page’ yada, yada — right?
Make sure that you scroll past all of that once you get there.
You should end up at the following screen:
The screenshot above shows the part that we want to get to.
If you’re having trouble finding it, just hit ‘CTRL[CMD]+F’ and type in ‘setup’, and you’ll find it on the page.
Now, once there you’ll see instructions for the installation of Starlight. However, those instructions are for Linux machines. Most people are not running Linux on their machines, so we’re going to go ahead and download the Windows compatible version.
In order to do so, visit the link outlined in the picture below:
Once you click that ‘releases’ hyperlink, you’ll be taken to this page:
Payment channels on Stellar. Contribute to interstellar/starlight development by creating an account on GitHub.
We probably should’ve mentioned this earlier (oops), but it would be best if you opened up that ‘releases’ hyperlink in a new tab because we’ll need to be referring back to the directions once we’ve downloaded all of the necessary dependencies, files, etc.
Below, the necessary dependencies for Windows are circled (the other ones are for Mac computers):
Where to Save the Files To
Now, to make this entire process easier on yourself, don’t just embed this in some random directory (i.e., downloads folder) that already has a million different things in it already).
Create a new folder with a custom name to make it easier to find. For the purposes of what we’re doing, let’s call that folder ‘StellarTestNet’.
This is a brief cutout of what would make it more convenient (in our opinion) for downloading purposes. You can of course do whatever you want as long as you remember that these files need to all be in the same folder.
So, let’s proceed.
Once you’ve downloaded the two necessary files, they should look like this:
From this point, we’re going to go ahead and extract those in the same folder that we’re in:
- The ‘starlight-0.1.0-alpha’ folder is going to have about 857 items that get extracted during this process.
- Extracting the ‘starlightd-windows-amd64’ is important as well because it will possess the .exe that we need to launch in order to ensure that everything is working.
A Word of Caution (to save you time)
If you’re using a Windows computer and you have not already done so, you should go through the following steps to ensure that you have the correct settings:
Step#1 — Open up the Control Panel
Step #2 – Once you’re there, make sure to click on this specific link (which should be located in the top left corner):
Another dialog box will pop up (perhaps you receive a prompt from Windows first asking you if you want to allow this program to make changes to your computer, just select ‘yes’).
Once that dialog box pops up, make sure that you have the following options selected:
Without them, you won’t be able to access the localhost:7000 port nor the localhost:7001 port that the Lightning Network testnet can be found on.
Now, that we’ve gotten that out of the way ( or ensured that those settings are selected ), let’s move forward.
Actually Launching the Lightning Network on the Stellar Testnet
Go back to the ‘StellarTestNet’ directory (Downloads\StellarTestNet) and then run the ‘Powershell’ on the ‘starlight-windows-amd64’ folder.
In order to do so, you must hold down the shift button and then right click that folder name.
Doing so, should bring up the following dialog menu:
If you do not have the ‘shift’ key held down before right-clicking this file, you more than likely will not see the ‘Powershell’ option, so make sure that you do not skip that step.
Now, once you click that a command prompt window will pull like so:
Once you’re here, you’re going to type ‘dir’ in the Powershell (again, this should be a program that is already installed on the latest OS machines and the latest OS machines have been out for a while at this point).
In this step, we also want to confirm the presence of the ‘starlightd.exe’ file (which should be in this directory):
If you see this, then you’re in luck.
Now, you just have to type in ‘starlightd’ and you’ll notice the top of the prompt window change like you see below:
Now, go ahead and check out the localhost in your browser.
You can do this by entering in ‘http://localhost:7000/’ into your browser.
Once you do, you should be taken to this page:
From this point, you should be able to create a second instance that allows you testnet access (just direct it to port 7001; the instructions/command to do so is located in the GitHub itself).
This concludes the tutorial at this point, let’s get into the notes of what was observed once we were on the testnet.
Observations Concerning the Testnet
Once into our accounts, we noticed that it took a little while before we were credited with the requisite amount of Stellar Lumens ($XLM) [You should be receiving 10,000 $XLM once you’re on the testnet].
Here’s a picture for example:
The interface for the testnet is suprisingly clean actually. Very simple to understand from a non-tech end. I don’t think that we were expecting that once we got in. It’s leagues above the UI/UX for the testnet that can be observed on Bitcoin’s network.
So, this is definitely a positive.
It took a few tries to establish a channel and send over funds from one party to another. As the Stellar team noted in their original release notes of this beta, there are still obviously kinks to be worked out at this point.
This was immediately apparent in attempting to operate the network itself. One of the Zerononcense colleagues noted that they were only able to make a successful connection with the appropriate channel for 2 out of their 4 total tries.
It took 4 minutes for one of the transactions to show up on the UI/UX as processed (we weren’t looking under the hood at the actual testnet itself to see if the transaction had been processed literally through the testnet).
Again, this isn’t to ‘FUD’ the team (on the contrary, we hope the team views this and takes our feedback into consideration), this is simply a documentation of observations.
Please note that this is a beta application in a testnet.
It appears that there is some sort of mechanism for preventing Sybil attacks. One of the partners of Zerononcense noted that the interface seemed to accurately identify an attempt to impersonate the node that had been created on the network.
This is an important mechanism for the network, however, this potential advancement is unverified.
We did not see any smart contract functionality on the network and it appears that what we did see was more than likely a degraded version of what the Lightning Network could (or should) entail for users once activated on the mainnet.
The topology of the network was not immediately apparent for us either, so we were not able to perform ‘hops’ or connect to various nodes a certain distance away.
The network is obviously young and fresh in a lot of ways. It would be difficult and perhaps unfair to judge it in its current iteration, so this should serve as more of a potential preview of what the network could be.
As stated numerous times, the Lightning Network for Stellar is currently in beta and it remains to be seen how far the developers have gotten on the network, but this was a solid ‘good faith’ release to ensure the public and investors that the team is indeed working on this network.
As noted in one of our previous articles, we genuinely believe that the core purpose of this network will be to facilitate an easier launch of smart contracts on the platform (Stellar is written in C and, much like Bitcoin, does not have a reflexive blockchain that allows for conditional operators to be coded on top of it — so, state channels are being explored in its stead).
Obviously, one of the reasons that we presented a full, in-depth tutorial within this article is so that users would be able to explore all of this for themselves and make their own conclusions.