MINERD(1)

NAME
hodlminer - CPU miner for Hodlcoin

SYNOPSIS
hodlminer [OPTION]...

DESCRIPTION
hodlminer is a multi-threaded CPU miner for Hodlcoin. It supports the getwork and getblocktemplate (BIP 22) methods, as well as the Stratum mining protocol.

In its normal mode of operation, hodlminer connects to a mining server (specified with the -o option), receives work from it and starts hashing. As soon as a solution is found, it is submitted to the same mining server, which can accept or reject it. When using getwork or getblocktemplate, hodlminer can take advantage of long polling, if the server supports it; in any case, fresh work is fetched as needed. When using the Stratum protocol this is not possible, and the server is responsible for sending fresh work at least every minute; if it fails to do so, hodlminer may drop the connection and try reconnecting again.

By default, hodlminer writes all its messages to standard error. On systems that have a syslog, the --syslog option can be used to write to it instead.

On start, the nice value of all miner threads is set to 19. On Linux, the scheduling policy is also changed to SCHED_IDLE, or to SCHED_BATCH if that fails. On multiprocessor systems, hodlminer automatically sets the CPU affinity of miner threads if the number of threads is a multiple of the number of processors.

EXAMPLES
To connect to the Hodlcoin mining pool that provides a Stratum server at hodl.blockquarry.com on port 8332, authenticating as worker "user.worker" with password "x":

    hodlminer -o stratum+tcp://hodl.blockquarry.com:8332 -u user.worker -p x -q

To mine to a local Hodlcoin instance running on port 18332, authenticating with username "rpcuser" and password "rpcpass":

    hodlminer -a hodl -o http://localhost:18332 -O rpcuser:rpcpass \
    	--coinbase-addr=mpXwg4jMtRhuSpVq4xS3HFHmCmWp9NyGKt

OPTIONS

-a, --algo=ALGORITHM
    Set the hashing algorithm to use. Default is hodl. Possible values are:

    hodl

    --benchmark
        Run in offline benchmark mode.

    -B, --background
        Run in the background as a daemon.

    --cert=FILE
        Set an SSL certificate to use with the mining server. Only supported when using the HTTPS protocol.

    --coinbase-addr=ADDRESS
        Set a payout address for solo mining. This is only used in getblocktemplate mode, and only if the server does not provide a coinbase transaction.

    --coinbase-sig=TEXT
        Set a string to be included in the coinbase (if allowed by the server). This is only used in getblocktemplate mode.

    -c, --config=FILE
        Load options from a configuration file. FILE must contain a JSON object mapping long options to their arguments (as strings), or to true if no argument is required. Sample configuration file:
        	{
        		"url": "stratum+tcp://hodl.blockquarry.com:8332",
        		"userpass": "foo:bar",
        		"retry-pause": "10",
        		"quiet": true
        	}

    -D, --debug
        Enable debug output.

    -h, --help
        Print a help message and exit.

    --no-gbt
        Do not use the getblocktemplate RPC method.

    --no-getwork
        Do not use the getwork RPC method.

    --no-longpoll
        Do not use long polling.

    --no-redirect
        Ignore requests from the server to switch to a different URL.

    --no-stratum
        Do not switch to Stratum, even if the server advertises support for it.

    -o, --url=[SCHEME://][USERNAME[:PASSWORD]@]HOST:PORT[/PATH]
        Set the URL of the mining server to connect to. Supported schemes are http, https, stratum+tcp and stratum+tcps. If no scheme is specified, http is assumed. Specifying a PATH is only supported for HTTP and HTTPS. Specifying credentials has the same effect as using the -O option. By default, on HTTP and HTTPS, the miner tries to use the getblocktemplate RPC method, and falls back to using getwork if getblocktemplate is unavailable. This behavior can be modified by using the --no-gbt and --no-getwork options.

    -O, --userpass=USERNAME:PASSWORD
        Set the credentials to use for connecting to the mining server. Any value previously set with -u or -p is discarded.

    -p, --pass=PASSWORD
        Set the password to use for connecting to the mining server. Any password previously set with -O is discarded.

    -P, --protocol-dump
        Enable output of all protocol-level activities.

    -q, --quiet
        Disable per-thread hashmeter output.

    -r, --retries=N
        Set the maximum number of times to retry if a network call fails. If not specified, the miner will retry indefinitely.

    -R, --retry-pause=SECONDS
        Set how long to wait between retries. Default is 30 seconds.

    -s, --scantime=SECONDS
        Set an upper bound on the time the miner can go without fetching fresh work. This setting has no effect in Stratum mode or when long polling is activated. Default is 5 seconds.

    -S, --syslog
        Log to the syslog facility instead of standard error.

    -t, --threads=N
        Set the number of miner threads. If not specified, the miner will try to detect the number of available processors and use that.

    -T, --timeout=SECONDS
        Set a timeout for long polling.

    -u, --user=USERNAME
        Set the username to use for connecting to the mining server. Any username previously set with -O is discarded.

    -V, --version
        Display version information and quit.

    -x, --proxy=[SCHEME://][USERNAME:PASSWORD@]HOST:PORT
        Connect to the mining server through a proxy. Supported schemes are: http, socks4, socks5. Since libcurl 7.18.0, the following are also supported: socks4a, socks5h (SOCKS5 with remote name resolving). If no scheme is specified, the proxy is treated as an HTTP proxy.

ENVIRONMENT
The following environment variables can be specified in lower case or upper case; the lower-case version has precedence. http_proxy is an exception as it is only available in lower case.

    http_proxy [SCHEME://]HOST:PORT
        Sets the proxy server to use for HTTP.

    HTTPS_PROXY [SCHEME://]HOST:PORT
        Sets the proxy server to use for HTTPS.

    ALL_PROXY [SCHEME://]HOST:PORT
        Sets the proxy server to use if no protocol-specific proxy is set.

Using an environment variable to set the proxy has the same effect as using the -x option.

AUTHOR
Most of the code in the current version of minerd was written by Pooler <pooler@litecoinpool.org> with contributions from others. The original minerd was written by Jeff Garzik <jeff@garzik.org>.