Skip to content

pool.json

raistlinthewiz edited this page Oct 2, 2014 · 21 revisions

pool.json contains the configuration for the pools. You have to first copy pool.json and start editing it.

Note that, you can also use a file named default.json for putting in common configuration options. When a pool.json configuration is loaded, it'll be merged with default.json.

"enabled": true
  • enabled: Is the pool enabled?

Coin configuration

Contains the configuration for the coin.

"coin": "litecoin.json"
  • coin: name of the coin configuration while which should exist in /config/coins/.

Daemon configuration

Contains the settings for pool's daemon connection.

    "daemon": {
        "host": "127.0.0.1",
        "port": 9333,
        "username": "user",
        "password": "password",
        "timeout": 5
    }
  • host: ip/hostname of daemon.
  • port: the port coin daemon is listening on.
  • username: username for rpc connection.
  • password: password for rpc connection.
  • timeout: timeout for rpc requests.

Meta configuration

Contains meta information about the pool.

    "meta": {
        "motd": "Welcome to CoiniumServ pool, enjoy your stay! - http://www.coiniumserv.com",
        "txMessage": "http://www.coiniumserv.com/"
     }
  • motd: message of the day sent to connected miners.
  • txMessage: message to be included used within generation transactions.

Wallet configuration

Contains the address of the pool's central wallet.

    "wallet" : {
        "address":  "n3Mvrshbf4fMoHzWZkDVbhhx4BLZCcU9oY"
    }
  • address: rewarded coins for mined blocks will arrive this address.

Rewards configuration

Contains the static rewards for found blocks like pool fees.

    "rewards":  [
        {"myxWybbhUkGzGF7yaf2QVNx3hh3HWTya5t": 1} 
    ]
  • rewards: list of addresses that gets a percentage from each mined block (ie, pool fee.)

Payment Processor configuration

Contains the configuration for payment processor. Note: DO NOT enable payment processor when using mpos-storage layer.

    "payments": {
        "enabled": true,
        "interval": 60,
        "minimum": 0.01
    }
  • enabled: set this true to let CoiniumServ handle the payments, false if you would like some other software like mpos to handle them.
  • interval: interval in seconds that payment-processor will be running.
  • minimum: minimum amount of coins before a miner is eligable for getting a payment.

Miner configuration

Cointans miner specific settings.

    "miner":  {
        "validateUsername": true,
        "timeout": 300
    }
  • validateUsername: set true to validate miner usernames as an addresses against the coin daemon.
  • timeout: timeout in seconds to disconnect miners that did not submit any shares for the period.

Job Manager configuration

Contains settings for the job-manager.

    "job":  {
        "blockRefreshInterval": 1000,
        "rebroadcastTimeout": 55        
    }
  • blockRefresh: timeout in miliseconds to poll coin daemon for a new block.
  • rebroadcast: if now new blocks are found in this many seconds, a new job will be created and broadcasted.

Stratum Server configuration

Contains the settings for stratum server.

"stratum": {
    "enabled": true,
    "bind": "0.0.0.0",
    "port": 3333,
    "diff": 16,
    "vardiff": {
        "enabled": true,
        "minDiff": 8,
        "maxDiff": 512,
        "targetTime": 15,
        "retargetTime": 90,
        "variancePercent": 30
    }
}
Stratum
  • enabled: set this true to enable stratum server.
  • bind: interface to bind stratum server.
  • port: port to listen for stratum connections.
  • diff: default difficulty assigned to newly connected miners.
Vardiff
  • enabled: set this true to enable variable-difficulty support.
  • minDiff: minimum difficulty that can be assigned to miners.
  • maxDiff: maximum difficulty that can be assigned to miners.
  • targetTime: try to get a single share per this many seconds from miner.
  • retargetTime: retarget a miners difficulty ever this many seconds.
  • variancePercent: allow difficulty for a miner to vary this percent without retargeting.

Ban configuration

Contains the settings for ban manager that can ban miners that submits invalid shares to reduce system / network load.

    "banning": {
        "enabled": true,
        "duration": 600,
        "invalidPercent": 50,
        "checkThreshold": 100,
        "purgeInterval": 300
    }
  • enabled: set this true to enable banning support.
  • duration: duration of ban when a miner gets flagged for so.
  • invalidPercent: percentage of invalid shares to trigger a ban.
  • checkThreshold: number of shares required before a miner's shares are considered for a ban.purgeInterval: purge
  • interval in seconds that bans are checked to see if they are expired.

Storage configuration

Contains the settings for storage settings.

"storage": {
    "hybrid": {
        "enabled": false,
        "redis": {
            "host": "127.0.0.1",
            "port": 6379,
            "password": "",
            "databaseId": 0
        },
        "mysql": {
            "host": "127.0.0.1",
            "port": 3306,
            "user": "username",
            "password": "password",
            "database": "db-name"
        }
    },
    "mpos": {
        "enabled": false,
        "mysql": {
            "host": "127.0.0.1",
            "port": 3306,
            "user": "username",
            "password": "password",
            "database": "db-name"
        }
    }
}
Hybrid Storage layer

Settings for hybrid storage layer that holds both redis and mysql connection information.

    "hybrid": {
        "enabled": false,
        "redis": {
            "host": "127.0.0.1",
            "port": 6379,
            "password": "",
            "databaseId": 0
        },
        "mysql": {
            "host": "127.0.0.1",
            "port": 3306,
            "user": "username",
            "password": "password",
            "database": "db-name"
        }
    }
Redis configuration
  • host: redis host.
  • port: redis port.
  • password: set the password if your redis installation requires one.
  • databaseId: redis database instance id (optional)
MySQL configuration
  • host: database host.
  • port: database port.
  • username: username for connecting the database.
  • password: password for connecting the database.
  • database: database name.