Repository navigation
Services
PoCX Wallet manages multiple Docker services for blockchain operations. All services are defined in services.yaml.
| Service | Container | Purpose | Default Ports |
|---|---|---|---|
| Bitcoin-PoCX Node | pocx-node |
Full blockchain node | 18332 (RPC), 18333 (P2P) |
| Electrs Server | pocx-electrs |
Electrum protocol server | 3000 (HTTP), 50001 (RPC) |
| PoCX Plotter | pocx-plotter |
Generate plot files | - |
| PoCX Miner | pocx-miner |
Mine with plot files | - |
| PoCX Aggregator | pocx-aggregator |
Aggregate multiple miners | 8080 (API) |
Each service has a consistent submenu:
[Service Name]
├── Start/Stop Service # Toggle service state
├── View Logs # Show last 50 log lines
├── Parameters # Configure CLI parameters
└── Settings # Configure container settings
The full Bitcoin node with PoCX consensus support.
- Select
[Node]from main menu - Choose
Start Node - Wait for container to start
- Node will begin syncing the blockchain
| Parameter | CLI Flag | Type | Default | Description |
|---|---|---|---|---|
testnet |
-testnet |
bool | true | Use testnet |
miningserver |
-miningserver |
bool | true | Enable mining RPC |
txindex |
-txindex |
bool | true | Full transaction index |
rpcbind |
-rpcbind |
string | 0.0.0.0 |
RPC bind address |
rpcallowip |
-rpcallowip |
string[] | 0.0.0.0/0 |
Allowed RPC IPs |
printtoconsole |
-printtoconsole |
bool | true | Print logs to console |
dbcache |
-dbcache |
int | 450 | Database cache (MB) |
| Volume | Container Path | Description |
|---|---|---|
data |
/root/.bitcoin-pocx |
Blockchain data and wallet files |
| Port | Protocol | Description |
|---|---|---|
| 18332 | TCP | JSON-RPC API |
| 18333 | TCP | P2P network |
| 28332 | TCP | ZeroMQ blocks (optional) |
| 28333 | TCP | ZeroMQ transactions (optional) |
Check sync status:
docker exec pocx-node bitcoin-cli -testnet getblockchaininfoGet balance:
docker exec pocx-node bitcoin-cli -testnet -rpcwallet=mywallet getbalanceElectrum protocol server for lightweight wallet access.
- Requires Bitcoin-PoCX Node to be running and synced
| Parameter | CLI Flag | Default | Description |
|---|---|---|---|
network |
--network |
testnet |
Network type |
db_dir |
--db-dir |
/data |
Database directory |
daemon_rpc_addr |
--daemon-rpc-addr |
pocx-node:18332 |
Bitcoin node RPC |
http_addr |
--http-addr |
0.0.0.0:3000 |
HTTP API address |
electrum_rpc_addr |
--electrum-rpc-addr |
0.0.0.0:50001 |
Electrum RPC |
| Volume | Container Path | Description |
|---|---|---|
data |
/data |
Electrs index database |
bitcoin-pocx |
/root/.bitcoin-pocx |
Node data (read-only) |
| Port | Protocol | Description |
|---|---|---|
| 3000 | TCP | HTTP REST API |
| 50001 | TCP | Electrum RPC (mainnet) |
| 60001 | TCP | Electrum RPC (testnet) |
| 4224 | TCP | Prometheus metrics (optional) |
Generate plot files for Proof-of-Capacity mining.
| Parameter | CLI Flag | Type | Default | Description |
|---|---|---|---|---|
address |
-i |
string | Required | Your PoCX address |
warps |
-w |
int | 976 | Number of warps (1 warp = 1 GiB) |
number |
-n |
int | 0 | Number of plots (0 = fill disk) |
path |
-p |
string[] | /plots |
Output directory |
compression |
-x |
int | 1 | Compression level (1-6) |
cpu |
-c |
int | 0 | CPU threads (0 = auto) |
gpu |
-g |
string[] | - | GPU config (OpenCL) |
| Volume | Container Path | Description |
|---|---|---|
plots |
/plots |
Output directory for plot files |
When -g (gpu) parameter is set, the container runs with --gpus all for OpenCL access.
Example GPU config:
platform_id:device_id:cores
0:0:1024
Mine PoCX using your plot files.
- Requires plot files
- Requires Bitcoin-PoCX Node or pool connection
The miner uses a YAML configuration file:
chains:
- name: "pool"
base_url: "http://pool.example.com:8080"
api_path: "/pocx"
accounts:
- account: "pocx1q..."
plot_dirs:
- "/plots"
get_mining_info_interval: 1000
timeout: 5000
hdd_use_direct_io: true
cpu_threads: 0
show_progress: true
console_log_level: "Info"| Parameter | CLI Flag | Default | Description |
|---|---|---|---|
config |
-c |
/config/config.yaml |
Config file path |
| Volume | Container Path | Description |
|---|---|---|
plots |
/plots |
Plot files (read-only) |
config |
/config/miner_config.yaml |
Configuration file |
Aggregate multiple miners to a single upstream pool or wallet.
| Parameter | Type | Default | Description |
|---|---|---|---|
listen_address |
string | 0.0.0.0:8080 |
API listen address |
upstream.url |
string | Required | Pool/wallet URL |
upstream.submission_mode |
string | pool |
pool or wallet
|
block_time_secs |
int | 120 | Expected block time |
dashboard.enabled |
bool | true | Enable web dashboard |
dashboard.listen_address |
string | 0.0.0.0:8081 |
Dashboard address |
| Port | Protocol | Description |
|---|---|---|
| 8080 | TCP | Mining API |
| 8081 | TCP | Web dashboard |
- Navigate to the service menu (e.g.,
[Node]) - Select
Start Node(or equivalent) - The container will be created and started
- Status indicator changes from 🔴 to 🟢
- Navigate to the service menu
- Select
Stop Node(or equivalent) - Container is stopped gracefully
- Navigate to service menu
- Select
View Logs - Shows last 50 log lines with status
- Navigate to service menu
- Select
Parameters - View currently set parameters
- Use
[[Add Parameter]]to add new ones - Select a parameter to edit or remove
Container-level settings like repository, tag, ports, volumes:
- Navigate to service menu
- Select
Settings - Modify as needed:
- Repository
- Tag (version)
- Container Name
- Network
- Volumes
- Ports
- Environment Variables
All services run on the pocx Docker network for internal communication.
# View network
docker network inspect pocx
# Services can reference each other by container name
# e.g., electrs connects to pocx-node:18332- Check logs:
docker logs pocx-<service> - Verify image exists:
docker images | grep pocx - Check port conflicts:
docker ps - Ensure volumes exist and have proper permissions
- Check container status:
docker ps -a | grep pocx - View recent logs: Service menu → View Logs
- Restart the service
- Prune unused Docker data:
docker system prune - Check blockchain data size
- Consider using pruning for the node
PoCX Wallet is experimental software. Use at your own risk.
📖 Documentation • 🐛 Report Issue • 💻 Source Code