That is one drawback to merged mining. Solo or reg pool you get BLC but merged you get BLC, PHO and soon more.
So fewer solo miners as everyone moves to pool. But at least with 2 merged pools it's not all in one pool.
You can solo merge mine. I believe bzyzny is writing up some mining related info, if he doesn't include the merged setup info I will pass it along for inclusion.
EDIT: Or give the info here, now:
blakecoind setup1) Obtain a compiled blakecoind.
2) Decide on a data directory location.
3) In this directory, create blakecoin.conf text file, with the following contents:
rpcuser=MY_RPC_USERNAME
rpcpassword=MY_RPC_PASSWORD
rpcport=8772
logtimestamps=1
listen=1
gen=0
rpcallowip=127.0.0.1
server=1
daemon=1
addnode=162.243.133.80
addnode=162.243.14.130
addnode=146.185.135.24
addnode=184.171.247.23
Obviously, change the MY_RPC_xxx to a username and password.
4) Create a newblock.sh script, with the following contents:
#!/bin/sh
killall -USR1 eloipool.py
Mark it executeable via "chmod 0755 newblock.sh"
5) Create a run-blakecoind.sh script, with the following contents:
#!/bin/sh
/pah/to/blakecoind \
-datadir=/path/to/data -daemon \
-blocknotify=/path/to/newblock.sh
Mark it executeable via "chmod 0755 run-blakecoind.sh"
You must modify the (a) blakecoind path, (b) -datadir path, and (c) -blocknotify path to fit your local computer.
6) Run blakecoind via the run-blakecoind.sh script. Watch debug.log in the data directory, to make sure it started the Initial Block Download (blakecoin network sync). This might take a few minutes, to download all the blocks.
eloipool setup1) Download eloipool dependencies, either from your Linux packager, or directly:
Python 3
http://python.orgpython-bitcoinrpc
https://github.com/jgarzik/python-bitcoinrpcpython-base58
https://gitorious.org/bitcoin/python-base58midstate
http://gitorious.org/midstate/midstate2) For python-bitcoinrpc, check out an older release,
$ cd /repo/python-bitcoinrpc
$ git checkout -b solo-mining 770881c8bd9b1f92427290270b37a28751cf9df0
3) Check out eloipool,
$ git clone git://github.com/BlueDragon747/eloipool_Blakecoin.git
4) Copy config.py.example to config.py, and make the following several edits,
a) change ServerName to something unique
b) increase share target if desired (note increase '0' and decrease 'f'):
-ShareTarget = 0x00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ShareTarget = 0x00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff
c) DynamicTargetting = 2
d) DynamicTargetGoal = 6
e) change TrackerAddr to YOUR blakecoin addressf) comment out CoinbaserCmd,
-CoinbaserCmd = 'echo -e "1\\n$((%d / 100))\\n1579aXhdwvKZEMrAKoCZhzGuqMa8EonuXU"'
+#CoinbaserCmd = 'echo -e "1\\n$((%d / 100))\\n1579aXhdwvKZEMrAKoCZhzGuqMa8EonuXU"'
g) update TemplateSources to point to your local blakecoind RPC, including chosen username/password, and comment out the secondary source:
@@ -57,41 +57,41 @@
TemplateSources = (
{
'name': 'primary',
- 'uri': 'http://user:pass@localhost:8332',
+ 'uri': 'http://MY_RPC_USERNAME:MY_RPC_PASSWORD@127.0.0.1:8772',
'priority': 0,
'weight': 1,
},
- {
- 'name': 'secondary',
- 'uri': 'http://user:pass@localhost:18332',
- 'priority': 1,
- 'weight': 1,
- },
+# {
+# 'name': 'secondary',
+# 'uri': 'http://user:pass@localhost:18332',
+# 'priority': 1,
+# 'weight': 1,
+# },
)
g) empty TemplateChecks (or comment out 100%),
h) comment out or delete BlockSubmissions
i) change log settings, and switch from testnet3 mining to mainnet:
-DelayLogForUpstream = False
+DelayLogForUpstream = True
# Bitcoin p2p server for announcing blocks found
-UpstreamBitcoindNode = ('127.0.0.1', 18333) # testnet
+UpstreamBitcoindNode = ('127.0.0.1', 8772)
# Network ID for the primary blockchain
# Other known network IDs can be found at:
# https://en.bitcoin.it/wiki/Protocol_specification#Message_structure
-UpstreamNetworkId = b'\xFA\xBF\xB5\xDA' # testnet
+UpstreamNetworkId = b'\xF9\xBE\xB4\xD2'
j) update ShareLogging to reflect your desires. The simplest is to delete all the SQL-related entries, leaving only the textfile logfile. With solo mining, you don't care so much about shares. Optionally enable logging to a database here for use via an MPOS gui later.
ShareLogging = (
{
'type': 'logfile',
'filename': 'share-logfile',
'format': "{time} {Q(remoteHost)} {username} {YN(not(rejectReason))} {dash(YN(upstreamResult))} {dash(rejectReason)} {solution}\n",
},
)
k) change log filename to something useful,
LogFile = {
- 'filename': 'filename.log',
+ 'filename': 'eloipool.log',
l) Create a runit.sh script for eloipool, with the contents,
#!/bin/sh
PYTHONPATH=/path/to/python-bitcoinrpc:/path/to/python-base58:/path/to/midstate \
nohup ./eloipool.py 2>&1 >/dev/null &
You must change the paths to suit your local system.
m) Run eloipool with runit.sh script
n) Let's assume you are running the pool software on 192.168.1.40 IP address. Set up your miner configuration like this:
Pool X: stratum+tcp://192.168.1.40:3334
Pool X username: anyuser
Pool X password: x
The above gets you a private Blakecoin mining pool.Credits:
BlueDragon747
kr105
lukejr
Jeff Garzik Donations / BTC tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
https://bitcointalk.org/index.php?topic=158105.0The pool we created above only mines Blakecoins, to merged mine BLC and PHO:Acquire a compiled photond, create a data dir and photon.conf in the same way you did for blakecoind.
Acquire merge-mine-proxy:
https://gitorious.org/bitcoin/luke-jr-bitcoin/source/8f3f29550c2ad33f5635799ba835276eaebb4a2e:contrib/merged-mine-proxyeloipool config.py# Secret username allowed to use setworkaux
SecretUser = "ssecreteloipool"
GotWorkURI = "http://mergedproxyuser:mergedproxypass@127.0.0.1:8330/"
GotWorkTarget = 0x00000000000fffffffffffffffffffffffffffffffffffffffffffffffffffff #1024
photond config rpcuser=photonrpc
rpcpassword=photonrpcpass
rpcport=9377
listen=1
gen=0
rpcallowip=127.0.0.1
port=35556
server=1
daemon=1
listen=1
addnode=162.243.101.139
addnode=72.23.74.166
addnode=62.219.234.143
addnode=78.26.209.208
addnode=162.243.101.139
addnode=77.121.61.203
addnode=107.170.123.55
addnode=218.146.3.80:3005
addnode=107.170.78.146
mining proxy command python merged-mining-proxy -w 8330 -p http://ssecreteloipool:222@127.0.0.1:8337/ -x http://photonrpc:photonrpcpass@localhost:9377/
Credits:
BlueDragon747
lukejr
tomaszsz
https://bitcointalk.org/index.php?topic=61731.msg2070460#msg2070460Troubleshooting and optional info by BlueDragon747:
start blakecoin with block notify
start photon
wait for them to be in sync!
start eloi
within 3 secs start mmp
check log, wait for a share if you get a solve its working ignore errors
if you just get update aux and no solve for ages and you have decent amount of hashing or lowish gotworktarget repeat above
if you get stale merkle its fine should get a solve shortly
if you get bad merkle them it seems mmp is not connecting to eloi
In mmp I did tweak the -R rewrite to match the gotworktarget and it does run better than just leaving it out (edit at line 253 and 462 to match your gotworktarget) then just add the -R switch to you command e.g:
python merged-mine-proxy -w 8330 -p
http://secretuser:123@127.0.0.1:8337/ -x
http://photonrpcuser:rpcpass@localhost:9377/ -l mmp_log.txt -R >/dev/null
You *might* be able to merge mine without eloipool, using only the blake and photon coin daemons coupled with merge-mine-proxy, but I have not tried.
EDIT/UPDATE 5-15-2014:
Moar coinz!The launch of B+ and impending launches of Dirac and AT brings the need for config changes.
Acquire a compiled B+, create a data dir and blakebitcoin.conf in the same way you did for the other coins.
Use this copy of merge-mine-proxy:
https://github.com/BlueDragon747/eloipool_Blakecoin/blob/master/merged-mine-proxy.pyblakebitcoind config rpcuser=blakebitrpcuser
rpcpassword=blakebitrpcpass
server=1
listen=1
maxconnections=180
rpctimeout=30
rpcallowip=127.0.0.1
addnode=146.185.135.24
addnode=162.243.14.130
addnode=188.226.213.85
addnode=107.170.140.27
mining proxy command python merged-mining-proxy -s 4 -w 8330 -p http://ssecreteloipool:222@127.0.0.1:8337/ -x http://photonrpc:photonrpcpass@localhost:9377/ -x http://blakebitrpcuser:blakebtrpcpass@localhost:blakebitport/
You can continue to add coins now by setting up the coin daemon, adding another -x
http://user:pass@host:port/ line to the launch arguments for merge-mine-proxy, and incrementing the -s value. -s == <number of aux chains> * 2