Skip to content

About

Open-source Bitcoin-like cryptocurrency and blockchain implementation in Python. Explore UTXO transactions, SHA-256d mining, wallets, P2P networking and RPC. Study and customize your own coin and independent network.

Topics

Resources

Stars

8 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SALOCOIN

SALOCOIN Logo

Enterprise-Grade Masternode Cryptocurrency

Features β€’ Quick Start β€’ Desktop Wallet β€’ Block Explorer β€’ Pool Mining β€’ CLI Commands β€’ API

🌐 Website β€’ πŸ” Block Explorer β€’ πŸ’³ Web Wallet β€’ πŸ’¬ Discord β€’ πŸ“± Telegram


πŸš€ Live Network Status

SALOCOIN Mainnet is LIVE! The network launched in January 2026 and is fully operational.

Metric Current
Network Status 🟒 Online
Block Height Growing
Target Block Time 2.5 minutes (150 sec)
Blocks Per Day ~576 (like Litecoin/Dash)
Mining Algorithm SHA-256d (Bitcoin/ASIC-compatible)
Mining Pool Active at pool.salocoin.org:7261
Exchange Ready βœ… Yes

Overview

SALOCOIN is an enterprise-grade cryptocurrency built with Python, featuring SHA-256d proof-of-work mining (Bitcoin-compatible), HD wallets with BIP-39/44 support, and a fully decentralized peer-to-peer network.

Specifications

Parameter Value
Algorithm SHA-256d (Double SHA-256)
Block Time 150 seconds (2.5 minutes)
Initial Block Reward 100 SALO
Max Supply 39,000,000 SALO
Halving Interval 210,000 blocks (~1 year)
Minimum Reward 0.1 SALO
Decimal Places 8
Address Prefix S (starts with S)
GPU Mining OpenCL (NVIDIA/AMD)

Official Network Nodes

Service URL Description
API Node https://api.salocoin.org Main API for wallets & explorers
Seed Node https://seed.salocoin.org Peer discovery & block sync
Bootstrap https://bootstrap.salocoin.org Fast initial blockchain download
Mining Pool stratum+tcp://pool.salocoin.org:7261 Public mining pool (1-10% dynamic fee)
Pool SSL stratum+ssl://pool.salocoin.org:7263 Pool mining with SSL/TLS
Solo Mining stratum+tcp://solo.salocoin.org:3333 Solo mining (100% to miner)
Solo SSL stratum+ssl://solo.salocoin.org:3334 Solo mining with SSL/TLS

Reward Distribution (Bitcoin-Style Halving)

Block Height Reward Era
0 - 209,999 100 SALO Era 1
210,000 - 419,999 50 SALO Era 2
420,000 - 629,999 25 SALO Era 3
630,000 - 839,999 12.5 SALO Era 4
... ... ...

Reward halves every 210,000 blocks until minimum of 0.1 SALO. Full block reward goes to miners.

Network Ports

Service Mainnet Testnet
P2P 7339 17339
RPC 7340 17340
Masternode 7341 17341
Mining Pool (Stratum) 7261 7261
Pool Stats API (HTTP) 7262 7262

Security Parameters

Parameter Value Description
MAX_REORG_DEPTH 100 blocks Maximum chain reorganization depth
COINBASE_MATURITY 100 blocks Confirmations before mined coins spendable
MTP_BLOCK_COUNT 11 blocks Median Time Past window
MAX_FUTURE_BLOCK_TIME 7200 sec Max time block can be ahead of network
Difficulty Adjustment Every block Dark Gravity Wave v3
DGW Window 24 blocks Blocks used for difficulty calculation
Max Adjustment Β±200% Maximum 2x difficulty change per block
Emergency Threshold 600 seconds Difficulty reduction if no block for 10 min
Emergency Reduction 2x easier Gradual reduction per period

Transaction Fee Estimation

SALOCOIN uses Bitcoin-style dynamic fee estimation based on network conditions:

Priority Target Description
Fast 1-2 blocks High priority, confirmed quickly
Normal 3-6 blocks Standard priority
Economy 7+ blocks Low priority, cheaper fees

Fee Factors:

  • Current mempool size and congestion
  • Recent block fill rate (last 10 blocks)
  • Median fee rate of confirmed transactions
  • Network congestion multiplier

API Endpoints:

# Get all fee estimates
curl https://api.salocoin.org/fee_estimate

# Get specific priority
curl https://api.salocoin.org/fee_estimate/fast
curl https://api.salocoin.org/fee_estimate/normal
curl https://api.salocoin.org/fee_estimate/economy

Response Example:

{
  "fast": {"fee_rate": 15.5, "fee_per_kb": 15500, "target_blocks": 2},
  "normal": {"fee_rate": 8.2, "fee_per_kb": 8200, "target_blocks": 4},
  "economy": {"fee_rate": 2.0, "fee_per_kb": 2000, "target_blocks": 10}
}

⛏️ Mining

SALOCOIN supports ASIC, GPU, and CPU mining with solo and pool options.

ASIC Mining (Fastest) ⚑

SALOCOIN uses SHA-256d (same as Bitcoin), so any Bitcoin ASIC works!

ASIC Model Hashrate Works with SALO?
Antminer S21 200 TH/s βœ… Yes
Antminer S19 110 TH/s βœ… Yes
Whatsminer M50 114 TH/s βœ… Yes
Any SHA-256d ASIC Any βœ… Yes

Pool Mining (Recommended for ASIC):

# Standard (TCP)
Pool URL:     stratum+tcp://pool.salocoin.org:7261
Worker:       YOUR_SALO_ADDRESS.rig1
Password:     x

# With SSL/TLS
Pool URL:     stratum+ssl://pool.salocoin.org:7263
Worker:       YOUR_SALO_ADDRESS.rig1
Password:     x

Solo Mining (ASIC):

# Standard (TCP) - 100% rewards to your address
Pool URL:     stratum+tcp://solo.salocoin.org:3333
Worker:       YOUR_SALO_ADDRESS
Password:     x

# With SSL/TLS
Pool URL:     stratum+ssl://solo.salocoin.org:3334
Worker:       YOUR_SALO_ADDRESS
Password:     x

Note: Worker name must be a valid SALO address - rewards go directly to that address (100% to you, no pool fee).

Run Your Own Solo Proxy:

# On your own server (optional)
python asic_solo_proxy.py --address YOUR_SALO_ADDRESS --port 3333

GPU Mining (Recommended for Hobbyists)

GPU mining uses OpenCL and achieves 200+ MH/s on modern GPUs (vs ~500 KH/s on CPU).

Solo Mining (GPU):

# Install dependencies
pip install pyopencl numpy

# Mine with GPU
python gpu_miner.py --address YOUR_SALO_ADDRESS

Pool Mining (GPU):

# Connect to pool with GPU
python pool_worker.py --pool pool.salocoin.org:7261 --address YOUR_SALO_ADDRESS --gpu

CPU Mining

Solo Mining (CPU):

python miner.py --address YOUR_SALO_ADDRESS --threads 8

Pool Mining (CPU):

python pool_worker.py --pool pool.salocoin.org:7261 --address YOUR_SALO_ADDRESS --threads 4

Mining Comparison

Method Hashrate Best For
ASIC 100-200 TH/s Serious miners
GPU 200-500 MH/s Hobbyists
CPU 0.5-5 MH/s Testing only

🌊 Pool Mining

SALOCOIN supports distributed pool mining where multiple workers combine hashpower and share rewards when any worker finds a block.

Public Mining Pool

Parameter Value
Pool URL pool.salocoin.org:7261
Protocol Stratum (TCP)
Fee 1-10% (dynamic, lower with more workers)
Reward Proportional to shares

Connect to Pool

Windows (Batch):

REM GPU Mining (recommended)
pool-worker.bat YOUR_SALO_ADDRESS MyRig --gpu

REM CPU Mining
pool-worker.bat YOUR_SALO_ADDRESS MyRig

Python:

# Install dependencies
pip install -r requirements.txt

# CPU Mining (replace with YOUR address)
python pool_worker.py --pool pool.salocoin.org:7261 --address YOUR_SALO_ADDRESS --worker PC1 --threads 4

# GPU Mining (much faster!)
python pool_worker.py --pool pool.salocoin.org:7261 --address YOUR_SALO_ADDRESS --worker PC1 --gpu

Example

# Create wallet first
python salocoin-wallet.py create my_pool_wallet

# Get your address
python salocoin-wallet.py receive my_pool_wallet

# Connect to pool
python pool_worker.py --pool pool.salocoin.org:7261 --address YOUR_SALO_ADDRESS --worker MyPC --threads 4

How Pool Mining Works

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Worker 1  β”‚     β”‚   Worker 2  β”‚     β”‚   Worker 3  β”‚
β”‚   (PC1)     β”‚     β”‚   (PC2)     β”‚     β”‚   (PC3)     β”‚
β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜
       β”‚                   β”‚                   β”‚
       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                           β”‚
                    β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”
                    β”‚ Pool Server β”‚
                    β”‚  :7261      β”‚
                    β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜
                           β”‚
                    β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”
                    β”‚  Network    β”‚
                    β”‚ (Seed Node) β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
  1. Workers connect to pool server
  2. Pool assigns jobs (block templates)
  3. Workers mine and submit shares
  4. When block found β†’ Reward distributed to ALL workers based on shares
  5. Block submitted to network

Reward Distribution

When any worker finds a valid block:

  • Pool Fee: Dynamic 1-10% (more workers = lower fee)
  • Workers: 90-99% split proportionally based on shares
  • Network Fee: Deducted from each payout (Bitcoin-style)
  • Coinbase Maturity: 100 blocks (~4 hours) before payout

Bitcoin-Style Payout: Network transaction fees are deducted from the miner's payout, not from the pool fee. This matches Bitcoin pool behavior where the miner receives their share minus the dynamic network fee.

Payout System:

  • Automatic: Payouts sent when coinbase matures (100 confirmations)
  • Partial Payouts: If pool has limited mature balance, pays what's available
  • Minimum Payout: 1 SALO
  • Persistent Stats: Pending payouts saved on shutdown, restored on restart

Dynamic Pool Fee Tiers:

Workers Fee Workers Keep
1 10% 90%
5 5% 95%
10 3% 97%
20 2% 98%
50 1.5% 98.5%
100+ 1% 99%

Example (100 SALO block with 10 workers @ 3% pool fee):

Block Reward:              100.00 SALO
Pool Fee (3%):              -3.00 SALO
Workers Pool:               97.00 SALO

Worker 1: 500 shares (50%) β†’ 48.50 - 0.00025 network fee = 48.49975 SALO
Worker 2: 300 shares (30%) β†’ 29.10 - 0.00025 network fee = 29.09975 SALO  
Worker 3: 200 shares (20%) β†’ 19.40 - 0.00025 network fee = 19.39975 SALO

Note: Network fee (0.00025 SALO minimum) is dynamic based on network congestion.

Run Your Own Pool

Windows:

REM Start pool server
start-pool.bat YOUR_POOL_ADDRESS YOUR_PRIVATE_KEY 1.0

Linux/Mac:

# On your VPS/Server
./scripts/start-pool.sh YOUR_POOL_ADDRESS YOUR_PRIVATE_KEY 1.0

Python:

python -m pool.pool_server --address YOUR_POOL_ADDRESS --privkey YOUR_PRIVATE_KEY --fee 1.0 --port 7261 --http 7262

Workers connect from any PC:

Windows:

pool-worker.bat YOUR_SALO_ADDRESS MyRig --gpu

Linux/Mac:

python pool_worker.py --pool YOUR_SERVER_IP:7261 --address WORKER_ADDRESS --gpu

Pool Stats API

The pool server exposes a JSON API for real-time statistics:

Endpoint URL Protocol
Direct (Local) http://pool.salocoin.org:7262 HTTP
Via Seed (HTTPS) https://api.salocoin.org/pool_stats HTTPS
# Get pool stats (direct)
curl http://pool.salocoin.org:7262

# Get pool stats (via HTTPS proxy - used by explorer)
curl https://api.salocoin.org/pool_stats

Response:

{
  "pool_address": "SRwXNMAcLwDaVDsjPkqAGFgQ2cjFWnxb9W",
  "pool_fee": 1.0,
  "hashrate_formatted": "1.25 MH/s",
  "authorized_workers": 3,
  "blocks_found": 15,
  "total_shares": 50000,
  "total_rewards_formatted": "1500.00000000 SALO",
  "workers": [...],
  "pending_payouts": [...]
}

οΏ½ Decentralized Network & Auto-Sync

SALOCOIN is fully decentralized - no central server required!

How It Works

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                  PEER-TO-PEER NETWORK                       β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                             β”‚
β”‚        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”‚
β”‚        β”‚ Node A  │◄───►│ Node B  │◄───►│ Node C  β”‚         β”‚
β”‚        β”‚  H:500  β”‚     β”‚  H:500  β”‚     β”‚  H:500  β”‚         β”‚
β”‚        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β”‚
β”‚             β–²               β–²               β–²               β”‚
β”‚             β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜               β”‚
β”‚                             β”‚                               β”‚
β”‚                      All synced!                            β”‚
β”‚                                                             β”‚
β”‚   β€’ Any node can join/leave - network continues            β”‚
β”‚   β€’ Each node has FULL blockchain copy                      β”‚
β”‚   β€’ Auto-sync from any peer with more blocks               β”‚
β”‚   β€’ "Longest valid chain" wins                             β”‚
β”‚                                                             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Auto-Sync Process

  1. Start node β†’ Connects to known seeds
  2. Compare heights β†’ "I'm at 0, peer is at 500"
  3. Download blocks β†’ Requests missing blocks
  4. Validate β†’ Verifies PoW and transactions
  5. Listen β†’ Receives new blocks as they're mined

If Main Seed Goes Down

  • βœ… Other nodes keep running with same blockchain
  • βœ… Mining and transactions continue
  • βœ… When main seed returns, it syncs FROM other nodes
  • βœ… No data loss - everyone has full copy

πŸ“– Full guide: See COMMUNITY_SEED_NODE.md for running your own node!


οΏ½πŸš€ Bootstrap (Fast Sync)

New nodes can download the entire blockchain quickly using the bootstrap service.

Download Bootstrap File

# Download gzipped bootstrap (fastest)
curl -O https://bootstrap.salocoin.org/bootstrap.dat.gz
gunzip bootstrap.dat.gz

# Or download JSON format
curl -O https://bootstrap.salocoin.org/bootstrap.json.gz

Bootstrap API Endpoints

Endpoint Description
/bootstrap.dat Binary blockchain file
/bootstrap.dat.gz Gzipped (smaller download)
/bootstrap.json JSON format
/bootstrap/info File info & current height
/bootstrap/latest/<height> Get blocks from specific height

Check Bootstrap Info

curl https://bootstrap.salocoin.org/bootstrap/info

πŸ”„ Auto Backup (VPS)

The VPS automatically backs up blockchain data every hour using cron.

Manual Backup

# Run backup once
python3 auto_backup.py

# List all backups
python3 auto_backup.py --list

Install Hourly Cron Backup

python3 auto_backup.py --install-cron

Backup Details

Setting Value
Frequency Every hour
Retention 48 backups (2 days)
Compression gzip (~85% reduction)
Location /root/salocoin/backups/
Log /var/log/salocoin_backup.log

🌐 Run a Public Node

Help decentralize the SALOCOIN network by running your own node! Your node will:

  • Sync and store the blockchain
  • Serve wallets and miners
  • Relay transactions and blocks
  • Strengthen network security

Quick Start

Windows:

run-node.bat

Linux/Mac:

chmod +x run-node.sh
./run-node.sh

Python:

# Install dependencies
pip install requests

# Run node (localhost only)
python run_node.py

# Run with external access (for public nodes)
python run_node.py --public --port 7339

Node Options

Option Description
--port 7339 Port to listen on (default: 7339)
--public Accept external connections & register with network
--datadir ./mydata Custom blockchain data directory
--seed http://ip:port Additional seed node to connect to
--mine Enable solo mining
--threads N Mining threads (default: 1)

πŸ’‘ Network Visibility: When running with --public, your node automatically registers with the main seed and appears on the Block Explorer peer list!

API Endpoints

Your node serves these endpoints:

Endpoint Method Description
/status GET Node status and blockchain info
/height GET Current block height
/blocks GET All blocks
/block/<n> GET Block at height n
/mempool GET Pending transactions
/utxos/<address> GET Unspent outputs for address
/balance/<address> GET Balance for address
/difficulty GET Current mining difficulty
/peers GET List of active network peers
/info GET Network info
/fee_estimate GET Dynamic fee estimates (fast/normal/economy)
/fee_estimate/<priority> GET Fee estimate for priority (fast/normal/economy)
/submit_block POST Submit mined block
/submit_tx POST Submit transaction
/sync POST Sync blocks from a height

Example: Run Public Node on VPS

# On your VPS (Ubuntu/Debian)
git clone https://github.com/salocoin/salocoin.git
cd salocoin
pip3 install -r requirements.txt

# Run public node (accepts connections from anywhere)
python3 run_node.py --public --port 7339

# Run in background with screen
screen -S salocoin-node
python3 run_node.py --public --port 7339
# Press Ctrl+A, D to detach

Test Your Node

# Check status
curl http://localhost:7339/status

# Get blockchain height
curl http://localhost:7339/height

# Get block info
curl http://localhost:7339/block/0

Features

βœ… Masternode Network

  • 15,000 SALO Collateral - Stake and earn 60% of block rewards
  • Deterministic Payments - Fair, predictable payment queue
  • Masternode Governance - Vote on proposals and budget allocation

⚑ InstantSend

  • Near-Instant Confirmations - Transactions locked in seconds
  • Quorum-Based Locking - Secured by masternode consensus
  • Double-Spend Protection - Cryptographic guarantees

πŸ”’ PrivateSend

  • CoinJoin Mixing - Enhanced transaction privacy
  • Multiple Denominations - 10, 1, 0.1, 0.01 SALO
  • Trustless Mixing - No central coordinator

πŸ›οΈ Governance

  • Decentralized Proposals - Community-driven development
  • Budget System - 10% treasury for ecosystem growth
  • Superblock Payouts - Automatic proposal funding

πŸ›‘οΈ Security

  • SHA-256d Algorithm - Bitcoin-compatible double hashing
  • Dark Gravity Wave v3 - Responsive difficulty adjustment (every block, 24-block window)
  • Chain Reorganization Protection - Max 100 block reorg depth
  • Coinbase Maturity - 100 confirmations before spending mined coins
  • Median Time Past (MTP) - 11-block median timestamp validation
  • Difficulty Bounds - Enforced min/max difficulty to prevent manipulation
  • Future Block Limit - Blocks cannot be >2 hours in future
  • Hardcoded Genesis - Network rejects invalid chains
  • Spork System - Network-wide feature activation

⛏️ Mining

  • GPU Mining - OpenCL support for 200+ MH/s (NVIDIA/AMD)
  • CPU Mining - Multi-threaded solo mining
  • Pool Mining - Distributed mining with proportional rewards
  • Dynamic Pool Fee - 1-10% (more workers = lower fee)
  • Bitcoin-Style Payouts - Network fees deducted from miner payouts
  • Dynamic Network Fees - Adjusts based on mempool congestion
  • Public Pool - Connect to pool.salocoin.org:7261

πŸ–₯️ Desktop Wallet

  • Modern GUI - Beautiful CustomTkinter interface
  • GPU/CPU Mining - Solo and pool mining with toggle switch
  • HD Wallet - BIP32/39/44 hierarchical deterministic
  • QR Code Scanning - Scan addresses with camera
  • Cross-Platform - Windows executable available

🌐 Block Explorer

  • Live Website - salocoin.org/explorer.html
  • Search - Blocks, transactions, addresses
  • Pending Transactions - View mempool in real-time
  • Pagination - Browse all blocks easily

πŸ–₯️ Desktop Wallet

Download the SALOCOIN Desktop Wallet for a full-featured GUI experience.

Features

  • βœ… Create/Import HD wallets with 24-word recovery phrase
  • βœ… Send and receive SALO with one click
  • βœ… QR code scanning for recipient addresses
  • βœ… View transaction history and balance
  • βœ… GPU Mining - Toggle between GPU and CPU for solo/pool mining
  • βœ… Solo Mining - Mine blocks directly to your wallet
  • βœ… Pool Mining - Connect to mining pool with real-time stats
  • βœ… Dark modern interface

Download

Platform Download
Windows SALOCOIN-Wallet.exe
Pool Worker SALOCOIN-Pool-Worker.exe

Build from Source

cd desktop
pip install -r requirements.txt
pip install pyopencl numpy  # For GPU mining
python salocoin_wallet.py

Build EXE (Windows)

cd desktop
pip install pyinstaller
pyinstaller --onefile --windowed --name "SALOCOIN-Wallet" --icon "assets/icon.ico" salocoin_wallet.py

The executable will be in desktop/dist/SALOCOIN-Wallet.exe


πŸ” Block Explorer

Explore the SALOCOIN blockchain at salocoin.org/explorer.html

Features

  • Network Stats - Block height, difficulty, supply
  • Pool Stats - Live mining pool information (workers, hashrate, rewards)
  • Recent Blocks - Paginated list with details
  • Pending Transactions - View unconfirmed transactions
  • Transaction Details - Full inputs/outputs breakdown
  • Address Lookup - Balance, UTXOs, transaction history
  • Search - Find by block height, hash, txid, or address

Self-Host

cd website
# Serve with any HTTP server
python -m http.server 8080

🌐 Run Your Own Seed Node

Want to help decentralize the network? Run your own seed node!

Quick Setup (VPS)

# Clone repo
git clone https://github.com/saloscoin/open-source.git salocoin
cd salocoin

# Install dependencies
pip3 install -r requirements.txt

# Run seed node
python3 salocoind.py --rpcbind=0.0.0.0

Automated Setup (Ubuntu/Debian)

bash setup-seed-node.sh

This creates a systemd service that runs 24/7.

Genesis Block (MUST MATCH)

All nodes use this hardcoded genesis - ensuring everyone is on the same network:

Genesis Hash: c52fd198c676978ce4d71d325b2e7703dc302e13621efb7efefe527a04793c0b
Merkle Root: ab259459bfb5bd1fce4297f6f031c33769ec1980cb7c4a510eaf838d8b2789ff
Timestamp: 1735689600 (January 1, 2025)

Do not modify config.py genesis settings! Nodes with different genesis will be rejected.

πŸ“– Full guide: SEED_NODE_SETUP.md


Quick Start

Prerequisites

  • Python 3.8 or higher
  • pip (Python package manager)

Installation

# Clone repository
git clone https://github.com/saloscoin/open-source.git
cd open-source

# Install dependencies
pip install -r requirements.txt

# Verify installation
python setup.py check

Option 1: Run Directly (Recommended)

# Windows
python salocoin-wallet.py create my_wallet
python salocoin-miner.py start -a YOUR_ADDRESS
python salocoind-cli.py status

# Linux/macOS
python3 salocoin-wallet.py create my_wallet
python3 salocoin-miner.py start -a YOUR_ADDRESS
python3 salocoind-cli.py status

Option 2: Use Batch Files (Windows)

salocoin-wallet.bat create my_wallet
salocoin-miner.bat start -a YOUR_ADDRESS
salocoind.bat status

Option 3: Add to PATH

Windows (PowerShell as Admin):

# Add to PowerShell profile for permanent aliases
Add-Content $PROFILE "function salocoin-wallet { python `"$PWD\salocoin-wallet.py`" @args }"
Add-Content $PROFILE "function salocoin-miner { python `"$PWD\salocoin-miner.py`" @args }"
Add-Content $PROFILE "function salocoind { python `"$PWD\salocoind-cli.py`" @args }"

Linux/macOS:

chmod +x salocoin-wallet.py salocoin-miner.py salocoind-cli.py
sudo ln -sf $(pwd)/salocoin-wallet.py /usr/local/bin/salocoin-wallet
sudo ln -sf $(pwd)/salocoin-miner.py /usr/local/bin/salocoin-miner
sudo ln -sf $(pwd)/salocoind-cli.py /usr/local/bin/salocoind

Create Your First Wallet

salocoin-wallet create default

This creates a new HD wallet with a 24-word recovery phrase. Save your recovery phrase!

Start Mining

python salocoin-miner.py start -a YOUR_ADDRESS

# Or set default address first
python salocoin-miner.py set-address YOUR_ADDRESS
python salocoin-miner.py start

The miner automatically syncs with the seed node and submits mined blocks.

Check Your Balance

salocoin-wallet balance default

CLI Commands

SALOCOIN provides three main CLI tools:

πŸ” Wallet (salocoin-wallet.py)

# Create a new wallet
python salocoin-wallet.py create <name>

# List all wallets
python salocoin-wallet.py list

# Check balance
python salocoin-wallet.py balance <name>

# Generate new address
python salocoin-wallet.py address new -n <name>

# List all addresses
python salocoin-wallet.py address list -n <name>

# Send SALO to an address
python salocoin-wallet.py send <to_address> <amount> -n <name>

# Send using custom node
python salocoin-wallet.py send <to_address> <amount> -n <name> --seed http://your-node:7339

# Check balance with custom node
python salocoin-wallet.py balance <name> --seed http://your-node:7339

# View transaction history
python salocoin-wallet.py history <name>

# Show receive address (with QR code)
python salocoin-wallet.py receive <name>

# Backup wallet (shows mnemonic)
python salocoin-wallet.py backup <name>

# Restore wallet from mnemonic
python salocoin-wallet.py restore <name>

⛏️ Miner (salocoin-miner.py)

# Start mining to specific address
python salocoin-miner.py start --address SjioJU3LtAPDgrcQcQvcPH4gukB7yP6Ywg

# Mine a fixed number of blocks
python salocoin-miner.py start -a YOUR_ADDRESS --blocks 10

# Short options
python salocoin-miner.py start -a SjioJU3LtAPDgrcQcQvcPH4gukB7yP6Ywg -b 5

# Use custom seed node
python salocoin-miner.py start -a YOUR_ADDRESS --seed http://your-node:7339

# Skip syncing (mine on local chain)
python salocoin-miner.py start -a YOUR_ADDRESS --nosync

# Set default mining address
python salocoin-miner.py set-address YOUR_ADDRESS

# Then just start (uses saved address)
python salocoin-miner.py start

# Check miner status
python salocoin-miner.py status

The miner automatically:

  • Syncs blockchain from seed node
  • Syncs mempool for pending transactions
  • Includes pending TXs in mined blocks
  • Submits found blocks to network

πŸ–₯️ Node Daemon (salocoind-cli.py)

# Start the node daemon (background)
python salocoind-cli.py start

# Stop the daemon
python salocoind-cli.py stop

# Check daemon status
python salocoind-cli.py status

# Get blockchain info
python salocoind-cli.py getinfo

# Sync blockchain from seed node
python salocoind-cli.py sync

🌐 Full Node (run_node.py)

Run a complete SALOCOIN node that serves wallets and miners:

# Run node (localhost only)
python run_node.py

# Run node with external access (public)
python run_node.py --public

# Run node + solo mining
python run_node.py --mine

# Run node on custom port
python run_node.py --port 7339

# Full public node with mining
python run_node.py --public --port 7339 --mine

Node Options:

Option Description
--port 7339 Port to listen on (default: 7339)
--public Accept external connections
--mine Enable solo mining
--datadir ./mydata Custom blockchain data directory

🏊 Pool Worker (pool_worker.py)

Connect to the mining pool for shared rewards:

# Connect to official pool
python pool_worker.py --pool pool.salocoin.org:7261 --address YOUR_ADDRESS

# With worker name and threads
python pool_worker.py --pool pool.salocoin.org:7261 --address YOUR_ADDRESS --worker PC1 --threads 4

Pool Worker Options:

Option Description
--pool HOST:PORT Pool server address
--address ADDR Your SALOCOIN address for payouts
--worker NAME Worker name (default: hostname)
--threads N Number of mining threads

πŸ—οΈ Pool Server (pool_server.py)

Run your own mining pool:

# Start pool server
python pool_server.py --address YOUR_POOL_ADDRESS --port 7261

# With custom settings
python pool_server.py --address YOUR_ADDRESS --port 7261 --fee 1.0 --difficulty 1

Pool Server Options:

Option Description
--address ADDR Pool operator address
--port 7261 Stratum port
--http-port 7262 Stats HTTP API port
--fee 5.0 Base pool fee percentage (default: 5%)
--dynamic-fee Enable dynamic fee (1-10% based on workers)
--fixed-fee Disable dynamic fee, use fixed fee
--difficulty 1 Initial share difficulty

Mining

SALOCOIN uses SHA-256d (double SHA-256) proof-of-work algorithm.

Solo Mining

# Create wallet if you haven't
python salocoin-wallet.py create miner

# Start mining (uses wallet address)
python salocoin-miner.py --wallet miner

# Or mine to specific address
python salocoin-miner.py --address SjioJU3LtAPDgrcQcQvcPH4gukB7yP6Ywg

Mining rewards: 100 SALO per block (halves every 210,000 blocks)

Pool Mining

# Create wallet for payouts
python salocoin-wallet.py create pool_wallet

# Get your address
python salocoin-wallet.py receive pool_wallet

# Connect to pool
python pool_worker.py --pool pool.salocoin.org:7261 --address YOUR_ADDRESS --threads 4

Seed Node Sync

The miner automatically:

  • Syncs blockchain from seed node on startup
  • Syncs mempool for pending transactions
  • Submits mined blocks to seed node
  • Background sync every 60 seconds

Mining Statistics

salocoin-miner status

Shows:

  • Total blocks mined
  • Total rewards earned
  • Current blockchain height
  • Mining difficulty

Wallet Management

HD Wallet (BIP32/39/44)

SALOCOIN uses hierarchical deterministic wallets:

  • 24-word mnemonic - Recovery phrase
  • BIP44 path - m/44'/9339'/0'/0/0
  • Unlimited addresses - Derived from single seed

Backup Your Wallet

salocoin-wallet backup <name>

⚠️ IMPORTANT: Write down your 24-word recovery phrase and store it safely. This is the ONLY way to recover your wallet!

Restore From Backup

salocoin-wallet restore <name>
# Enter your 24-word recovery phrase when prompted

Transactions

Send SALO

salocoin-wallet send <address> <amount> -n <wallet_name>

Example:

salocoin-wallet send SjioJU3LtAPDgrcQcQvcPH4gukB7yP6Ywg 10.5 -n default

Transaction Auto-Sync

Transactions are automatically:

  1. Added to local mempool
  2. Submitted to seed node
  3. Synced to all miners
  4. Confirmed when included in a mined block
# Mine a block to confirm pending transactions
salocoin-miner start

Seed Node Network

SALOCOIN uses a seed node for blockchain synchronization between miners.

Public Seed Node

Parameter Value
URL https://api.salocoin.org
Port 443 (HTTPS)
Backup https://seed.salocoin.org

API Endpoints

Endpoint Method Description
/status GET Node status, height, difficulty
/blocks GET List all blocks
/block/<n> GET Block at height n
/mempool GET Pending transactions
/utxos/<address> GET Unspent outputs for address
/balance/<address> GET Balance for address
/pool_stats GET Mining pool statistics
/submit_block POST Submit mined block
/submit_tx POST Submit transaction
/sync POST Sync blocks from height
/sync_mempool POST Sync mempool transactions

Check Seed Node Status

curl https://api.salocoin.org/status

Genesis Block

The genesis block is hardcoded and cannot be modified. Any attempt to use a different genesis block will be rejected by the network.

Genesis Hash: c52fd198c676978ce4d71d325b2e7703dc302e13621efb7efefe527a04793c0b
Genesis Timestamp: January 1, 2025 00:00:00 UTC
Genesis Message: "SALOCOIN Genesis - Enterprise Masternode Cryptocurrency"

Configuration

Data Directories

OS Location
Windows %APPDATA%\Salocoin\
Linux ~/.salocoin/
macOS ~/Library/Application Support/Salocoin/

Local Data Structure

salocoin/
β”œβ”€β”€ data/                   # Blockchain data
β”‚   β”œβ”€β”€ blocks.dat          # Block storage
β”‚   β”œβ”€β”€ mempool.json        # Pending transactions
β”‚   └── miner.json          # Miner config
β”œβ”€β”€ wallets/                # Wallet files
β”‚   β”œβ”€β”€ default.json
β”‚   └── my_wallet.json
└── backups/                # Wallet backups

API Reference

RPC Methods

When daemon is running, RPC is available on port 7340:

Method Description
getinfo Node information
getblockchaininfo Blockchain info
getblockcount Current block height
getbestblockhash Latest block hash
getblock <hash> Block details
getmempoolinfo Mempool info
stop Stop daemon

Development

Run Tests

pytest tests/ -v

Project Structure

salocoin/
β”œβ”€β”€ core/                   # Core blockchain logic
β”‚   β”œβ”€β”€ blockchain.py       # Block & chain management
β”‚   β”œβ”€β”€ crypto.py           # Cryptographic functions
β”‚   β”œβ”€β”€ transaction.py      # Transaction handling
β”‚   └── wallet.py           # HD wallet implementation
β”œβ”€β”€ network/                # P2P networking
β”œβ”€β”€ masternode/             # Masternode features
β”œβ”€β”€ rpc/                    # RPC server
β”œβ”€β”€ pool/                   # Mining pool implementation
β”œβ”€β”€ desktop/                # Desktop wallet GUI
β”‚   β”œβ”€β”€ salocoin_wallet.py  # Main wallet application
β”‚   └── assets/             # Icons and images
β”œβ”€β”€ website/                # Block explorer website
β”‚   β”œβ”€β”€ index.html          # Landing page
β”‚   β”œβ”€β”€ explorer.html       # Block explorer
β”‚   β”œβ”€β”€ wallet.html         # Web wallet
β”‚   └── css/js/assets/      # Static files
β”œβ”€β”€ sync.py                 # Seed node sync client
β”œβ”€β”€ seed_server.py          # Seed node HTTP server
β”œβ”€β”€ pool_server.py          # Mining pool server
β”œβ”€β”€ pool_worker.py          # Mining pool worker
β”œβ”€β”€ salocoin-wallet.py      # Wallet CLI
β”œβ”€β”€ salocoin-miner.py       # Miner CLI
└── salocoind.py            # Daemon CLI

License

MIT License - see LICENSE for details.


Support

  • GitHub Issues: Report bugs and feature requests
  • Documentation: See /docs folder
  • Community: Join our Discord/Telegram

SALOCOIN - Enterprise-Grade Masternode Cryptocurrency

About

Open-source Bitcoin-like cryptocurrency and blockchain implementation in Python. Explore UTXO transactions, SHA-256d mining, wallets, P2P networking and RPC. Study and customize your own coin and independent network.

Topics

Resources

Stars

8 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages