Lightning Network

Harris Brakmić edited this page Aug 30, 2018 · 8 revisions

How to run a Lightning Network node with Actinium

Prerequisites

You'll need a Linux or macOS. Windows could maybe compile the sources on Windows Subsystem for Linux (available since Windows 10), but there is no official support by the Actinium project.

On Linux and macOS install these tools with your preferred package manager. Here an example from Ubuntu:

sudo apt-get update
sudo apt-get install -y \
  autoconf automake build-essential git libtool libgmp-dev \
  libsqlite3-dev python python3 net-tools zlib1g-dev

Getting sources

Clone Actinium's fork of c-lightning to your machine with git.

git clone https://github.com/Actinium-project/acm-lightning.git

Compilation

Go into the acm-lightning directory and configure & make the binaries. At the end of compilation you'll get the acm-lightning daemon located in lightningd/lightningd and the CLI in cli/lightning-cli.

cd acm-lightning
./configure
make

Important for macOS users

You could run into an error regarding the missing gsed. If this happens execute the following commands to install the missing package:

brew install gnu-sed --with-default-names
ln -s /usr/local/Cellar/gnu-sed/4.5/bin/sed /usr/local/bin/gsed

If your have installed a gnu-sed with a different version number, please, adapt the above path in ln command.

Configuration for lightningd

The lightning daemon needs a configuration file that lists several settings needed for a proper communication with the Actinium daemon. A minimal working configuration should look like this (adapt your user name, password, and port)

alias=MY-ACM-LIGHTNING-NODE
rgb=008100
network=actinium
bitcoin-cli=/my/path/to/Actinium-cli
bitcoin-rpcuser=myRPCUserNameFromActiniumConf
bitcoin-rpcpassword=myRPCPasswordfromActiniumConf
bitcoin-rpcport=2300
bitcoin-rpcconnect=127.0.0.1
log-prefix=acm-lightning
log-file=/my/path/to/.lightning/lightning.log
lightning-dir=/my/default/.lightning
daemon

The above RPC & port settings are similar to those from Actinium.conf. Take care of providing proper default paths to the .lightning directory. By default it would be your $HOME directory, like `/home/username/.lightning``

The last entry daemon must not have any value appended, like =1 or =true. Just leave it as it is to activate lightningd in daemon mode and give up the control of the console.

Running the Lightning Network

  • Starting Actinium's daemon

First, make sure that you have a running Actinium daemon Actiniumd that accepts RPC calls. To start Actinium's daemon enter Actiniumd in the appropriate directory and check its status with Actinium-cli getinfo. The Actinium CLI is located in the same location where the daemon is. If you have cloned the Actinium repository from GitHub this would be in /Actinium/src.

  • Starting Lightning Network's daemon

Go to your acm-lightning directory and type:

lightningd/lightningd --conf=$HOME/.lightning/conf

If you have configured daemon's logfile like in the example above you can now check its contents with cat /path/to/.lightning/lightning.log. You should see an output similar to this:

2018-08-30T11:02:03.044Z acm-lightning Creating database
2018-08-30T11:02:03.085Z lightning_hsmd(88437): HSM: created new hsm_secret file
2018-08-30T11:03:06.630Z acm-lightning Server started with public key 
0228de6714942ee30fc6fbff581b7589177d1a0f79e24a480698e28a43d12db02c, alias MY-ACM-LIGHTNING-NODE 
(color #008100) and lightningd v0.6.1rc1-3-g81a4145-modded

Now you can query & manage the daemon with lightning-cli located in cli directory. For example:

./cli/lightning-cli getinfo

The output would be similar to this:

computer:lightning myUserName$ ./cli/lightning-cli getinfo
{
  "id": "0228de6714942ee30fc6fbff581b7589177d1a0f79e24a480698e28a43d12db02c", 
  "alias": "MY-ACM-LIGHTNING-NODE", 
  "color": "008100", 
  "address": [
  ], 
  "binding": [
    {
      "type": "ipv6", 
      "address": "::", 
      "port": 9735
    }
  ], 
  "version": "v0.6.1rc1-3-g81a4145-modded", 
  "blockheight": 79289, 
  "network": "actinium"
}

This is it! You are now running a Lightning Network node.

Now it's time to fund your LN-node and learn how to create invoices.

Start here and have fun with the Lightning Network!

After you have learned how to create channels and fund them you can go here to get a list of Actinium's Project LN-nodes to connect with. This is not mandatory as you can also build up your own little network, but the more nodes create a mesh structure the better for later routing and anonymity.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.