arrow-left
All pages
gitbookPowered by GitBook
1 of 1

Loading...

Express service node setup guide

Thinking of running an Oxen Service Node? Awesome! The guide below will help you configure a device with the necessary Service Node software packages, and stake $OXEN to register the node on the Oxen network.

Note: This guide assumes some familiarity with the command line and running a Linux server. For a more detailed walkthrough, check out our full Service Node set-up guide.

hashtag
Operating system requirements

One of:

  • Debian 12 ("bookworm")

  • Debian 11 ("bullseye")

  • Ubuntu 22.04 ("jammy")

  • Ubuntu 20.04 ("focal")

Recommended: the latest Debian stable or Ubuntu LTS release (12 and 22.04, respectively, as of the time of writing).

Note: There are strict uptime requirements for Service Nodes (see ). It is strongly discouraged to run a Service Node on a device that will not be continuously on-line. We recommend running your Service Node on a VPS with a reputable provider.

hashtag
Firewall Configuration

If you are using a firewall then you should ensure that the following ports (TCP unless otherwise noted) are open and reachable:

  • Port 22020 (storage server connectivity; requires both TCP and UDP)

  • Port 22021 (client to storage server)

  • Port 22022 (blockchain syncing)

  • Port 22025 (Service Node to Service Node)

hashtag
Ultra-express guide

Configuring a new Oxen Service Node is as simple as running the following 4 commands on the Linux server you want to become a node (these commands will work on Debian and Ubuntu; modifications may be necessary for other Linux distributions):

The services will run via systemd as oxen-node.service, oxen-storage-server.service, and lokinet-router.service.

Once the blockchain has synced to the server (which can take several hours), your Service Node will be . You can use the oxend status command to check the sync progress.

Alternatively, the blockchain can typically be downloaded in a fraction of the time required to sync it via the Service Node network, using the following command:

hashtag
Express guide

hashtag
Step 1: Initial repository set-up

To add the Oxen repository, run the following commands.

Note: You only need to follow this step once, to set up the repository. The repository will subsequently be automatically updated whenever you fetch new system updates.

This first command installs the public key used to sign the Oxen Service Node packages:

The second command tells apt where to find the packages. Note: Replace <DISTRO>with the appropriate value to match your operating system.

To find your <DISTRO> run the following command: lsb_release -sc

Alternatively, <DISTRO> can be found in the following list:

  • sid (Debian testing/unstable)

  • bullseye (Debian 11)

  • buster (Debian 10)

  • jammy (Ubuntu 22.04)

Then resync your package repositories with:

hashtag
Step 2: Oxen Service Node configuration

To configure your Service Node, simply install the oxen-service-node package:

This will detect your public IP (or allow you to enter it yourself) and automatically update the /etc/oxen/oxen.conf configuration file with the necessary additional settings to run a Service Node.

Congratulations! Your Service Node is now ready to be registered and staked.

hashtag
Staking your Service Node

hashtag
Preparing your Service Node for registration

To prepare your Service Node for registration, run the following command:

This will prompt you for some registration details, then output a registration command. Copy the output from this command in preparation for the next step.

Note: You can safely run this command multiple times if you change your mind about some of the registration questions before you submit the registration.

hashtag
Staking and registering your Service Node

To stake and register your Service Node, open the Oxen GUI wallet. Make sure your wallet has a balance of at least 15,000 $OXEN to meet the Service Node staking requirement (less if you're configuring a ). Navigate to the Service Nodestab > Registration section, and paste the output from the above command, then click Register Service Node.

Done! Your staking transaction will now be submitted to the network. After a short delay, your Service Node will be registered and start contributing to the network (and receiving rewards!).

hashtag
Checking registration status

You can easily check if your Service Node is registered on the network. First, connect to the VPS where the Service Node is running and run the following command to retrieve your Service Node's public key:

This will output a bunch of information about your Service Node, but there's one part we're interested in at this stage: The long string of random letters and numbers after the characters SN: . This string is your Service Node's public key, used to identify your Service Node on the list of registered and operational Service Nodes. Select and copy the public key (do not copy any of the surrounding information).

You can now jump onto , open the full list of active Service Nodes, and use Cmd+F/Ctrl+F to check if your Service Node's public key appears in the list.

hashtag
Monitoring

We highly recommend setting up monitoring for your Service Node. This is as simple as calling on the services of our Telegram or Discord bot. Contact @OxenSNBot on Telegram or OxenSNBot#5812 on Discord and type /start or $help respectively to get started.

Another helpful tool is Konstantin Ullrich's for Android.

hashtag
Upgrading

When a new release is available, upgrading is as simple as syncing your repositories:

Then installing any updates using:

Note that this will install both updated Oxen packages and any available system updates (this is generally a good thing!)

During the upgrade, the running instance of oxend will be restarted to ensure that the updated oxend is now active.

If, for some reason, you want to install only updated Oxen package upgrades, but not other system packages, then instead of sudo apt upgrade you can use:

hashtag
Back-ups

To show backup information for your Service Node's secret key (for future recovery/migration):

For service nodes originally installed before 8.x there will be a /var/lib/oxen/key file that must also be backed up (if this file does not exist then you do not need it):

Restore from SN secret key:

and, only when restoring from an older installation with an additional .../key file:

hashtag
Support

Having trouble? Just .

Port 1090 (Lokinet router data; UDP only)

focal (Ubuntu 20.04)

  • bionic (Ubuntu 18.04)

  • Service Node deregistration
    ready to be staked
    shared Service Node
    oxen.observerarrow-up-right
    Oxen Service Node Operator apparrow-up-right
    head to our Support section
    sudo curl -so /etc/apt/trusted.gpg.d/oxen.gpg https://deb.oxen.io/pub.gpg
    
    echo "deb https://deb.oxen.io $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/oxen.list
    
    sudo apt update
    
    sudo apt install oxen-service-node
    sudo oxend-download-lmdb https://public.loki.foundation/loki/data.mdb
    sudo curl -so /etc/apt/trusted.gpg.d/oxen.gpg https://deb.oxen.io/pub.gpg
    echo "deb https://deb.oxen.io <DISTRO> main" | sudo tee /etc/apt/sources.list.d/oxen.list
    sudo apt update
    sudo apt install oxen-service-node
    oxend prepare_registration
    oxend status
    sudo apt update
    sudo apt upgrade
    sudo apt install oxen-storage-server oxend lokinet-router
    oxen-sn-keys show /var/lib/oxen/key_ed25519
    oxen-sn-keys show /var/lib/oxen/key
    oxen-sn-keys restore /var/lib/oxen/key_ed25519
    oxen-sn-keys restore-legacy /var/lib/oxen/key