Skip to main content

Running a LAMINA1 Node

There are a number of reasons why you might want to run a node on the LAMINA1 network:

  1. The more nodes in the network, generally the more decentralized the platform becomes. By operating a node, you’re contributing to this decentralization and helping secure the platform.
  2. If you’re developing applications on LAMINA1, you generally need to get or submit data to one of the blockchains. While you can decide to trust a public node’s API, most developers would prefer to run and trust their own node while avoiding potential public node congestion.
  3. Running a node can be a great way to earn L1 tokens if you decide to become a validator. Validators are nodes that actively participate in consensus and which are secured by staked L1 tokens.

The quickest way to learn about LAMINA1 is to run a node and interact with the network.

In this tutorial, we will:

  • Install and run a LAMINA1 node
  • Connect to LAMINA1

Note to reader: Much of the documentation below has been pulled and modified from the Avalanche documentation, which can be found here. L1 documentation is still a work in progress. To build upon it or provide feedback, please join us on Discord and share in the designated #testnet-feedback channel.

​Requirements

Computer Hardware & OS

LAMINA1 is based on Avalanche, which is an incredibly lightweight protocol, so nodes can run on commodity hardware. Note that as network usage increases, hardware requirements may change.

  • CPU: Equivalent of 2 AWS vCPU
  • RAM: 4 GiB
  • Storage: 100 GiB
  • OS: Ubuntu 22.04

Networking

To run successfully, LAMINA1 needs to accept connections from the Internet on the network port 9671. Before you proceed with the installation, you need to determine the networking environment your node will run in.

Running on a Home Connection

You will need to set up inbound port forwarding of port 9671 from the internet to the computer the node is installed on.

As there are too many models and router configurations, we cannot provide instructions on what exactly to do, but there are online guides to be found (like this, or this), and your service provider support might help too.

danger

Please note that a fully connected LAMINA1 node maintains and communicates over a couple of thousand live TCP connections. For some low-powered and older home routers that might be too much to handle. If that is the case you may experience lagging on other computers connected to the same router, nodes getting benched, failing to sync and similar issues.

Set up your node

Let’s install the GoLang implementation of a LAMINA1 node and connect to the LAMINA1 primary network.

Download & Install

The node binary for Ubuntu is now delivered via the apt package manager. To install the node, run the following as root:

echo "deb [trusted=yes arch=amd64] https://snapshotter.lamina1.global/ubuntu jammy main" > /etc/apt/sources.list.d/lamina1.list && 
apt update &&
apt install lamina1-node

Start Node and Connect to LAMINA1

The Linux node binary is automatically registered as a system service during the installation process above, named lamina1-node.testnet.service. The service is also automatically started, and the systemctl utility can be used. The highlighted lines below indicate the node is running properly:

$ sudo systemctl status lamina1-node.testnet
● lamina1-node.testnet.service - Lamina1
Loaded: loaded (/etc/systemd/system/lamina1-node.testnet.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2023-04-18 17:38:36 UTC; 21s ago
Main PID: 2355 (lamina1.node)
Tasks: 8 (limit: 1141)
Memory: 335.8M
CPU: 11.275s
CGroup: /system.slice/lamina1-node.testnet.service
└─2355 /usr/bin/lamina1.node --config-file /etc/lamina1/configs/testnet4/default.json
Apr 18 17:38:36 ip-172-31-83-52 systemd[1]: Started Lamina1.

Bootstrapping Process

When the node starts, it has to bootstrap (catch up with the rest of the network). You will see logs about bootstrapping. Until the bootstrapping process completes, the node is in an unusable state. You can check the status of the bootstrapping process by running the check-bootstrap.sh script included with the node binary. The desired output is shown below, with isBootstrapped showing true:

$ ./check-bootstrap.sh 
{"jsonrpc":"2.0","result":{"isBootstrapped":true},"id":1}
{"jsonrpc":"2.0","result":{"isBootstrapped":true},"id":1}
{"jsonrpc":"2.0","result":{"isBootstrapped":true},"id":1}
info

If you make other API calls to a chain that is not done bootstrapping, it will return “API call rejected” because chain is not done bootstrapping. If you are still experiencing issues please contact us on Discord.

What Next?

Now that you've launched your LAMINA1 node, what should you do next?

Your LAMINA1 node will perform consensus on its own, but it is not yet a validator on the network. This means that the rest of the network will not query your node when sampling the network during consensus and you are not earning any L1 tokens.

If you want to add your node as a validator:

  • Use the Web Wallet at https://wallet-test.lamina1.network to generate a wallet address.
  • Using the Web Wallet, check to make sure you have at least 2000 L1 tokens on the P-Chain. You can use the "cross chain" function to transfer your C-Chain or X-Chain tokens to the P chain. If you’d like to get enough testnet tokens to run a node, please contact us on Discord.
  • Get your node-id by running lamina1.get_my_node_id at the command line. The returned NodeID-[string] is your unique node ID.
    $ lamina1.get_my_nodeid.sh 
    % Total % Received % Xferd Average Speed Time Time Time Current
    Dload Upload Total Spent Left Speed
    100 695 100 430 100 265 42302 26069 --:--:-- --:--:-- --:--:-- 77222
    NodeID-[string]
  • Use the Web Wallet to stake your tokens on that node ID, under the "Earn" option from the dropdown menu on the upper right.

Read here to learn more about being a validator, including: parameters, uptime requirements, and setting up your node.