Skip to main content

Prerequisites

First we need to install Git, Node.js, Go and Rust:

Install Git

bash

Install Node.js with NVM

bash
Currently, StateSet Network uses Go 1.19 to compile the code. Install GO Install Go 1.19 Verify the installation by typing go version in your terminal.
jsx
Every RPC and faucet hostname in this guide sits on a domain that does not currently resolve. Confirm the endpoint you should be using with StateSet before working through the setup below — the commands are correct, but the hosts they point at are not reachable.

Setup

  1. Stop your node
  2. Reset Statesetd unsafe-reset-all
  3. Remove genesis rm .StateSet/config/genesis.json
  4. Remove gentxs rm -r .StateSet/config/gentx/
  5. Follow generate gentx as normal below
Genesis File Genesis File:
StateSetd version

Setup

Prerequisites: Make sure to have Golang >=1.19.

Build from source

You need to ensure your gopath configuration is correct. If the following ‘make’ step does not work then you might have to add these lines to your .profile or .zshrc in the users home folder:
Source update .profile
This will build and install Statesetd binary into $GOBIN. Note: When building from source, it is important to have your $GOPATH set correctly. When in doubt, the following should do:

Minimum hardware requirements

  • 8-16GB RAM
  • 100GB of disk space
  • 2 cores

Setup validator node

Below are the instructions to generate & submit your genesis transaction

Generate genesis transaction (gentx)

  1. Initialize the StateSet directories and create the local genesis file with the correct chain-id:
  2. Create a local key pair:
  3. Add your account to your local genesis file with a given amount and the key you just created.
  4. Create the gentx, use only 9000000000ustate:
    If all goes well, you will see a message similar to the following:

Submit genesis transaction

  • Fork the networks repo into your Github account
  • Clone your repo using
  • Copy the generated gentx json file to <repo_path>/networks/StateSet-1/gentx/
  • Commit and push to your repo
  • Create a PR onto https://github.com/StateSet/networks
  • Only PRs from individuals / groups with a history successfully running nodes will be accepted. This is to ensure the network successfully starts on time.

Next steps

Network orders

Placing and settling orders on the network.

Contracts

The contracts a validator executes.

Sequencer

The sequencing layer above the chain.

Set L2

Settlement on the L2.
Last modified on August 29, 2026