Network Infrastructure

Production Infrastructure

SOST runs on dedicated VPS infrastructure with hardened security, nginx reverse proxy, systemd services, and automated SSL. Every component is self-hosted and independently verifiable.

SECTION 01

Domains & Subdomains

sostcore.com Infrastructure
4 SUBDOMAINS
DomainPurposeStatus
sostcore.comInformational website — protocol documentation, whitepaper, getting started guidesLive (SSL)
explorer.sostcore.comBlock explorer — real-time chain data, reserve tracker, difficulty dashboardLive (SSL)
seed.sostcore.comP2P bootstrap seed node — port 19333. Not a website; TCP-only for node discoveryLive (P2P)
wallet.sostcore.comWeb wallet — client-side key generation, send/receive, TOTP 2FA. Keys never leave deviceNow Live (SSL)
seed.sostcore.com:19333 is a P2P bootstrap node, not a website. Visiting it in a browser will not work. Nodes connect to it automatically for peer discovery. You can override with --connect <host:port>.
SECTION 02

VPS Node Specifications

Primary Server
STRATO VC 2-4
ParameterValue
ProviderStrato VC 2-4
OSUbuntu 24.04 LTS
RAM4 GB + 4 GB swap
Ports open22 (SSH), 80 (HTTP), 443 (HTTPS), 19333 (P2P)
Process managersystemd service (sost-node.service)
SSLLet's Encrypt (auto-renewal via certbot)
Reverse proxynginx — static files + RPC proxy
RPC bindinglocalhost only (127.0.0.1:18232)
SECTION 03

Security Hardening

Server Security Layers
DEFENSE IN DEPTH
LayerConfiguration
SSHKey-only authentication (password auth disabled)
fail2banSSH brute-force protection (5 attempts → 24h ban)
UFW firewallAllow 22/80/443/19333 only — deny all other inbound
nginx rate limitingRPC endpoint: 30 req/min per IP, burst 10
RPC accesslocalhost only — nginx proxies selected read-only methods
RPC authBasic Auth required for state-changing methods (send, submit)
P2P DoSBan scoring (100 points → 24h ban), max 64 inbound peers, 4MB message limit
P2P encryptionX25519 + ChaCha20-Poly1305 (default: on)
SECTION 04

Explorer Architecture

The block explorer is a static HTML page that queries the node via nginx-proxied RPC endpoints. No backend framework, no database — pure client-side JavaScript.

Browser

Static HTML + JS

nginx

Reverse proxy + rate limit

/rpc

JSON-RPC on 127.0.0.1:18232

sost-node

Full node (chain + UTXO + mempool)

# nginx.conf — explorer RPC proxy location /rpc { proxy_pass http://127.0.0.1:18232; proxy_set_header Host $host; limit_req zone=rpc burst=10 nodelay; add_header Access-Control-Allow-Origin *; }
RPC Methods Used by Explorer
READ-ONLY
MethodPurpose
getinfoChain height, difficulty, connections, UTXO count
getblockcountCurrent block height
getblockhashBlock hash at height
getblockFull block data (hash, time, difficulty, cASERT)
getaddressinfoAddress balance, UTXO list
gettransactionFull transaction data (inputs, outputs, fee)
getmempoolinfoMempool size and fee stats
estimatefeeRecommended fee per byte
getpeerinfoConnected peer list
SECTION 05

P2P Network

Nodes discover each other through the seed node and maintain persistent connections for block and transaction relay.

Your Node

sost-node binary

DNS Resolve

seed.sostcore.com

TCP Connect

Port 19333

Handshake

VERS → VACK → Sync

P2P Protocol Parameters
BINARY PROTOCOL
ParameterValue
Magic bytes0x534F5354 ("SOST")
Default port19333
Max inbound peers64
Max message size4 MB
Ban threshold100 points
Ban duration24 hours
Ping interval30 seconds
EncryptionX25519 + ChaCha20-Poly1305 (default: on)
Block batch size500 blocks per GETB request
P2P Message Types
8 COMMANDS
CommandDirectionDescription
VERSBothVersion handshake (height + genesis hash)
VACKReplyVersion acknowledged
EKEYBothX25519 ephemeral public key exchange
GETBRequestRequest blocks from height
BLCKReplyFull block with transactions
TXXXBroadcastTransaction relay (hex-encoded)
PINGRequestKeepalive ping
PONGReplyKeepalive response
SECTION 06

Run Your Own Node

STEP 1

Download

Clone the repository from GitHub:
git clone https://github.com/Neob1844/sost-core.git

STEP 2

Compile

Build from source (C++17, CMake):
mkdir build && cd build && cmake .. && make -j$(nproc)

STEP 3

Connect

Start the node — it connects to seed.sostcore.com:19333 automatically for peer discovery and chain sync.

STEP 4

Sync

The node downloads and validates all blocks from genesis. Full PoW verification, UTXO replay, and mempool initialization. Your node is sovereign.

# Quick start (after build) ./sost-node \ --genesis genesis_block.json \ --chain chain.json \ --wallet wallet.json \ --rpc-user YourUser \ --rpc-pass YourPass \ --profile mainnet \ --p2p-enc on
Dependencies: Ubuntu 24.04 (or similar), build-essential, cmake, libssl-dev, libsecp256k1-dev. The node binary is ~2MB, the full blockchain is lightweight by design.