smracer
Donator
Legendary
Offline
Activity: 1057
Merit: 1021
|
|
May 03, 2013, 06:10:37 PM |
|
root@ubuntu:/var/www/eloipool# python3 eloipool.py 2013-05-03 11:59:15,743 jsonrpc_getwork WARNING Error importing 'midstate' module; work will not provide midstates
>>> Traceback (most recent call last): File "eloipool.py", line 915, in <module> MM.start() File "/var/www/eloipool/merklemaker.py", line 697, in start self._prepare() File "/var/www/eloipool/merklemaker.py", line 120, in _prepare TS['access'] = URI2Access(TS['uri']) File "/var/www/eloipool/merklemaker.py", line 110, in URI2Access access = jsonrpc.ServiceProxy(uri) AttributeError: 'module' object has no attribute 'ServiceProxy'
What am I doing wrong?
Run eloipool using runit.sh script.. #!/bin/sh PYTHONPATH=/path/of/python-bitcoinrpc:/path/of/python-base58:/garz/repo/midstate \ nohup ./eloipool.py 2>&1 >/dev/null & I tried that. Same error.
|
|
|
|
smracer
Donator
Legendary
Offline
Activity: 1057
Merit: 1021
|
|
May 03, 2013, 06:25:51 PM |
|
Actually I get this error now that I fixed midstate
root@ubuntu:/var/www/eloipool# ./runit.sh
>>> Traceback (most recent call last): File "./eloipool.py", line 915, in <module> MM.start() File "/var/www/eloipool/merklemaker.py", line 697, in start self._prepare() File "/var/www/eloipool/merklemaker.py", line 120, in _prepare TS['access'] = URI2Access(TS['uri']) File "/var/www/eloipool/merklemaker.py", line 110, in URI2Access access = jsonrpc.ServiceProxy(uri) AttributeError: 'module' object has no attribute 'ServiceProxy'
|
|
|
|
jgarzik (OP)
Legendary
Offline
Activity: 1596
Merit: 1100
|
|
May 03, 2013, 07:10:56 PM |
|
PYTHONPATH=/path/of/python-bitcoinrpc:/path/of/python-base58:/garz/repo/midstate \ nohup ./eloipool.py 2>&1 >/dev/null &
Did you all change the "/path/of/" and "/garz/repo/" paths to point to the proper directory?
|
Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own. Visit bloq.com / metronome.io Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
|
|
|
smracer
Donator
Legendary
Offline
Activity: 1057
Merit: 1021
|
|
May 03, 2013, 07:14:38 PM |
|
!/bin/sh
PYTHONPATH=/var/www/eloipool/python-bitcoinrpc:/var/www/eloipool/python-base58:/var/www/eloipool/midstate \ ./eloipool.py
|
|
|
|
intrd
Member
Offline
Activity: 75
Merit: 10
HAL10K developer
|
|
May 03, 2013, 07:50:27 PM |
|
!/bin/sh
PYTHONPATH=/var/www/eloipool/python-bitcoinrpc:/var/www/eloipool/python-base58:/var/www/eloipool/midstate \ ./eloipool.py
try to point jsonrpc too.. like this: PYTHONPATH=$PYTHONPATH:$DIR/../python-bitcoinrpc/jsonrpc:$DIR/../python-bitcoinrpc/bitcoinrpc:$DIR/../python-base58:$DIR/../midstate \ in your case, replace $DIR variable to absolute path!
|
|
|
|
intrd
Member
Offline
Activity: 75
Merit: 10
HAL10K developer
|
|
May 03, 2013, 07:52:04 PM |
|
|
|
|
|
smracer
Donator
Legendary
Offline
Activity: 1057
Merit: 1021
|
|
May 03, 2013, 07:58:52 PM |
|
!/bin/sh
PYTHONPATH=/var/www/eloipool/python-bitcoinrpc:/var/www/eloipool/python-base58:/var/www/eloipool/midstate \ ./eloipool.py
try to point jsonrpc too.. like this: PYTHONPATH=$PYTHONPATH:$DIR/../python-bitcoinrpc/jsonrpc:$DIR/../python-bitcoinrpc/bitcoinrpc:$DIR/../python-base58:$DIR/../midstate \ in your case, replace $DIR variable to absolute path! Ok I pointed the jsonrpc as well and now i get this error. root@ubuntu:/var/www/eloipool# ./runit.sh Traceback (most recent call last): File "./eloipool.py", line 127, in <module> import jsonrpc_getwork File "/var/www/eloipool/jsonrpc_getwork.py", line 18, in <module> from jsonrpcserver import JSONRPCHandler File "/var/www/eloipool/jsonrpcserver.py", line 19, in <module> import json File "/var/www/eloipool/python-bitcoinrpc/jsonrpc/json.py", line 2, in <module> loads = _json.loads AttributeError: 'module' object has no attribute 'loads'
|
|
|
|
smracer
Donator
Legendary
Offline
Activity: 1057
Merit: 1021
|
|
May 08, 2013, 08:28:51 PM |
|
Looking for a little guidance on eloipool setup.
I am fairly comfortable with ubuntu... though a bit new to python.
Anyway... I am running ubuntu 12.04 LTS server, and I think I have a stupid configuration error somewhere. This is a pretty vanilla ubuntu 12.04 server with python3, libpython3.2, python3-dev, and build-essentials installed via apt.
I followed the top post and after all is said and done, I see in my eloipool.log the following message in a fairly tight loop:
You aren't doing anything wrong. I got the same thing. It seems to be a bug in the bitcoin-jsonrpc package, which is writing invalid basic-auth headers out to bitcoind. It's setting the header to: Basic b'....base64stuff...'
rather than likely because it wasn't written for python3. I have no idea how this code would have ever worked, unless someone is running their bitcoind wide open without RPC passwords, or is using a different sort of authentication. A quick fix is to decode the bytes into UTF-8. On line 72 of bitcoinrpc/authproxy.py change: self.__auth_header = "Basic %s" % base64.b64encode(authpair)
to read: self.__auth_header = "Basic %s" % base64.b64encode(authpair).decode() Hope this helps Solved my problem! TY!!!
|
|
|
|
optimator
|
|
May 21, 2013, 09:02:16 PM |
|
I have eloipool up and hashing away with an avalon unit. Thanks Jgarzik!! Very helpful guide.
I'm running into a bunch of errors relating to longpool - These errors are what has been described previously in this thread.
These errors appear non-fatal. Can anyone confirm this is correct?
|
|
|
|
jspielberg
|
|
May 21, 2013, 09:15:44 PM |
|
I have been playing around with slush's pool software while waiting for B3 to go into production, and I like it as it has a handy little status webpage.
My preference though is eloipool.
Does eloipool have a method of checking the current running status of the pool?
Is the DB schema documented anywhere if I wanted to make my own scripts for status querying?
|
|
|
|
Luke-Jr
Legendary
Offline
Activity: 2576
Merit: 1186
|
|
May 22, 2013, 05:20:39 AM |
|
I have been playing around with slush's pool software while waiting for B3 to go into production, and I like it as it has a handy little status webpage.
My preference though is eloipool.
Does eloipool have a method of checking the current running status of the pool?
Is the DB schema documented anywhere if I wanted to make my own scripts for status querying?
Eloipool doesn't have a db schema... you have to configure that yourself.
|
|
|
|
zero-asic
Member
Offline
Activity: 79
Merit: 10
|
|
May 22, 2013, 07:23:53 AM |
|
I have been playing around with slush's pool software while waiting for B3 to go into production, and I like it as it has a handy little status webpage.
My preference though is eloipool.
Does eloipool have a method of checking the current running status of the pool?
Is the DB schema documented anywhere if I wanted to make my own scripts for status querying?
Eloipool doesn't have a db schema... you have to configure that yourself. Correct me if I'm wrong here, but if you edit the ShareLogging section of the config.py as follows: # Logging of shares: ShareLogging = ( #{ # 'type': 'logfile', # 'filename': '../logs/share-logfile', # 'format': "{time} {Q(remoteHost)} {username} {YN(not(rejectReason))} {dash(YN(upstreamResult))} {dash(rejectReason)} {solution}\n", #}, { 'type': 'sql', 'engine': 'mysql', 'dbopts': { 'host': 'localhost', 'db': 'pooldb', 'user': 'mysqluser', 'password': 'mysqlpassword', }, 'statement': "insert into shares (rem_host, username, our_result, upstream_result, reason, solution, time) values ({Q(remoteHost)}, {username}, {YN(not(rejectReason))}, {YN(upstreamResult)}, {rejectReason}, unhex({solution}), NOW())", }, ) That should add DB entries to a table called shares. It has fields: rem_host, username, our_result, upstream_result, reason, solution, time. You could also do this with postgres I believe. I'm not sure if this will make entries for all shares or just found blocks, I haven't tested it that much.
|
|
|
|
Luke-Jr
Legendary
Offline
Activity: 2576
Merit: 1186
|
|
June 05, 2013, 05:24:55 PM |
|
Try to use this: pkill -f -USR1 eloipool.py I'm guessing the problem is caused by running ... python3 eloipool.py ... instead of
|
|
|
|
Luke-Jr
Legendary
Offline
Activity: 2576
Merit: 1186
|
|
June 06, 2013, 01:48:09 AM |
|
Now, if only you could tell me what is the significance and consequence of the multiple Eloipool log entries like this:
JSONRPCServer INFO Nobody to longpoll No GBT/getwork longpoll connections were connected during a longpoll... and
merkleMaker INFO Transaction-longpoll requested 102 seconds ago, and still not ready. Is your server fast enough to keep up with your configured WorkQueueSizeRegular maximum? Your CPU isn't able to maintain the WorkQueueSize* configurations. You can probably set all these to 1 since you don't use GBT/getwork with an Avalon.
|
|
|
|
mrb
Legendary
Offline
Activity: 1512
Merit: 1028
|
|
June 06, 2013, 05:59:13 AM |
|
You can probably set all these to 1 since you don't use GBT/getwork with an Avalon.
You mean Arvicco specifically did not configure it to use GBT/getwork, or cgminer on Avalon is by default is configured to not use it (ie. use stratum?)
|
|
|
|
Luke-Jr
Legendary
Offline
Activity: 2576
Merit: 1186
|
|
June 06, 2013, 06:16:28 AM |
|
You can probably set all these to 1 since you don't use GBT/getwork with an Avalon. You mean Arvicco specifically did not configure it to use GBT/getwork, or cgminer on Avalon is by default is configured to not use it (ie. use stratum?) I meant the former (that it was not in use, as evidenced by his first message), but cgminer's GBT is known to be broken, and AFAIK there aren't any cases where you'd actually want to use getwork on it (cgminer's getwork can't handle over a few Gh/s without rollntime, which Deepbit doesn't support; I don't know any other getwork-only pools)
|
|
|
|
miner49dk
Newbie
Offline
Activity: 22
Merit: 0
|
|
June 16, 2013, 02:04:50 PM |
|
Hey! Thanks so much for a good walkthrough midstate was really a ***** to get complied on cents. Went ubuntu instead. But I have everything up and running, it seems to run perfectly, i do get a lot of "INFO Nobody to long poll" in the eloipool log. Does this meen that there is something wrong? Am i actually Mining ? The share log shows that the cgminer's i have running are working. Hope you can help!
All the best Ras
|
|
|
|
Luke-Jr
Legendary
Offline
Activity: 2576
Merit: 1186
|
|
June 16, 2013, 11:39:08 PM |
|
midstate is not needed for anything except DiabloMiner.
|
|
|
|
miner49dk
Newbie
Offline
Activity: 22
Merit: 0
|
|
June 17, 2013, 01:20:27 PM |
|
Hey ! Thanks, good to know. Can you shed any ligt on the "nobody to longpoll" info in the logging ? All the best Ras
|
|
|
|
tryexcept
|
|
July 08, 2013, 07:15:36 AM |
|
Hey ! Thanks, good to know. Can you shed any ligt on the "nobody to longpoll" info in the logging ? All the best Ras
No GBT/getwork longpoll connections were connected during a longpoll... If you just use avalons, since avalons use stratum, this is perfectly normal. I have a question: What does it look like when you do find a block other than the address you configured will receive the block and fees ? I didn't try test net although everything in the logs looks good, running on latest arch.
|
|
|
|
|