This article describes ASIC Hub configuration file syntax and options.
Default paths for ASIC Hub configuration are:
/etc/asic-hub/config.toml
C:\Program Files\Hiveon\ASIC Hub\config.toml
# ASIC Hub Configuration
#
# See https://hiveos.farm/ASIC-Hub/ for more information.
#
# HiveOS API URL (optional)
#APIUrl = "http://api.hiveos.farm"
# HiveOS Dashboard URL (optional)
#HiveWebUrl = "https://the.hiveos.farm"
# Application Update Server URL
#UpdateServer = "https://download.hiveos.farm/hub"
# Max OS threads count (default is CPU cores count)
#MaxThreads=8
# Directory for temporary files (download cache, etc)
#
# Default is OS temp directory
#TempDir = "/tmp"
# ASIC Hub web server configuration.
[HTTP]
# HTTP server listen address
Listen = ":8800"
# Static files directory for web UI
StaticDir = "/opt/asic-hub/public"
# HTTP response write timeout (optional)
#WriteTimeout = "40m"
# HTTP request read timeout (optional)
#ReadTimeout = "1m"
# Additional HTTP API transport configuration
[API]
# If non-zero, controls the maximum idle (keep-alive) connections to keep per-host.
# If zero, MaxThreads value is used.
#MaxIdleConnsPerHost = 10
[LocalState]
# Path for SQLite database with appdata
DB = "/var/lib/asic-hub/data.db"
# Database backups directory
BackupsDir = "/var/lib/asic-hub/backups"
[ARP]
# Enable ARP scanner.
#
# ARP Scanner scans local network and updates matching between IP and MAC addresses.
# This allows to keep actual IP address of ASIC even if original IP address was changed.
#
# Set to "false" if you use static IP addresses or see a high load on network router.
EnableScanner = true
# Network scan interval.
#
# Scanner will send ARP request to whole network in specified interval.
#ScanInterval = "30s"
# Whole log block is optional.
# "log" block removal disables file logging.
[Log]
# Controls debug logging
#Debug = true
# Log file path
Path = "/var/log/asic-hub/hub.json"
# Max size for log file before roration
MaxFileSize = 12
# Max rotated log files count
MaxBackups = 5
# Number of last bytes from log to be reported
# to Hive with "miner log" command (default: 1 MiB).
#
# Be careful with this value, Hive UI may freeze if log is too big.
#MaxTailBufferSize = 1048576
# Max age in days for log file before rotation
MaxAge = 7
[Monitoring]
# Max devices count per thread for monitoring (optional).
# ASIC Hub splits monitored ASICs into chunks and monitors
# each chunk in a separate thread.
#
# MaxGroupSize controls devices count monitored by thread.
# This value depends on your CPU cores/threads count and
# monitored devices amount.
#
# We recommend to increase this value on big farms, by splitting
# devices count by CPU core/thread count (Ndev / Nthreads) for best results.
MaxGroupSize = 30
# Device stats collection interval (optional).
# The default value is OK for small farms, but should be increased
# for big amount of connected ASICS (>500).
#StatsCollectInterval = "10s"
# ASIC stats submit interval (optional).
# We don't recommend specifing values higher than 1m, or you will
# notice a lot of "device offline" reports in your farm dashboard.
#StatsSendInterval="15s"
# IP address probe timeout for scan (optional).
# Increase if you don't see your asics during scan or
# see any "i/o timeout" errors during scan process.
#ProbeTimeout = "5s"
# ASIC API request timeout (optional).
# If ASIC doesn't respond in specified time, ASIC Hub will consider it as offline.
# Increase the value if you see a lot of "i/o timeout" errors although device is online.
ConnectTimeout = "10s"
# Ignore mirrors list from server hello response and always use host from config file.
#IgnoreMirrorsList=false
# Enable bulk stats send. Experimental and not fully supported by API.
#EnableBulkStats=false
# Interval after all items in stats queue will be sent
# to the server even if queue is not filled yet.
#
# Works only with EnableBulkStats=true.
#BufferFillTimeout="15s"
# Size of a stats queue to be sent to the server.
# Hub collects stats into a queue, and after queue is filled - sends to the server.
#
# Works only with EnableBulkStats=true.
#QueueBufferSize=100
# ASIC Hub service heartbeat send interval (optional)
#HubHeartbeatInterval="10s"
To update configuration, modify a configuration file and restart ASIC Hub to apply changes.
sudo systemctl restart asic-hub
net stop asic-hub && net start asic-hub
(as Administrator)Property | Type | Description | Defaults |
---|---|---|---|
APIUrl |
String | Hive OS API Address. Can be changed to other API mirror like http://amster.hiveos.farm |
http://api.hiveos.farm |
UpdateServer |
String | ASIC Hub update server URL. Can be changed to other mirror. | https://download.hiveos.farm/hub |
MaxThreads |
Number | CPU threads count to use by ASIC Hub. | All CPU threads |
TempDir |
String | Path to temporary directory to store ASIC Hub temporary files |
[HTTP]
block contains settings for ASIC Hub HTTP server that server web interface.
Property | Type | Description | Defaults |
---|---|---|---|
Listen |
String | Listen address for HTTP server | :8800 |
StaticDir |
String | Path to web ui assets | |
WriteTimeout |
String | Response write timeout | 40m |
ReadTimeout |
String | HTTP request read timeout | 1m |
LocalState
Block contains ASIC Hub data storage settings.
Property | Type | Description | Defaults |
---|---|---|---|
BackupsDir |
String | Database backups directory. | |
DB |
String | Path to ASIC Hub database file. | data.db |
[ARP]
block controls ARP scanner.
ARP scanner scans local network for network devices and detects IP address changes using ASIC MAC address. We recommend to turn ARP scanner off if all ASICs in network use static IP addresses.
Property | Type | Description | Defaults |
---|---|---|---|
EnableScanner |
Boolean | Enable ARP scanner | true for Linux, false for Windows |
ScanInterval |
String | Interval between ARP requests | 30s |
[Log]
block controls logging.
Property | Type | Description | Defaults |
---|---|---|---|
Debug |
Boolean | Enable debug log (for troubleshooting purposes) | false |
Path |
String | Path to log file | |
MaxFileSize |
Number | Max log file size in MiB before rotation | |
MaxBackups |
Number | Max log file backups | |
MaxAge |
Number | Max log file age in days before rotation |
[API]
Additional HTTP API transport configuration
Property | Type | Description | Defaults |
---|---|---|---|
MaxIdleConnsPerHost |
String | Maximum connections from host. If value is 0, param MaxThreads is used instead. |
100 |
[Monitoring]
block controls device monitoring.
Params ConnectTimeout
and ProbeTimeout
depends on response time of your ASICs.
The MaxGroupSize
param depends on your host machine hardware.
Property | Type | Description | Defaults |
---|---|---|---|
MaxGroupSize |
Number | Max devices count per thread for monitoring | 10 |
StatsCollectInterval |
String | Interval of collecting device statistics (sec) | 10s |
StatsSendInterval |
String | Statistics sending interval | 15s |
ProbeTimeout |
String | IP address probe timeout during scan | 5s |
ConnectTimeout |
String | ASIC connect timeout | 60s |
IgnoreMirrorsList |
Boolean | Ignoring changing mirrors from an account | false |
HubHeartbeatInterval |
String | ASIC Hub service heartbeat send interval | 10s |