MINE SOST · v0.8 · SOLO-MINER-FIRST

Mine SOST in 10 minutes.

A native PoW chain. CPU-friendly, memory-hard. No pool required, no pool offered — SOST is experimenting with a solo-miner-first model. Pre-market testing only.

NATIVE POW · CPU mining · ~8 GB RAM · 10-min target block time
REQUIREMENTS

What you need

OSUbuntu 22.04 or 24.04 (other Debian-family distros likely work)
RAM8 GB recommended for mining (4 GB dataset + 4 GB scratchpad per worker thread is shared)
Disk20 GB recommended
Networkstable internet connection — the node syncs and connects to peers over P2P (port 19333)
Skillbasic terminal: cd, copy/paste, run a command
FAST PATH

One-line install (safe)

The recommended path: download, inspect, then run.

# 1. download curl -fsSL https://sostcore.com/install-sost.sh -o install-sost.sh # 2. inspect (always good practice for any pipe-to-bash script) less install-sost.sh # 3. run bash install-sost.sh

The quick version is also available, but inspect-first is always safer:

curl -fsSL https://sostcore.com/install-sost.sh | bash
What the script does: verifies you are on Ubuntu/Debian, installs build dependencies (build-essential, cmake, git, libssl-dev, libsecp256k1-dev), clones (or pulls) github.com/Neob1844/sost-core into ~/sost-core, and builds the binaries. It then prints the next manual steps.
What the script never does: ask for, read or write any private key, seed phrase or wallet file. It does not start the node, the miner, or anything else automatically. You stay in control.
MANUAL PATH

Build from source (no script)

Same result as the script, just typed by hand.

sudo apt update sudo apt install -y build-essential cmake git libssl-dev libsecp256k1-dev git clone https://github.com/Neob1844/sost-core.git cd sost-core mkdir -p build cd build cmake .. -DCMAKE_BUILD_TYPE=Release cmake --build . -j$(nproc)
FIRST RUN

Wallet, node, miner

1

Create a wallet and a mining address

Pick a passphrase you will remember. The wallet file is stored locally; it never leaves your machine.

cd ~/sost-core/build ./sost-cli newwallet ./sost-cli getnewaddress "mining" # → sost1... (copy this, you will paste it into the miner)
2

Pick RPC credentials

The node and the miner talk to each other over local RPC with HTTP Basic Auth. Choose any user/pass — both processes need to know them.

export SOST_RPC_USER="changeme" export SOST_RPC_PASS="changemenow"
Tip: these are local-only credentials — the RPC binds to 127.0.0.1 by default, never to the public internet. They protect against other local users on the same box, not against the wider network. Use any reasonable password.
3

Start the node (terminal A)

cd ~/sost-core/build ./sost-node \ --rpc-user "$SOST_RPC_USER" \ --rpc-pass "$SOST_RPC_PASS"

You should see lines like Chain loaded: NNNN blocks and the node connecting to peers. Leave this terminal open. To run as a service later, create a systemd unit (sample under docs/systemd/ in the repo).

4

Start the miner (terminal B)

Replace sost1YOURADDRESS with the address you copied in step 1.

cd ~/sost-core/build ./sost-miner \ --address sost1YOURADDRESS \ --rpc 127.0.0.1:18232 \ --rpc-user "$SOST_RPC_USER" \ --rpc-pass "$SOST_RPC_PASS" \ --blocks 999999 \ --profile mainnet \ --threads 16
Threads: try --threads 16 first. ConvergenceX is memory-bandwidth bound — throwing 64 threads at it on most boxes does not mine faster, and on some hardware actually slows down. If 16 looks unstable on your machine, drop to 8 and try again.
5

Verify you are mining

Three checks:

  • Miner log — you should see [MINING] H... bitsQ=... lines and a periodic effective stable/s rate.
  • Height — ask the node what block you are on:
    curl -s -u "$SOST_RPC_USER:$SOST_RPC_PASS" \ -d '{"method":"getblockcount","params":[],"id":1}' \ http://127.0.0.1:18232
  • Explorer — check the public network state at sost-explorer.html and your miner share at sost-network-status.html.
EXPECTATIONS

What solo mining feels like

SOST is currently solo-miner-first — there is no official pool. That has consequences you should know up front:

For more context on the lack of pools, read Why no pools.

TROUBLESHOOTING

When things look wrong

Node has 0 peers / not syncing

Check P2P connectivity. The node listens on :19333. Allow outbound connections in your firewall. If you are behind NAT, you do not need to forward 19333 to mine, but you need outbound TCP.

curl -s -u "$SOST_RPC_USER:$SOST_RPC_PASS" \ -d '{"method":"getpeerinfo","params":[],"id":1}' \ http://127.0.0.1:18232 | head -c 600
Miner says "rejected block" or "Race-loss recovery"

Normal in solo mining. It means the network found a block before yours arrived — your block referenced a now-stale parent and gets dropped. The miner will automatically pull the new tip and continue. No data lost, just one round of work.

Segfault or instability with many threads

Drop to 16, then 8 threads. ConvergenceX is bandwidth-bound; very wide thread counts (64+) on machines with lots of cores can stress the monitor path. The block-monitor race in v0.7 was fixed in v0.8 (commit 6680319) — make sure you are on v0.8 or later:

./sost-miner --help | head -1 # → "SOST Miner v0.8 (multi-threaded)"
Long pause before first block

Solo mining variance. The expected time to your first block is 1 / miner_share blocks × 10 min. With ~5% network share that is on the order of 200 minutes; you will sometimes wait 3-4× that just from variance. The calculator shows the probabilities for your hashrate.

How do I update?
cd ~/sost-core git pull origin main cd build cmake --build . -j$(nproc) # then restart the node and the miner

Or simply re-run install-sost.sh — it is idempotent.

How do I stop safely?

In each terminal: Ctrl-C. The node flushes its state to disk before exiting. The miner aborts its current attempt; nothing is lost — it just doesn't finish that nonce sweep.

NEXT

Where to go next