1 ### Settings relating to server identity
4 ServerName = 'Private Eloipool'
6 ### Settings relating to server scaling/load
8 # Share hashes must be below this to be valid shares
9 # If dynamic targetting is enabled, this is a minimum
10 ShareTarget = 0x00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff
12 # Automatically adjust targets per username
14 # 1 = arbitrary targets
15 # 2 = power of two difficulties (zero bit counts)
18 # How many shares per minute to try to achieve on average
21 # Minimum and maximum of merkle roots to keep queued
22 WorkQueueSizeRegular = (0x100, 0x1000)
24 # Minimum and maximum of BLANK merkle roots to keep queued
25 # (used if we run out of populated ones)
26 WorkQueueSizeClear = (0x1000, 0x2000)
28 # Minimum and maximum of BLANK merkle roots to keep queued, one height up
29 # (used for longpolls)
30 WorkQueueSizeLongpoll = (0x1000, 0x2000)
32 # How long to wait between getmemorypool updates normally
33 MinimumTxnUpdateWait = 5
35 # How long to wait between retries if getmemorypool fails
36 TxnUpdateRetryWait = 1
38 # How long to sleep in idle loops (temporary!)
41 ### Settings relating to reward generation
43 # Address to generate rewards to
44 TrackerAddr = 'mrsP7M31efGkQHXb7nRiWLDjfV2M8oakf2' # testnet
46 # Coinbaser command to control reward delegation
47 # NOTE: This example donates 1% of block rewards to Luke-Jr for Eloipool development
48 CoinbaserCmd = 'echo -e "1\\n$((%d / 100))\\n1579aXhdwvKZEMrAKoCZhzGuqMa8EonuXU"'
50 ### Settings relating to upstream data providers
52 # JSON-RPC server for getmemorypool
53 UpstreamURI = 'http://user:pass@localhost:18332'
55 # Bitcoin p2p server for announcing blocks found
56 UpstreamBitcoindNode = ('127.0.0.1', 18333) # testnet
58 # Network ID for the primary blockchain
59 UpstreamNetworkId = b'\xFA\xBF\xB5\xDA' # testnet
61 # Secret username allowed to use setworkaux
64 # URI to send gotwork with info for every share submission
67 # Share hashes must be below this to be submitted to gotwork
68 GotWorkTarget = 0x00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff
70 # Aim to produce blocks with transaction counts that are a power of two
71 # This helps avoid any chance of someone abusing CVE-2012-2459 with them
72 # 1 = cut out feeless transactions; 2 = cut out even fee-included transactions (if possible)
75 # Avoid mining feeless transactions except to satisfy POT
76 # Note this only works if POT is in fact enabled in the first place
79 ### Settings relating to network services
81 # Addresses to listen on for JSON-RPC getwork server
82 # Note that Eloipool only supports IPv6 sockets, and if you want to bind to an
83 # IPv4 address you will need to prepend it with ::ffff: eg ::ffff:192.168.1.2
88 # Addresses to listen on for Bitcoin node
89 # Note that Eloipool only supports IPv6 sockets, and if you want to bind to an
90 # IPv4 address you will need to prepend it with ::ffff: eg ::ffff:192.168.1.2
91 BitcoinNodeAddresses = (
95 # Addresses that are allowed to "spoof" from address with the X-Forwarded-For header
96 TrustedForwarders = ('::ffff:127.0.0.1',)
103 'filename': 'share-logfile',
104 'format': "{time} {Q(remoteHost)} {username} {YN(not(rejectReason))} {dash(YN(upstreamResult))} {dash(rejectReason)} {solution}\n",
108 'engine': 'postgres',
111 'database': 'pooldb',
113 'password': 'somethingsecret',
115 'statement': "insert into shares (rem_host, username, our_result, upstream_result, reason, solution) values ({Q(remoteHost)}, {username}, {YN(not(rejectReason))}, {YN(upstreamResult)}, {rejectReason}, decode({solution}, 'hex'))",
124 'password': 'somethingsecret',
126 'statement': "insert into shares (rem_host, username, our_result, upstream_result, reason, solution) values ({Q(remoteHost)}, {username}, {YN(not(rejectReason))}, {YN(upstreamResult)}, {rejectReason}, unhex({solution}))",
132 'database': 'share.db',
134 'statement': "insert into shares (remoteHost, username, rejectReason, upstreamResult, solution) values ({remoteHost}, {username}, {rejectReason}, {upstreamResult}, {solution})",