Command-Line Guide
Install and run Bitcoin-PoCX from the terminal — full node, solo mining, or pool mining. Prefer a one-liner? Use the guided setup. Prefer no terminal at all? See the Phoenix (GUI) guide.
Mainnet is live and used throughout this guide. To use testnet instead: add -testnet to every bitcoind/bitcoin-cli command (RPC port 18332 not 8332, P2P 18333 not 8333), point the miner's cookie_path at the testnet/.cookie subfolder, use the testnet pool/explorer, and the guided installer's --testnet flag.
Run the Windows commands in PowerShell (built into Windows 10/11), not Command Prompt. Add the Core install folder (its daemon\ subfolder) and your pocx folder to your PATH so the commands below resolve.
Manual Install
This installs Bitcoin Core PoCX (the node) and the PoCX Framework (pocx_plotter + pocx_miner, needed only for mining). Node operators can skip the framework.
Data directory
| OS | Default data directory |
|---|---|
| Linux | ~/.bitcoin-pocx/ |
| Windows | %LOCALAPPDATA%\Bitcoin-PocX\ |
| macOS | ~/Library/Application Support/Bitcoin-PocX/ |
Dependencies
# Debian/Ubuntu
sudo apt update && sudo apt install -y curl tar
# Fedora
sudo dnf install -y curl tar
# Arch
sudo pacman -S --noconfirm curl tar
# Nothing to install.# Nothing to install.Install Bitcoin Core PoCX
curl -s https://api.github.com/repos/PoC-Consortium/bitcoin/releases/latest \
| grep -o 'https://[^"]*x86_64-linux-gnu.tar.gz' | head -1 | xargs curl -LO
tar -xzf bitcoin-*.tar.gz
sudo install -m 0755 -t /usr/local/bin bitcoin-*/bin/*
# Easiest: download and run the win64 setup installer.
$rel = Invoke-RestMethod https://api.github.com/repos/PoC-Consortium/bitcoin/releases/latest
$asset = $rel.assets | Where-Object { $_.name -like "*win64-setup.exe" } | Select-Object -First 1
$file = $asset.name
Invoke-WebRequest $asset.browser_download_url -OutFile $file
Start-Process ".\$file" # follow the installer
Prefer a portable copy? Grab the …-win64.zip instead and run from its bin\ folder.
# Apple Silicon shown; for Intel use x86_64-apple-darwin
curl -s https://api.github.com/repos/PoC-Consortium/bitcoin/releases/latest \
| grep -o 'https://[^"]*arm64-apple-darwin.tar.gz' | head -1 | xargs curl -LO
tar -xzf bitcoin-*.tar.gz
xattr -dr com.apple.quarantine bitcoin-*/bin/*
sudo mkdir -p /usr/local/bin
sudo install -m 0755 bitcoin-*/bin/* /usr/local/bin/
Install the PoCX Framework (miners only)
curl -s https://api.github.com/repos/PoC-Consortium/pocx/releases/latest \
| grep -o 'https://[^"]*x86_64-unknown-linux-musl.tar.gz' | head -1 | xargs curl -LO
tar -xzf pocx-*.tar.gz
sudo install -m 0755 -t /usr/local/bin pocx_plotter pocx_plotter_v2 pocx_miner
$rel = Invoke-RestMethod https://api.github.com/repos/PoC-Consortium/pocx/releases/latest
$asset = $rel.assets | Where-Object { $_.name -like "*x86_64-pc-windows-msvc.zip" } | Select-Object -First 1
Invoke-WebRequest $asset.browser_download_url -OutFile $asset.name
Expand-Archive -Path $asset.name -DestinationPath "$env:USERPROFILE\pocx" -Force
Set-Location "$env:USERPROFILE\pocx"
# Apple Silicon shown; for Intel use x86_64-apple-darwin
curl -s https://api.github.com/repos/PoC-Consortium/pocx/releases/latest \
| grep -o 'https://[^"]*aarch64-apple-darwin.tar.gz' | head -1 | xargs curl -LO
tar -xzf pocx-*.tar.gz
xattr -dr com.apple.quarantine pocx_plotter pocx_plotter_v2 pocx_miner
sudo install -m 0755 pocx_plotter pocx_plotter_v2 pocx_miner /usr/local/bin/
Verify
bitcoind -?
You should see Bitcoin PoCX daemon version v30.x.x. With install done, pick your role below.
Node Operator
Run a full node to validate transactions and support decentralization. Bitcoin Core's defaults are all you need — no config file required. bitcoind serves RPC with cookie auth, and bitcoin-cli reads the cookie automatically.
Run
bitcoind -daemon# Windows builds don't support -daemon; run in a dedicated window:
Start-Process bitcoind.exe -WindowStyle Hidden
bitcoind -daemonRun as a service (Linux, optional)
sudo tee /etc/systemd/system/bitcoind.service > /dev/null << EOF
[Unit]
Description=Bitcoin PoCX Node
After=network-online.target
Wants=network-online.target
[Service]
Type=forking
User=$USER
ExecStart=/usr/local/bin/bitcoind -daemon -datadir=$HOME/.bitcoin-pocx
ExecStop=/usr/local/bin/bitcoin-cli -datadir=$HOME/.bitcoin-pocx stop
Restart=on-failure
RestartSec=30
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now bitcoind
Most node operators run Linux. For macOS, Bitcoin Core PoCX ships an example launchd plist in its contrib/init; Windows has no native node service, so run it at login or wrap it with a tool like NSSM.
Verify
bitcoin-cli getblockchaininfo # sync status (blocks vs headers)
bitcoin-cli getblockcount # current height
bitcoin-cli getconnectioncount # number of peers
bitcoin-cli getpeerinfo # peer detail
In the getblockchaininfo output, sync is complete when blocks equals headers and initialblockdownload is false.
Solo Miner
Mine directly to your own wallet using your full node. You keep 100% of every block you find; rewards depend on your capacity vs. the network.
Run the node & create a wallet
No config needed — start the node, then create a mining wallet. load_on_startup=true persists it so Core auto-loads it on every restart.
bitcoind -daemon
sleep 30
bitcoin-cli -named createwallet wallet_name="mining" load_on_startup=true
bitcoin-cli getnewaddress "mining_rewards"
Start-Process bitcoind.exe -WindowStyle Hidden
sleep 30
bitcoin-cli -named createwallet wallet_name="mining" load_on_startup=true
bitcoin-cli getnewaddress "mining_rewards"
bitcoind -daemon
sleep 30
bitcoin-cli -named createwallet wallet_name="mining" load_on_startup=true
bitcoin-cli getnewaddress "mining_rewards"
Save the address — you need it for plotting.
The wallet holds the private keys to your rewards. No backup = coins lost forever, with no recovery. Back it up before plotting.
bitcoin-cli backupwallet mining-wallet-backup.dat
Store the backup on an encrypted drive in a separate location. Never share it or put it in unencrypted cloud storage.
Create plots
Plots are pre-computed hashes on disk — more capacity, more rewards.
pocx_plotter -i YOUR_MINING_ADDRESS -p <your-plot-dir> -w 100
-w = capacity in 1 GiB warps. Plotting takes hours to days. For GPU plotting, the v2 plotter, compression levels, and other advanced options, see the PoCX Plotter Guide.
Configure & start the miner
The framework ships a fully-commented miner_config.yaml in the extracted archive — copy it and edit, or start from this minimal solo config. Either way, the miner authenticates by reading Bitcoin Core's cookie file, so point cookie_path at your data directory's .cookie:
chains:
- name: 'Bitcoin-PoCX'
rpc_host: '127.0.0.1'
rpc_port: 8332
rpc_auth:
type: cookie
cookie_path: '/home/you/.bitcoin-pocx/.cookie' # absolute path — see table
block_time_seconds: 120
submission_mode: wallet
plot_dirs:
- '/path/to/plots'
| OS | Mainnet cookie path |
|---|---|
| Linux | /home/you/.bitcoin-pocx/.cookie |
| Windows | C:\Users\You\AppData\Local\Bitcoin-PocX\.cookie |
| macOS | /Users/you/Library/Application Support/Bitcoin-PocX/.cookie |
Use the absolute path — the miner doesn't expand ~. For testnet, add testnet/ before .cookie. Note: the cookie rotates each time the node starts, so if you restart bitcoind, restart the miner too.
pocx_miner --config miner.yaml
Check your balance with bitcoin-cli getbalance, or watch your address on the block explorer.
Pool Miner
Mine through a pool for steadier, proportional rewards. You need a node only briefly — to create the wallet and register a forging assignment — after which it can be stopped.
Start the node & create a wallet
No config needed — the miner submits to the pool, not the local node. You only need the node running long enough to create a wallet and register the assignment.
bitcoind -daemon
sleep 30
bitcoin-cli -named createwallet wallet_name="mining" load_on_startup=true
bitcoin-cli getnewaddress "mining_rewards"
bitcoin-cli backupwallet mining-wallet-backup.dat
Start-Process bitcoind.exe -WindowStyle Hidden
sleep 30
bitcoin-cli -named createwallet wallet_name="mining" load_on_startup=true
bitcoin-cli getnewaddress "mining_rewards"
bitcoin-cli backupwallet mining-wallet-backup.dat
bitcoind -daemon
sleep 30
bitcoin-cli -named createwallet wallet_name="mining" load_on_startup=true
bitcoin-cli getnewaddress "mining_rewards"
bitcoin-cli backupwallet mining-wallet-backup.dat
Back up the wallet before plotting. There is no recovery without it.
Create plots
pocx_plotter -i YOUR_MINING_ADDRESS -p <your-plot-dir> -w 100
Same options as solo; for GPU plotting and advanced settings see the PoCX Plotter Guide.
Create a forging assignment
An assignment authorizes a pool to mine on your behalf. Pick a mainnet pool and use its forging address:
| Pool | URL | Forging address | Fee |
|---|---|---|---|
| Nogrod PoCX Pool | pool.bitcoin-pocx.org | pocx1qp00ljf5sy0kdk4h8x5n4erzdshkzj4cdmvjpsv | 1% |
| Rico's BTCX Pool | btcx-pool.cryptoguru.org | pocx1qrp00l665mrl94cuhlwngyvua0q3xsvayg8e6zn | 1% |
# Use your chosen pool's forging address (Nogrod shown):
bitcoin-cli create_assignment "YOUR_MINING_ADDRESS" "pocx1qp00ljf5sy0kdk4h8x5n4erzdshkzj4cdmvjpsv"
# Verify
bitcoin-cli get_assignment "YOUR_MINING_ADDRESS"
Assignments activate after 30 blocks (~1 hour). The pool won't accept your submissions until then.
Configure & start the miner
chains:
- name: 'Pool'
rpc_transport: https
rpc_host: 'pool.bitcoin-pocx.org' # the host of the pool you assigned to
rpc_port: 443
block_time_seconds: 120
submission_mode: pool
plot_dirs:
- '/path/to/plots'
pocx_miner --config miner.yaml
Stop the node (optional)
Once the assignment is confirmed, the local node is no longer needed:
bitcoin-cli stop
Switching pools
To change pools or go solo, revoke first:
bitcoin-cli revoke_assignment "YOUR_MINING_ADDRESS"
Revocation activates after 720 blocks (~24 h); the new assignment then needs another 30 blocks (~1 h). Renewing the same pool doesn't require revoking.
