Home Node Overview
Post
Cancel

Overview

Node Overview

A SASEUL node is a process that connects to the SASEUL peer-to-peer network, synchronizes block data, and serves as your local entry point for all on-chain interaction.

Through a running node, you can:

  • synchronize blocks and chain status
  • broadcast transactions and send requests
  • deploy and call smart contracts
  • expose an RPC endpoint for applications
  • participate in mining and block validation


Quick Start

The standard way to start a SASEUL node is Docker-based deployment.

This section focuses on first startup. For detailed environment design, operations, and advanced CLI usage, see the Installation and CLI guides.

Before you start

  • server clock must be synchronized (NTP recommended)
  • Docker must be available on the host
  • a persistent volume or directory for block data is required
  • the default example uses port 80

Image tags

TagDescription
latestFull version — includes GPU and CPU support
liteCPU-only — smaller image, no GPU dependencies
arm64CPU-only for ARM64 hosts (lite for ARM64)

To pin a specific version, append the version number: artifriends/saseul-network:2.2.0.3, artifriends/saseul-network:2.2.0.3-arm64

CPU-only setup (lite)

The simplest path. Use the lite tag if you do not need GPU mining.

1
2
3
4
5
6
7
8
sudo docker pull artifriends/saseul-network:lite

sudo mkdir -p /var/saseul-data
sudo docker run -d --init --name saseul-node \
  -p 80:80 \
  -v /var/saseul-data:/var/saseul/saseul-network/data \
  --entrypoint /bin/saseul-init \
  artifriends/saseul-network:lite

For ARM64 hosts, replace the tag with arm64:

1
2
3
4
5
6
sudo docker pull artifriends/saseul-network:arm64
sudo docker run -d --init --name saseul-node \
  -p 80:80 \
  -v /var/saseul-data:/var/saseul/saseul-network/data \
  --entrypoint /bin/saseul-init \
  artifriends/saseul-network:arm64

Initial setup

Run the interactive setup inside the container.

1
sudo docker exec -it saseul-node saseul-install

You will be prompted for:

1
2
3
4
5
Please enter your endpoint (host:port) [anonymous]:
> <YOUR_ENDPOINT>

Please enter your miner address [primary wallet]:
> (leave empty to use default wallet)

Start the node and follow the logs.

1
2
sudo docker exec -it saseul-node saseul-script start
sudo docker exec -it saseul-node saseul-script log -f

Check node status.

1
sudo docker exec -it saseul-node saseul-script info

GPU mining setup

GPU mining uses the latest tag and requires NVIDIA driver setup on the host.

Install dependencies, configure the NVIDIA runtime, and reboot.

1
2
3
4
5
6
7
8
9
10
11
sudo dnf update -y
sudo dnf install -y kernel-devel docker gcc make dkms
sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/amzn2023/x86_64/cuda-amzn2023.repo
sudo dnf install -y nvidia-driver
curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo \
  | sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo
sudo dnf install -y nvidia-container-toolkit nvidia-driver-cuda
sudo systemctl enable --now docker
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
sudo reboot

After reboot, verify the GPU is visible.

1
nvidia-smi

Start the container with GPU access.

1
2
3
4
5
6
7
8
9
sudo docker pull artifriends/saseul-network:latest

sudo mkdir -p /var/saseul-data
sudo docker run -d --init --name saseul-node \
  --gpus all \
  -p 80:80 \
  -v /var/saseul-data:/var/saseul/saseul-network/data \
  --entrypoint /bin/saseul-init \
  artifriends/saseul-network:latest

Complete the initial setup, then after block synchronization completes, enable GPU mining.

1
2
3
sudo docker exec -it saseul-node saseul-script mining external on
sudo docker exec -it saseul-node saseul-script mining start
sudo docker exec -it saseul-node saseul-script mining gpu start

Check mining status and follow miner logs.

1
2
sudo docker exec -it saseul-node saseul-script mining gpu check
sudo docker exec -it saseul-node saseul-script log -m -f

Beyond Quick Start

For everything beyond first startup, continue with the dedicated guides:

  • Installation — environment-specific setup, directory layout, data persistence
  • CLI — full command reference, operational procedures
  • RPC API — application integration through HTTP


How SASEUL works

Dual-chain architecture

SASEUL operates two separate chains. The Main Chain records transactions and state transitions — most application-level interactions target this chain. The Resource Chain manages resource allocation, validator selection, and mining. This separation allows transaction throughput and consensus security to scale independently.

Consensus — HAP-2

SASEUL uses HAP-2 (Hypothesis Acceptance Protocol), a consensus algorithm built on Proof of Work. A node that succeeds in mining continues as a validator for a set duration, and multiple validators participate in block creation simultaneously. Each validator proposes a block hypothesis; through synchronization and agreement the most supported hypothesis is selected and finalized.

SASEUL does not use Proof of Stake. PoS networks remain subject to dominance by the largest holders and the nothing-at-stake problem. HAP-2 avoids these issues while improving on traditional PoW throughput by separating mining from block generation.

Mining and SL

In the spirit of Bitcoin, SL can only be obtained through mining as a reward for maintaining network nodes. The current network achieves 6–8 second finality.


Command pattern

For Docker-installed nodes, the CLI pattern is:

1
docker exec -i saseul-node saseul-script {commandName}

Examples:

1
2
3
4
docker exec -i saseul-node saseul-script info
docker exec -i saseul-node saseul-script log -f
docker exec -i saseul-node saseul-script start
docker exec -i saseul-node saseul-script stop

See the CLI guide for the full command reference.


Next steps

  • New to SASEUL nodes? Start with Installation
  • Already running a node? Go to CLI
  • Building an application or backend integration? Go to RPC API
  • Building on-chain logic? Go to Smart Contract
This post is licensed under CC BY 4.0 by the author.