RUN A NODE / v30.1.3
Run a Blackcoin Protocol V4 node.
Blackcoin is a Proof-of-Stake chain (blocks every ~64s; the last PoW block was height 10,000). This guide takes you from a verified download to a synced, optionally staking, integration-ready node. Get the signed-source v30.1.3 binaries from the downloads rail and verify them before running anything — packaged binaries are not code-signed or notarized.
System requirements
- Disk: an archival node with
txindex+shadowindex(required for full explorer/exchange integration) needs tens of GB and growing — budget ~100 GB of headroom on an SSD/NVMe (spinning disks stall initial sync). The chain adds ~1,350 blocks/day. - RAM: 4 GB minimum, 8 GB recommended. Tune with
dbcache(MB) — a larger dbcache dramatically speeds initial sync, e.g.dbcache=2048. - CPU: any modern multi-core CPU. Signature verification during initial sync is the main cost; it is one-time.
- Bandwidth: initial sync downloads the full chain once (tens of GB); steady-state is light. Allow inbound on the P2P port for better peer connectivity.
Watch current network size and cadence on the live observatory and analytics; measure your own disk with du -sh on the datadir.
Install & first run, per OS
The package ships two programs: blackcoind (headless daemon, for servers / integration) and blackcoin-qt (desktop wallet + node). Use the daemon for exchange/explorer integration. The default datadir differs by OS:
- Linux:
~/.blackcoin/ - macOS:
~/Library/Application Support/Blackcoin/ - Windows:
%APPDATA%\Blackcoin\
Unpack the verified archive, then launch the daemon:
# Linux / macOS — after verifying + extracting:
./blackcoind -daemon # starts in the background; writes to the default datadir
./blackcoin-cli getblockchaininfo # talk to it
# Windows (PowerShell), from the extracted folder:
.\blackcoind.exe -daemon
.\blackcoin-cli.exe getblockchaininfoYou are synced when getblockchaininfo shows blocks == headers and verificationprogress ≈ 0.9999+.
blackcoin.conf reference
Place blackcoin.conf in the datadir above. A full integration/staking config:
# ---- Indexing (required for full explorer / exchange integration) ----
txindex=1 # every transaction is queryable by txid
shadowindex=1 # Protocol V4 Gold Rush / synthetic-payout index
# NOTE: txindex + shadowindex require a FULL (unpruned) node — see Pruning below.
# ---- RPC (local integration) ----
server=1
rpcuser=CHANGE_ME
rpcpassword=USE_A_LONG_RANDOM_SECRET # or prefer rpcauth= / the .cookie file
rpcbind=127.0.0.1
rpcallowip=127.0.0.1
rpcport=15715
# ---- P2P ----
listen=1
port=15714
# addnode=<host> # optional; peers are discovered automatically via DNS seeds
maxconnections=64
# ---- Performance ----
dbcache=2048 # MB; raise for faster initial sync if you have the RAM
# ---- Staking (Proof-of-Stake) ----
staking=1 # participate in staking once coins mature and the wallet is unlockedPorts: P2P 15714, RPC 15715. Never expose the RPC port to the public internet — keep it on 127.0.0.1 (or a private interface behind auth). Prefer the datadir.cookie or rpcauth= over a plaintext rpcpassword so no secret sits in process arguments.
Staking
Blackcoin secures the chain by Proof-of-Stake: coins that are confirmed and mature can stake to mint blocks and earn the stake reward. To stake:
- Set
staking=1and run a fully synced node. - Hold mature coins in the node's wallet. Newly received/moved coins must age before they can stake.
- If the wallet is encrypted, unlock it for staking only:
blackcoin-cli walletpassphrase "YOUR_PASSPHRASE" 999999999 true(the trailingtrueunlocks for staking without enabling spending). - Check status with
blackcoin-cli getstakinginfo—staking: trueand a non-zeroweightonce coins are mature.
Protocol V4 adds quantum cold-stake (owner/staker separation) via witness v14/v16 — see the whitepaper for the staking-tier and demurrage rules.
Pruning caveat
Pruning is incompatible with txindex and shadowindex. A pruned node deletes old block data, so it cannot serve arbitrary historical transactions or the Gold Rush shadow index. If you are integrating an explorer or exchange, run a full, unpruned node. Pruning (prune=<MB>) is only for a lightweight wallet that does not need history — and even then you cannot enable the indexes.
Run it as a service
systemd (Linux) — /etc/systemd/system/blackcoind.service:
[Unit]
Description=Blackcoin daemon
After=network-online.target
Wants=network-online.target
[Service]
User=blackcoin
Type=forking
ExecStart=/usr/local/bin/blackcoind -daemon -datadir=/home/blackcoin/.blackcoin
ExecStop=/usr/local/bin/blackcoin-cli -datadir=/home/blackcoin/.blackcoin stop
Restart=on-failure
TimeoutStopSec=120
RestartSec=10
[Install]
WantedBy=multi-user.targetsudo systemctl daemon-reload && sudo systemctl enable --now blackcoind
journalctl -u blackcoind -f # watch logsDocker — a minimal run (mount a persistent datadir; keep RPC on loopback):
docker run -d --name blackcoind --init \
-v blackcoin-data:/home/blackcoin/.blackcoin \
-p 15714:15714 \
<blackcoin-image> blackcoind -printtoconsole \
-datadir=/home/blackcoin/.blackcoin -txindex=1 -shadowindex=1For a complete deposit/withdrawal reference against a node, run Blackcoin Keystone — it wires a node + custody daemon with one docker compose up.
Monitor & troubleshoot
- Health:
getblockchaininfo(height, verificationprogress),getnetworkinfo/getpeerinfo(connections),getstakinginfo(staking). - No peers / stuck at 0 blocks: confirm outbound isn't firewalled; peers are found via DNS seeds automatically — you rarely need
addnode. Check the system clock is accurate. - Slow initial sync: raise
dbcache, use an SSD/NVMe, and ensure the datadir isn't on a network mount. - "Txindex is being built" / missing tx: after enabling
txindexorshadowindexthe node reindexes once; let it finish before integrating. - RPC "couldn't connect": the daemon is still starting or the
rpcuser/rpcpassword/rpcportdon't match; check the debug log in the datadir. - Wallet won't stake: ensure it's synced, coins are mature, and the wallet is unlocked for staking (see above).
GO-LIVE ORDER
Verify the signed source and checksums → sync a full txindex+shadowindexnode → test your integration on regtest with Keystone → then consider staking or accepting deposits. Never ship first and verify later.