Installation LTO (Public) node for Windows 10

Installation LTO (Public) node for Windows 10

Sander
  1. Create an LTO Wallet. Go to https://wallet.lto.network and follow the steps to create a wallet. Remember to save your SEED words in a secure place!

Note: You will need at least 1000 LTO in your wallet stored (or least) to run a node and receive payout. However, a minimum of 10.000 LTO is recommended to have any remote chance to get blocks assigned and earn transaction fees. And as nodes increase in size, 100.000 might be preferred even. Should this be too much, you can see if you may lease your nodes to public nodes that are already running. Just ask around in the telegram group.

Security Tip: Create a separate wallet for your public node and lease your own tokens to it, to keep things clear and separated.

  1. Get Docker installed. Go to https://docs.docker.com/docker-for-windows/ and follow the steps to install it. This is simple download and execute, but you might need to tweak some settings on your computer. The install will ask to restart windows in order to activate Hyper-V.

Docker minimum requirements: 

  • Windows 10 64bit: Pro, Enterprise or Education (1607 Anniversary Update, Build 14393 or later).
  • Virtualization is enabled in BIOS. Typically, virtualization is enabled by default. This is different from having Hyper-V enabled. For more detail see Virtualization must be enabled in Troubleshooting.
  • CPU SLAT-capable feature.
  • At least 4GB of RAM.

Note: Your computer’s CPU will need to have virtualization enabled. You can check if your CPU can handle this by installing software like ‘Speccy’ and find youtube videos on how to activate virtualization in your BIOS if need be. If your system does not support Hyper-V and CPU virtualization to run Docker for Windows, you can install ‘Docker Toolbox’, which uses Oracle Virtual Box instead of Hyper-V.


3. Run docker for Windows to ensure it is installed correctly.


4. Once Docker is installed, create a simple folder on your computer (example ‘C:\LTO\’) and download the necessary file(s) from LTO github to them.

- Go to Link: https://github.com/legalthings/lto

- Click the node you wish to install, in this case ‘Public Node’.

- Download the file into the directory: docker-compose.yml


5. Open the docker-compose.yml file in software like Visual Studio Code (https://code.visualstudio.com/), it may ask you to install the Docker extension once you open the yml file. Other editors can also work, but things like Wordpad and Notepad look gurbled. Notepad++ seems to handle it well too though.


Edit the following values:

- LTO_WALLET_SEED: Input the seed of your wallet.

This means: look for ‘LTO_WALLET_SEED=’ and put the seed words (including the spaces) directly after ‘=’. Delete all the default text between < and > including the < and >.

- LTO_WALLET_SEED_BASE58: Input the seed of your wallet but then base58 encoded. This will overwrite/replace the LTO_WALLET_SEED (makes it less easy to read the SEED in the yml file??).

- LTO_WALLET_PASSWORD: This (new) password is used to encrypt your seed on the disk of your node. It can be the same password as your wallet password when you created your LTO_wallet, but naturally this is not recommended.

- LTO_API_KEY: Choose an api-key to be able to perform certain actions in the GUI.

Remark: The total yml is about 17 lines. If the editor shows you much more, this text is all formatting, which is bad as the node will not properly compile/install and run! If this happens, click on the yml file on the github itself and copy paste the 17 lines (including all the spaces) to overwrite the 900+ (in my case) text that the editor opens.

Example of wallet seed recorded in file:

LTO_WALLET_SEED=blab blabla blab bliep blopp bling bloesh bloink brink bloepo batch boring bing bench brought

Tip: There have been some suggestions from the LTO team that might be handy to implement. Please see point 4 under the FAQ.


6. Save the docker-compose.yml file in the C:\LTO\ folder.


7. Open a command prompt (or another terminal like Powershell). Go to the directory where the yml file is located and type ‘docker-compose up’. Docker will now start downloading the node image and get up to date on the transactions (should be fairly quick). Once transaction blocks are updated it will start mining blocks and recording transactions.

Note: Please be aware your (public) node will have to run 1000 block transactions before your staked amount of LTO is taken into account and payout for mined transactions takes place.

Tip: You can type ‘docker-compose up -d’ to setup and run the node in the background. This will allow you to close the terminal as well, while the node keeps running.


Some Docker Commands that could proof handy:

  1. ‘docker images’: shows all images
  2. ‘docker ps -a’: shows all (running) containers
  3. ‘docker start/stop public-node’: start node or stops a running node
  4. ‘docker logs -f public-node’: Check on the running node and see the transactions.
  5. ‘docker-compose down’: delete the container
  6. ‘docker-compose pull’: pull the latest image into your repository. Handy if you ran testnet and the yml keeps launching the testnet node-image.


FAQ:

What is Docker?

Docker is a computer program that performs operating-system-level virtualization, also known as "containerization". It was first released in 2013 and is developed by Docker, Inc. Docker is used to run software packages called "containers".


Can my computer run a LTO (Public) Node?

Minimum requirements are very low. Docker needs to be able to run, which means Modern CPU with Hyper-V and CPU virtualization and 4 Gig of RAM.


Docker compose seemed to work but my node is not mining. What do I do?

- Check if your yml file has the right SEED words filled in. Make certain you did not accidentally leave < and > after the ‘LTO_WALLET_SEED=’ notation.

- You can check the LTO wallet address of your public node by going to your webbrowser and typing in: http://localhost:6869 (if you changed the port in the yml file, make certain you fill the correct port here and if local host does not work check step 4 below here as rest API is not active by default on mainnet).

Click on: addresses -> |GET| /addresses -> Try it out! The Response Body should show you the address for your own wallet.


Some suggestions made by the LTO team

Those that run VPS, please add the following lines:

- Under port: - 6868:6868

- Under environment: - LTO_DECLARED_ADDRESS=yourIP:6868

Replace ‘yourIP’ with the IP address of your VPS. This will help offload synchronization pressure toward the entire network. Be careful not to put port 6868 in without the declared IP address line as it seems there’s currently a bug that needs to be solved where a node does not get any transactions with that combination in the yml.

- Under environment: - LTO_ENABLE_REST_API=true this will allow you to approach your node by gui as described under step 3 in this FAQ.

- Additional command lines can be found on the LTO-github:

https://github.com/legalthings/docker-public-node


Here is an example of the entire yml file with the suggestions above active
(date 22-01-2019)

---------------------

version: '3'

services:


 public-node:

  container_name: public-node

  image: legalthings/public-node

  ports:

   - 6869:6869

   - 6868:6868

  environment:

   - LTO_WALLET_SEED=all your seedwords input here

   - LTO_WALLET_PASSWORD=the password you created

   - LTO_API_KEY=the API key you created

   - LTO_ENABLE_REST_API=true

   - LTO_DECLARED_ADDRESS=YourIP:6868

----------------------
www.LTO.network