Everything you need to compile the source, run a full node, mine blocks with ConvergenceX, and send transactions on the SOST network. Ubuntu 24.04 recommended.
| Binary | Version | Description |
|---|---|---|
| sost-node | v0.4.0 | Full node — P2P networking, JSON-RPC, chain validation, mempool |
| sost-miner | v0.6 | ConvergenceX PoW miner with mempool integration |
| sost-cli | v1.3 | Wallet CLI — create keys, send transactions, auto fees |
| sost-rpc | v0.1 | Standalone RPC client for node queries |
| Command | Description |
|---|---|
| newwallet | Create new wallet file |
| getnewaddress [label] | Generate new receiving address |
| listaddresses | List all wallet addresses with balances |
| importprivkey <hex> | Import a 32-byte private key (hex) |
| getbalance [address] | Show balance in SOST |
| listunspent [address] | List unspent transaction outputs |
| createtx <to> <amount> | Create and sign a transaction (outputs hex) |
| send <to> <amount> | Create, sign and broadcast via RPC |
| dumpprivkey <address> | Reveal private key (DANGER) |
| info | Wallet summary |
Full-featured command-line wallet via sost-cli. Create keys, sign transactions, broadcast via RPC. Requires a running node for balance queries and broadcasting.
Client-side wallet at sost-wallet.html. Generate keys, create and sign transactions in your browser. Private keys never leave your device.
sost1 + 40 hex characters (20-byte pubkey hash, ECDSA secp256k1).
| Flag | Default | Description |
|---|---|---|
| --genesis <path> | required | Genesis block JSON |
| --chain <path> | — | Chain state file (load/save) |
| --wallet <path> | wallet.json | Wallet file |
| --port <n> | 19333 | P2P port |
| --rpc-port <n> | 18232 | RPC port |
| --rpc-user <user> | required | RPC authentication username |
| --rpc-pass <pass> | required | RPC authentication password |
| --connect <host:port> | seed.sostcore.com | Connect to specific peer |
| --profile <p> | mainnet | Network profile |
--rpc-user and --rpc-pass values must match between the node, miner, and CLI. Use strong, unique credentials — these are not transmitted over the network but protect local RPC access.
| Feature | Detail |
|---|---|
| Consensus validation | Rules R1-R14, S1-S12, CB1-CB10 |
| UTXO set & mempool | Maintained and persisted |
| Wallet rescan | Automatic on startup |
| Chain persistence | Auto-save after every accepted block |
| P2P relay | Block and transaction relay with DoS protection |
| Ban scoring | Threshold 100, 24h ban, 64 inbound peer limit |
| Reorg protection | Max reorg depth: 100 blocks |
| Flag | Default | Description |
|---|---|---|
| --address <sost1..> | required | Your wallet address to receive mining rewards |
| --genesis <path> | required | Genesis block JSON |
| --chain <path> | required | Chain state file |
| --rpc <host:port> | — | Submit blocks to node via RPC |
| --blocks <n> | 5 | Number of blocks to mine |
| --threads <n> | 1 | Mining threads |
| --max-nonce <n> | 500000 | Max nonce per round |
Connect to node via --rpc 127.0.0.1:18232. Fetches mempool transactions via getblocktemplate, includes them in blocks, distributes fees across coinbase outputs, submits via submitblock.
Writes directly to chain.json. Coinbase-only blocks, no transaction support. Not recommended for production use.
| Step | Action |
|---|---|
| 1 | sost-cli queries node for current chain height (maturity filtering) |
| 2 | CLI selects mature UTXOs, calculates fee, builds and signs TX |
| 3 | CLI broadcasts signed TX to node via sendrawtransaction RPC |
| 4 | Node validates transaction and accepts it to mempool |
| 5 | Miner fetches mempool via getblocktemplate and includes TX in next block |
| 6 | Node confirms transaction when block is accepted |
| Parameter | Value |
|---|---|
| Default fee rate | 1 stock/byte |
| Minimum relay fee | 1,000 stocks (0.00001 SOST) |
| Override | --fee-rate <n> |
| Coinbase maturity | 1000 confirmations required (~7 days) |
| Regular TX outputs | Spendable immediately |
| Method | Params | Description |
|---|---|---|
| getinfo | — | Node status, height, difficulty, mempool |
| getblockcount | — | Current chain height |
| getblockhash | height | Block hash at given height |
| getblock | hash | Block details including cASERT mode |
| getaddressinfo | address | Address balance, UTXO count |
| getbalance | — | Wallet balance |
| listunspent | — | Wallet UTXOs |
| gettxout | txid, vout | Query specific UTXO |
| validateaddress | address | Check address validity |
| getnewaddress | [label] | Generate new wallet address |
| sendrawtransaction | hex | Submit signed transaction |
| getmempoolinfo | — | Mempool size, bytes, fees |
| getrawmempool | — | Pending transaction IDs |
| getrawtransaction | txid [verbose] | Get raw tx from mempool |
| getpeerinfo | — | Connected P2P peers |
| submitblock | block_json | Submit mined block |
| getblocktemplate | — | Get mempool txs for mining |
| Problem | Solution |
|---|---|
| Connection refused on RPC | Ensure sost-node is running and --rpc-port matches (default 18232) |
| Authentication failed | Check --rpc-user and --rpc-pass match between node, miner, and CLI |
| No peers connected | Check firewall allows port 19333; try --connect seed.sostcore.com:19333 |
| Miner finds no template | Node must be fully synced before mining; check getinfo height |
| "Immature coinbase" error | Coinbase outputs require 1000 confirmations (~7 days) before spending |
| Out of memory (miner) | ConvergenceX requires 4GB RAM per thread; reduce --threads |