Skip to main content
Version: latest

Pulsar (Recommended)

Recommended

Pulsar (previously Subspace CLI or Simple CLI) is the recommended way to farm on the Subspace Network. To get started, follow the guide below. For more information, you can check out the project README on GitHub.

Pre-Requisites


System Requirements

Farming can be Network Intensive.

Make sure you have a stable network connection. During the plotting phase of farming, it can be network intensive.

This may impact your network usage so please check your network connection if you have a hard data limit.

Pulsar requires commodity hardware specs to operate. At a minimum, it is recommended to have:

HardwareSpecs
CPU4 Core+
RAM8GB+
SWAP4GB
Storage100GB SSD
SWAP Warning

A swap is only necessary if you have a low amount of RAM.

CoW Filesystems Warning

If BTRFS is used with Subspace, the directory/whole file system must be CoW disabled with the following command prior to starting Subspace, because it only applies to newly created files.

Command to Disable CoW on BTRFS

sudo chattr +C path/to/data/dir

Alternatively, non-CoW file systems like ext4 or XFS can be used instead.

Redundancy

Using redundancy (RAID1/5/6, RAIDZ and others) on a filesystem with plot makes no sense, as the farmer uses checksums to verify the integrity of the plot, and is able to recover corrupted blocks if necessary in most cases. See scrub command below.

Filesystem chunk size

XFS

sudo mkfs.xfs -d su=32k,sw=1 /path/to/dev

Then use largeio and swalloc mount options.

ext4

sudo mkfs.ext4 -E stride=8,stripe-width=8 /path/to/dev

You can change these settings for an existing file system:

sudo tune2fs -E stride=8,stripe-width=8 /path/to/dev

Getting A Crypto Wallet

Before running anything you need to have a wallet where you'll receive testnet coins. Follow our how-to guides in the Wallets section of the documentation for steps on how to get your wallet setup.

Required ports

Currently, a few ports need to be exposed for node to work properly.

If you have a server with no firewall, there is nothing to be done, but otherwise make sure to open the following TCP ports for incoming connections.

  • 30333
  • 30433
  • 30533

On the desktop side if you have a router in front of your computer, you'll need to forward TCP ports to the machine on which your node is running (how this is done varies from router to router, but there is always a feature like this, refer to How to Forward Ports for a more in-depth tutorial). If you're connected directly without any router, then again nothing needs to be done in such case.

Installation

ALPHA SOFTWARE

Pulsar is in alpha. Please feel free to file bug reports on our GitHub issues.

Prefer A video? Expand for our installation video

Download Binaries


Precompiled versions of the Pulsar is hosted on GitHub. This is the recommended way to install the application. Please find the appropriate binary for your operating system.

caution

Some older processors/VMs are no longer supported by official releases, but can still be compiled manually if desired

  1. Download the Release Binary below.
Expand for Version 2 - For older processors since ~2009 and some old VMs
Expand for Version 3 - For newer processors since ~2015
  1. Open Powershell, type cd Downloads (or cd Your-File-Location).
Warning

The warning below may appear because the application is trying to access the internet. This is expected as it is how the farmer talks to other farmers on the network. Please select 'Allow access' to continue farming.

Configuration


To start we have to initialize our Farmer, this can be done with:

./pulsar-windows-x86_64-skylake-v0.6.10-alpha.exe init
High RAM consumption

Operating systems, such as Windows, allocate memory for both visible tasks and behind-the-scenes processes. While this memory can be readily freed when necessary, Windows occasionally may not display these allocations accurately due to certain system nuances. High RAM consumption should not be a cause for concern.

This will prompt you to setup your Pulsar configurations to begin farming. You should see a similar prompt like so (some info might be different than shown here w.r.t your OS):

version: 0.6.0

Configuration creation process has started...
Do you have an existing farmer/reward address? [y/n]: y
Enter your farmer/reward address: REDACTED_ADDRESS
Enter your node name to be identified on the network(defaults to `subspace`, press enter to use the default):
Specify a path for storing plot files (press enter to use the default: `"/home/username/.local/share/pulsar/farms"`):
Specify a path for storing node files (press enter to use the default: `"/home/username/.local/share/pulsar/node"`):
Specify a plot size (defaults to `2.0 GB`, press enter to use the default):
Specify the chain to farm. Available options are: [Gemini3f, Dev, DevNet].
Defaults to `Gemini3f`, press enter to use the default:
Configuration has been generated at /home/username/.config/pulsar
Ready for lift off! Run the follow command to begin: `"path/to/executable" farm`
Finding your settings.toml

After running pulsar init, the prompt will display where the settings.toml is generated. However in case you missed it, you can find the file based on your operating system:

Your settings.toml will be found in $FOLDERID_RoamingAppData/pulsar/settings.toml

Gemini 3 Testnet


If you are using the default configurations from Pulsar, you are ready to go with the Gemini 3 Testnet. Alternatively, you can ensure this occurs by manually setting the network like so.

Open your settings.toml directory and ensure your chain is correctly specified to gemini-3f as so:

# settings.toml
[node]
chain = 'gemini-3f'
# ... redacted ...

Local Development


To run Pulsar in a local development mode, modify your settings.toml and ensure your chain points to dev:

# settings.toml
[node]
chain = 'dev'
# ... redacted ...

Farming


To begin farming on the network, just run the farm command with the CLI like so:

./pulsar-windows-x86_64-skylake-v0.6.10-alpha.exe farm

You should see the farmer and node start successfully and begin syncing, plotting, and then farming:

Starting node ... (this might take up to couple of minutes)
Node started successfully!
Starting farmer ...
Farmer started successfully!
Initial plotting for plot: #0 (/home/username/.local/share/pulsar/farms)
⠁ [00:00:00] 3% [=> ]
(31.00 MiB/953.67 MiB) 157.35 GiB/s, plotting, ETA: 0s

That's it! Enjoy and Happy Farming!

Moving the Farming Process to the Background

Learn More about Tmux

If you want to learn more about Tmux and its options check out their Repo here

  • Create a new tmux session using a socket file named farming
$ tmux -S farming
  • Move process to background by detaching
Ctrl+b d OR ⌘+b d (Mac)
  • To re-attach
$ tmux -S farming attach
  • Alternatively, you can use the following single command to both create (if not exists already) and attach to a session:
$ tmux new-session -A -D -s farming
  • To delete farming session
$ tmux kill-session -t farming

Having Trouble?

If you are facing issues with your node/farmer you can try a few of the following things below, if you are unable to get your issue resolved please check our Forums to see if your issue may have been solved, if its a new one feel free to post it! You can also join our Discord for additional Peer to Peer help.

info

We have included a few tutorials below that may help you in your support journey, this is not an all inclusive list but we welcome contributions

Wipe Node & Farmer

Updated from a previous version and now having issues?

Occasionally after updating to a new version of the Pulsar you will need to wipe your node and farmer, generally this should not be required but can be attempted if your farmer is having issues after having had worked fine previously.

To simply restart the node, go to the terminal where you started the farm command, and press Ctrl + C you should see a shutdown message appear and the application will attempt a simple shutdown, if you dont see the message press Ctrl + C again to force shutdown. You can then simply start the farmer again with the farm command you used prior.

Use the same file name as the previous init and farm steps, then add the wipe command to free the previous storage that was being used. Generally, only do this if you have severe errors and are prompted by a staff member.

./pulsar-file-name wipe

After wiping, follow the init and farm steps above to start farming again!

View your Logs

A good place to start if you are facing trouble is by viewing your logs and seeing if there are any errors or insights that might be available. You can find the location for your logs below

Your Logs will be found in %USERPROFILE%/AppData/Local/pulsar/logs

Enable Rust Backtrace

When running the Subspace Network Farmer & Node, sometimes you may encounter an error message that includes a line similar to the following:

Backtrace omitted. Run with RUST_BACKTRACE=1 environment variable to display it.

This error message means that Rust (the programming language that Subspace Network Farmer & Node is written in) has encountered a problem and has provided a diagnostic backtrace that can help diagnose the issue. However, by default, the backtrace is not displayed. To see the backtrace, you need to enable the RUST_BACKTRACE environment variable.

In this section, we will show you how to enable the RUST_BACKTRACE environment variable on Linux, macOS, and Windows (PowerShell).

Enabling RUST_BACKTRACE on Windows (PowerShell)

To enable the RUST_BACKTRACE environment variable on Windows using PowerShell, follow these steps:

  1. Open a PowerShell window.

  2. Type the following command:

    $Env:RUST_BACKTRACE=1
  3. Press Enter.

  4. After exporting the environment variable, run the Pulsar as usual, and any errors encountered will display the backtrace.