CKPOOL configurationAt least one bitcoind (aka btcd) is mandatory in ckpool mode with the minimum requirements of server, rpcuser and rpcpassword set. If no btcd is set up in the configuration, ckpool will look for a running bitcoind on the local machine on the default port 8332 and the username "user" and password "pass" set up.
At the very least you will need the following lines in your bitcoin.conf file:
server=1
rpcuser=user
rpcpassword=pass
rpcallowip=127.0.0.1
It is also recommended you start bitcoind with the -blocknotify feature calling the ckpool notifier as described here:
https://bitcointalksearch.org/topic/m.8907597Ckpool takes a json encoded configuration file in ckpool.conf by default or ckproxy.conf in proxy or passthrough mode unless specified with -c. Sample configurations for ckpool and ckproxy are included with the source. Entries after the valid json are ignored and the space there can be used for comments.
Sample ckpool.conf file:
{
"btcd" : [
{
"url" : "localhost:8332",
"auth" : "user",
"pass" : "pass",
"notify" : true
},
{
"url" : "backup:8332",
"auth" : "user",
"pass" : "pass",
"notify" : false
}
],
"btcaddress" : "14BMjogz69qe8hk9thyzbmR5pg34mVKB1e",
"btcsig" : "/mined by ck/",
"blockpoll" : 100,
"update_interval" : 30,
"serverurl" : "ckpool.org:3333",
"mindiff" : 1,
"startdiff" : 42,
"logdir" : "logs"
}
Comments from here on are ignored.
Sample ckproxy.conf file:
{
"proxy" : [
{
"url" : "ckpool.org:3333",
"auth" : "user",
"pass" : "pass"
},
{
"url" : "backup.ckpool.org:3333",
"auth" : "user",
"pass" : "pass"
}
],
"update_interval" : 30,
"serverurl" : "192.168.1.100:3334",
"mindiff" : 1,
"startdiff" : 42,
"logdir" : "logs"
}
Comments from here on are ignored.
The options recognised are as follows:
"btcd" : This is an array of bitcoind(s) with the options url, auth and pass
which match the configured bitcoind. This is mandatory in pool mode. The
optional boolean field notify tells ckpool this btcd is using the notifier
and does not need to be polled for block changes.
"proxy" : This is an array in the same format as btcd above but is used in
proxy and passthrough mode to set the upstream pool and is mandatory.
"btcaddress" : This is the bitcoin address to try to generate blocks to.
"btcsig" : This is an optional signature to put into the coinbase of mined
blocks.
"blockpoll" : This is the frequency in milliseconds for how often to check for
new network blocks and is 100 by default. It is intended to be a backup only
for when the notifier is not set up and only polls if the "notify" field is
not set on a btcd.
"update_interval" : This is the frequency that stratum updates are sent out to
miners and is set to 30 seconds by default to help perpetuate transactions for
the health of the bitcoin network.
"serverurl" : This is the IP to try to bind ckpool uniquely to, otherwise it
will attempt to bind to all interfaces in port 3333 by default in pool mode
and 3334 in proxy mode.
"mindiff" : Minimum diff that vardiff will allow miners to drop to. Default 1
"startdiff" : Starting diff that new clients are given. Default 42
"logdir" : Which directory to store pool and client logs. Default "logs"
It is anticipated that pool operators wishing to set up a full database based installation of ckpool+ckdb will be familiar with setting up postgresql and associated permissions to the directories where the various processes will communicate with each other and a web server so these will not be documented.
If you are not capable of setting up and running a database and/or webserver then you should be questioning whether you should be running a public pool or not.