📔
Liberland Wiki
  • 📖Public Documents
  • 👍Primers
    • 🙋‍♀️Congress
    • 💂Executive
    • 👨‍⚖️Judiciary
    • 🤴Senate
  • 🚦Regulations
    • ✍️Drafts
      • 👮Internal Regulation of the Security Commission on the Structural and Functional Organization of the
    • 👩‍⚖️In Force
      • 🏰Orders
        • 👨Order of the President of Liberland no. 1/2021, on the Decisions of the Cabinet.
        • 👩Order of the President of Liberland no. 2/2021, on the Interim Legislature
  • ✅Policies
    • 🧑‍⚖️In Force
      • ⚖️Justice
        • 🔏Privacy policy
  • 👨‍💻Blockchain
    • 💫White Paper
    • 👨Tokenomics Primer
    • 💫Roadmap
    • 👨API
      • ⌨️Chain Explorer API
      • For CEXes
    • 🌐Ecosystem
      • 🌉How to Bridge to Ethereum
      • 🌉How to Bridge to Solana
      • How to Bridge to TRON
      • 🔁Liberland Exchange
      • How to Acquire LLD
      • How to Use Polkadot.js
      • How to use SubWallet
      • How to use Talisman
      • Known Issues
    • 🪪For Citizens and E-Residents
      • 🗳️Voting
      • Senate
      • Onboarding
      • Claiming Residency
      • Congress
      • Governance
      • Companies
    • 🖥️For Validators, Nominators & Stakers
      • Run a validator
      • Non-technical run a validator
      • Staking
      • ETH Liquidity Staking
      • SOL Liquidity Staking
      • Update node
      • Resync node
    • For Developers & Testers
      • Build, run & test using source code
      • Run in Docker
      • Manual testing guide
      • Runtime upgrade
      • Rust API docs
      • Bootstrapping new testnet
      • Chain Crash Recovery Procedure
  • Media
    • Press Kit
Powered by GitBook
On this page
  • Introduction
  • Requirements
  • Claim on-chain citizenship
  • Recommended servers
  • Option 1: AWS Lightsail
  • Option 2: Digital Ocean
  • Installation
  • Option 1: automatic script
  • Option 2: using docker
  • Option 3: manually using prebuilt binaries
  • Option 4: using source
  • Wait for your node to sync
  • Add validator
  • Verify
  • Optional: add nominators
  1. Blockchain
  2. For Validators, Nominators & Stakers

Run a validator

PreviousFor Validators, Nominators & StakersNextNon-technical run a validator

Last updated 2 months ago

Introduction

This guide will walk you through the process of setting up a new validator on Liberland Chain.

Note:

  • DO NOT expose your validators RPC ports (9933 and 9944 by default) publicly on the internet. Treat validators with more care than full nodes.

  • You do not need to a run a validator to earn LLD staking rewards. As a user you can simply become a nominator and stake your coins without needing to run a validator.

Requirements

  • ~30 GB of free disk space

  • 4GB of RAM, but swap is ok, see if you have less than 4GB of RAM

  • Liberland wallet with at least 200 LLD.

Claim on-chain citizenship

Recommended servers

If self hosting is not practical, the up-to-date current order of recommended virtual server providers are

Option 1: AWS Lightsail

  • In search, type lightsail

  • Under Instances, click Create instance

  • Select Linux/Unix, OS Only, Ubuntu 22.04 LTS, scroll down and select the plan with at least 4 GB RAM, 1 vCPU and 60gb SSD

  • Scroll down and click on "Create instance"

  • Wait for a few minutes for a server to initialize

  • Click on the console icon on your instance to open a in-browser console

  • Follow the installation steps of this guide

Option 2: Digital Ocean

Installation

Option 1: automatic script

This script is for Ubuntu and Debian servers. If you're not running Ubuntu or Debian, please contact dev team - they can add support for your distribution.

Run the following command on your server:

curl -sSLO https://raw.githubusercontent.com/liberland/liberland_substrate/main/substrate/scripts/install/install.sh
bash install.sh

The script will ask you for confirmation before every action. It will:

  • install dependencies

  • download Liberland node

  • setup a systemd service, so that the node starts automatically

  • configure time synchronization

  • generate session keys for use in next step

  • The script gives the node time to start up, if it takes too long it will exit. If that happens, just wait a minute and run the script again.

  • If everything goes OK, you will see something like this:

Your node is now running. Useful commands:
	Check status: sudo systemctl status liberland-validator
	Stop: sudo systemctl stop liberland-validator
	Start: sudo systemctl start liberland-validator
	Logs: sudo journalctl -u liberland-validator
Node data is stored in /opt/liberland/data.
Session keys for your node: [long text starting with 0x here]
  • Copy the session keys, you will need them when adding validator.

Option 2: using docker

Option 3: manually using prebuilt binaries

Option 4: using source

Wait for your node to sync

Monitor logs of your node.

While syncing, you will see Syncing messages and lots of maybe_release ran all the way messages.

When synced, maybe_release ran all the way will mostly disappear and you will see mostly Idle and Imported messages.

This process will take a few seconds for every day the blockchain has been running - so expect a few hours.

Add validator

Note that in order to do this step you will need some LLD, so ask someone to give you some if you dont already have it.

  1. Visit Staking in Liberland dAPP:

  2. Click "Switch to validator" button.

  3. Set your commission (20 is fine) and session keys you got from installation step to Keys from rotateKeys form.

  4. Click "Start validator" button and sign the transaction.

  5. Optionally, click on add stake and stake some LLDs

Verify

Immediately after adding validator, you should see it as "Waiting":

Now you have to wait to see if it gets elected to current set of validators. You may need to wait until new era starts and then the chance of being elected is based on the amount of staked LLD. To see current set of validators:

  1. Visit Staking Accounts on Polkadot.js Apps:

  2. Click "All validators" button.

  3. Click "Active" button.

  4. You should see list of active validators in the "Validators" table.

Optional: add nominators

You will need your LLD, LLM, and an onchain citizenship to proceed. Follow the steps to proceed.

At the end of this process, you should have a wallet, and a funded citizen account on the mainnet. Log into with your liberland account to verify everything works so far.

and create an account.

If something went wrong and you need to get session keys manually, see .

See .

See

See

Note: if you lost your session keys, see

Once your validator is up and running and you have a solid track record of no downtime you can ask other LLD holders to nominate your validator node.

👨‍💻
🖥️
Join the node operator room
You can follow along a outdated but still workingvideo here
How to add swap
Ask to be onboarded
PolkadotJs wallet
On-chain citizenship
Onboarding
blockchain.liberland.org
Go to AWS
Set up a digital ocean server
Regenerating session keys
Docker guide
Using prebuilt binary
Using source
Mainnet
Bastiat (Testnet)
Regenerating session keys
Mainnet
Bastiat (Testnet)
Join the node operator room