Quick Start

Mine SOST in
5 commands

From zero to mining your first block. No GPU required — SOST uses ConvergenceX, a CPU-friendly proof-of-work algorithm designed for commodity hardware.

CPU MINING | Ubuntu 24.04 · 4GB RAM · Any x86_64 CPU
// 01 — QUICK MINING

Five commands to mine

Copy & paste these 5 commands to go from a fresh Ubuntu system to mining SOST. That's it.
1
Install dependencies
sudo apt install -y build-essential cmake libssl-dev libsecp256k1-dev git
2
Clone and build
git clone https://github.com/Neob1844/sost-core.git && cd sost-core && mkdir build && cd build && cmake .. -DCMAKE_BUILD_TYPE=Release && make -j$(nproc)
3
Generate your wallet
./sost-cli newwallet && ./sost-cli getnewaddress "mining"
4
Start the node
./sost-node --wallet wallet.json --genesis genesis_block.json --chain chain.json --rpc-user miner --rpc-pass miner123 --profile mainnet
5
Start mining (in a new terminal)
./sost-miner --address sost1YOUR_ADDRESS_HERE --genesis genesis_block.json --chain chain.json --rpc 127.0.0.1:18232 --rpc-user miner --rpc-pass miner123 --blocks 0 --profile mainnet --realtime
Replace sost1YOUR_ADDRESS_HERE with the address from step 3. Replace miner/miner123 with your own RPC credentials. The miner is single-threaded by design — one instance per CPU core for maximum efficiency.
// 02 — REQUIREMENTS

What you need

System Requirements
minimum specs
ComponentMinimumRecommended
OSUbuntu 22.04+Ubuntu 24.04 LTS
CPUAny x86_644+ cores (run multiple miners)
RAM4 GB8 GB+
Disk2 GB free10 GB SSD
NetworkInternet connectionLow-latency broadband
Build Dependencies
apt packages
$ sudo apt install -y build-essential cmake libssl-dev libsecp256k1-dev git
PackagePurpose
build-essentialGCC/G++ compiler, make
cmakeBuild system (3.16+)
libssl-devSHA-256 hashing (OpenSSL)
libsecp256k1-devECDSA signatures (secp256k1)
gitClone the repository
// 03 — STEP BY STEP

Detailed walkthrough

1 Clone the repository
$ git clone https://github.com/Neob1844/sost-core.git $ cd sost-core

The repository includes genesis_block.json in the project root — this is the mainnet genesis block, required by all binaries.

2 Build from source
$ mkdir build && cd build $ cmake .. -DCMAKE_BUILD_TYPE=Release $ make -j$(nproc)

This produces four binaries: sost-node, sost-miner, sost-cli, and sost-rpc.

3 Verify the build (optional)
$ ctest --output-on-failure

Runs the full test suite. All tests should pass — if any fail, check that dependencies are installed correctly.

4 Generate your wallet and address
$ ./sost-cli newwallet # Creates wallet.json with your private key $ ./sost-cli getnewaddress "mining" # Output: sost1a3b7f9e2d... (your unique address)

This creates a wallet.json file with your private key. Your address starts with sost1 followed by 40 hex characters. You can also manage funds from the Web Wallet.

Back up wallet.json immediately. If you lose this file, you lose access to your coins. There is no recovery mechanism.
5 Start the full node
$ ./sost-node --wallet wallet.json --genesis genesis_block.json --chain chain.json \ --rpc-user miner --rpc-pass miner123 --profile mainnet # Node starts on P2P port 19333, RPC port 18232

The node syncs the blockchain and exposes a JSON-RPC interface for the miner and CLI. Keep it running in its own terminal or use tmux/screen. Need peers? Join the community.

6 Start mining
$ ./sost-miner --address sost1YOUR_ADDRESS \ --genesis genesis_block.json --chain chain.json \ --rpc 127.0.0.1:18232 --rpc-user miner --rpc-pass miner123 \ --blocks 0 --profile mainnet --realtime

The miner connects to your local node via RPC and starts solving ConvergenceX puzzles. When a block is found, it's automatically submitted to the network. Track your blocks in the Explorer.

Multi-core mining: The miner is single-threaded. To use all CPU cores, run one miner instance per core in separate terminals — all with the same address and RPC endpoint.
// 04 — HOW IT WORKS

Block lifecycle

MINER
Solves ConvergenceX
CPU proof-of-work
BLOCK
Header + coinbase
+ mempool txs
NODE
Validates L1–L4
updates UTXO set
NETWORK
Propagated to
all peers via P2P
Coinbase Distribution
every block, immutable
OutputRecipientShare
[0]Miner (you)50%
[1]Gold Vault25%
[2]PoPC Pool25%

This split is hardcoded in the protocol and enforced by consensus rules. No governance can change it. See Tokenomics for full emission schedule.

// 05 — TROUBLESHOOTING

Common issues

Error Reference
quick fixes
ProblemCauseSolution
cmake: command not found Missing build tools sudo apt install build-essential cmake
openssl/sha.h: No such file Missing OpenSSL headers sudo apt install libssl-dev
secp256k1.h: No such file Missing libsecp256k1 sudo apt install libsecp256k1-dev
Connection refused (RPC) Node not running Start sost-node first, then the miner
genesis mismatch Wrong genesis_block.json path Use --genesis genesis_block.json from build/
wallet.json not found No wallet created yet Run sost-cli newwallet first
Miner shows 0 H/s Waiting for chain sync Wait for node to sync, check RPC connection

Still stuck? Check the FAQ or reach out via Contact.

// 06 — SECURITY

Protect your coins

Wallet Security

Back up wallet.json to offline storage immediately after creation. This file contains your private key — losing it means losing your coins permanently.

Encrypt the wallet using the CLI:

$ ./sost-cli wallet-export
Node Security

Firewall configuration: Open port 19333 (P2P) for network participation. Keep RPC port 18232 restricted to localhost only.

$ sudo ufw allow 19333/tcp # Do NOT expose 18232 to the internet
Coinbase maturity: Mined coins require 1000 block confirmations (~7 days) before they can be spent. This is a consensus rule and cannot be bypassed.
// 07 — THREE LEVELS

Choose your depth

LEVEL 1
Solo Miner
Mine SOST with a single node and miner. The simplest setup — just the 5 commands above. You receive 50% of each block reward directly to your wallet address. Ideal for getting started and learning the protocol.
./sost-miner --address sost1... --genesis genesis_block.json --chain chain.json --rpc 127.0.0.1:18232 --rpc-user miner --rpc-pass miner123 --blocks 0 --profile mainnet --realtime
LEVEL 2
Full Node Operator
Run a persistent full node that validates the entire chain and serves peers. Use systemd for auto-restart, configure firewall rules, and monitor chain health via the RPC interface. See Infrastructure for deployment guides. Strengthens the network for everyone.
./sost-node --wallet wallet.json --genesis genesis_block.json --chain chain.json --rpc-user miner --rpc-pass miner123 --profile mainnet
LEVEL 3
Protocol Developer
Dive into the C++17 source code. Understand the UTXO model, ConvergenceX PoW, ASERT/cASERT difficulty adjustment, and the 4-layer block validation pipeline. Run the test suite, read the whitepaper, and contribute on GitHub.
cd build && ctest --output-on-failure && ./test-transaction && ./test-utxo-set
Full documentation: See Getting Started for detailed CLI flags, Technology for protocol internals, and the Whitepaper for the full specification.