Pages:
Author

Topic: [ANN] Eloipool - FAST Python3 pool server software - GBT/stratum/dyntarget/proxy - page 9. (Read 123135 times)

sr. member
Activity: 339
Merit: 250
Vice versa is not a meal.
newbie
Activity: 14
Merit: 0
I'm trying to setup eloipool to replace my old pushpool install and I'm having a real hard time fixing an error that most ppl seem to have gotten past.

'No JSON object could be decoded'

I've tried 2 different builds of bitcond to connect to with eloipool but it always, always, always tells me that 'No JSON object could be decoded'.

These are the bitcoind builds I have compiled and run without any issues (connected to testnet) all RPC settings are correct and working as far as I can tell (Pushpool connects fine with the same RPC settings)

I've also followed these steps to build the source when all else failed - https://bitcointalksearch.org/topic/avalon-users-bitcoind-and-slushsgeneralfaults-mining-pool-setup-162788
I cant currently get the ubuntu ppa to download correctly so I haven't tried that one yet.

I've tried the few fixes that I have seen posted, like adding .decode() to the end of line 72 in authproxy.py, i've also tried rebuilding each one of the bitcoind's I downloaded and each time it always gives me the same error, I'm going crazy here trying to get eloipool to accept the returned JSON object from bitcoind.

What could the issue be?

Code:
Traceback (most recent call last):
  File "/home/username/eloipool-server/eloipool/merklemaker.py", line 692, in run
    self.merkleMaker_I()
  File "/home/username/eloipool-server/eloipool/merklemaker.py", line 682, in merkleMaker_I
    self.merkleMaker_II()
  File "/home/username/eloipool-server/eloipool/merklemaker.py", line 648, in merkleMaker_II
    return self._updateMerkleTree()
  File "/home/username/eloipool-server/eloipool/merklemaker.py", line 548, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/home/username/eloipool-server/eloipool/merklemaker.py", line 512, in _updateMerkleTree_I
    r = self._updateMerkleTree_fromTS(TS)
  File "/home/username/eloipool-server/eloipool/merklemaker.py", line 477, in _updateMerkleTree_fromTS
    MP = self._CallGBT(TS)
  File "/home/username/eloipool-server/eloipool/merklemaker.py", line 327, in _CallGBT
    MP = access.getblocktemplate(self.GBTReq)
  File "/home/username/eloipool-server/eloipool/bitcoinrpc/authproxy.py", line 106, in __call__
    response = self._get_response()
  File "/home/username/eloipool-server/eloipool/bitcoinrpc/authproxy.py", line 132, in _get_response
    parse_float=decimal.Decimal)
  File "/usr/lib/python3.2/json/__init__.py", line 322, in loads
    return cls(**kw).decode(s)
  File "/usr/lib/python3.2/json/decoder.py", line 353, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.2/json/decoder.py", line 371, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
legendary
Activity: 2576
Merit: 1186
FWIW, I don't intend to provide general support for patchsets which haven't even been proposed as merge requests yet (though anyone else is welcome to).
Hopefully this will encourage people to submit their changes upstream Wink

OK - i got rid of this strange message - it was just problem with python...

Bu i have a general problem with configuration: ShareTarget value is totally unclear for me and I used several calculators and can't get expected results as minimal difficulty. Can anyone help me with this?

feeleep
For pdifficulty 1, you want 0x00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff; divide this by the desired difficulty for others.
For bdifficulty, it's the same, but based on a truncated value, 0x00000000ffff0000000000000000000000000000000000000000000000000000

If you enable dynamic targetting though, this is just a minimum, so I'd leave it at pdiff 1.
legendary
Activity: 1197
Merit: 1000
FWIW, I don't intend to provide general support for patchsets which haven't even been proposed as merge requests yet (though anyone else is welcome to).
Hopefully this will encourage people to submit their changes upstream Wink

OK - i got rid of this strange message - it was just problem with python...

Bu i have a general problem with configuration: ShareTarget value is totally unclear for me and I used several calculators and can't get expected results as minimal difficulty. Can anyone help me with this?

feeleep
legendary
Activity: 2576
Merit: 1186
FWIW, I don't intend to provide general support for patchsets which haven't even been proposed as merge requests yet (though anyone else is welcome to).
Hopefully this will encourage people to submit their changes upstream Wink
legendary
Activity: 1197
Merit: 1000
Hi,

I am testing litecoin fork of eloipool and i encountered an error which I can not pass through:

Code:
2013-06-04 19:22:35,781 JSONRPCHandler  ERROR   Error during JSON-RPC call: doJSON_getwork['00000002469d398f8b08c953ea40442e63cb5768340d2c9be18b3b8f0bb56f4a00000000410f80197fdf354663476bd3dd05fc4391661de7f133958bb030363bcd93568851ae22571d01132e00002283000000800000000000000000000000000000000000000000000000000000000000000000000000000000000080020000']
Traceback (most recent call last):
  File "/root/xxx/eloipool-scrypt/jsonrpcserver.py", line 201, in _doJSON_i
    rv = getattr(self, method)(*params)
  File "/root/xxx/eloipool-scrypt/jsonrpc_getwork.py", line 44, in doJSON_getwork
    return self.doJSON_submitwork(data)
  File "/root/xxx/eloipool-scrypt/jsonrpc_getwork.py", line 81, in doJSON_submitwork
    self.server.receiveShare(share)
  File "eloipool.py", line 559, in receiveShare
    checkShare(share)
  File "eloipool.py", line 436, in checkShare
    blkhash = PoWHash(data)
  File "/root/xxx/eloipool-scrypt/util.py", line 132, in PoWHash
    return getPoWHash(b)
TypeError: function takes exactly 2 arguments (1 given)

Any idea what it can be?

feeleep
member
Activity: 180
Merit: 10
GraphGrail Ai Founder
Hi, i am new to Python, started to learn it recently.
I have got  Eloipool  from  https://gitorious.org/bitcoin/eloipool/commits/master

But there is no instructions on how to setup it on hosting server in README.
Also, does it support Litecoin mining?

What i am supposed to see is the site with frontend like http://eligius.st/~gateway  (i know html/css3, so i need only up and running soft as site on hosting - then i will customize it)
sr. member
Activity: 263
Merit: 250
Pool operator of Triplemining.com
The GBT timeout issues are solved with bitcoin 0.8.2, best to upgrade.
It's better, but far from solved Sad
Perhaps the root cause hasn't been solved, but the problem is gone for now Smiley
legendary
Activity: 2576
Merit: 1186
The GBT timeout issues are solved with bitcoin 0.8.2, best to upgrade.


Yes 0.8.2 hasn't been released yet.  But all pools have backported the related fix(es) in order to solve this problem already....

Or just use an existing pool Smiley
It's better, but far from solved Sad
sr. member
Activity: 263
Merit: 250
Pool operator of Triplemining.com
The GBT timeout issues are solved with bitcoin 0.8.2, best to upgrade.


Yes 0.8.2 hasn't been released yet.  But all pools have backported the related fix(es) in order to solve this problem already....

Or just use an existing pool Smiley
newbie
Activity: 16
Merit: 0
Quick and dirty fix? Works for me.
Add .decode() to the following line (authproxy.py):
Code:
self.__auth_header = "Basic %s" % base64.b64encode(authpair).decode()
sr. member
Activity: 493
Merit: 262
I'm getting this error:
Code:
Traceback (most recent call last):
  File "/home/coin/eloipool/merklemaker.py", line 513, in _updateMerkleTree_I
    r = self._updateMerkleTree_fromTS(TS)
  File "/home/coin/eloipool/merklemaker.py", line 478, in _updateMerkleTree_fromTS
    MP = self._CallGBT(TS)
  File "/home/coin/eloipool/merklemaker.py", line 328, in _CallGBT
    MP = access.getblocktemplate(self.GBTReq)
  File "/usr/local/lib/python3.2/site-packages/bitcoinrpc/authproxy.py", line 102, in __call__
    response = self._get_response()
  File "/usr/local/lib/python3.2/site-packages/bitcoinrpc/authproxy.py", line 128, in _get_response
    parse_float=decimal.Decimal)
  File "/usr/local/lib/python3.2/json/__init__.py", line 332, in loads
    return cls(**kw).decode(s)
  File "/usr/local/lib/python3.2/json/decoder.py", line 353, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/local/lib/python3.2/json/decoder.py", line 371, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded

Its caused by a failed authorization. I tried to print the AuthHeader and got this as result: "Basic b'dXNlcjpwYXNzd29yZA=='"
If I put the string (without the b') directly into __auth_header it works flawlessy.

I also tried python3.3 with the same result.
sr. member
Activity: 351
Merit: 250
I'm using bitcoind 0.8.1 and I'm getting a GBT timeout error.

Here is the logfile:

Code:
2013-05-23 17:39:48,777	newBlockNotification	INFO	Received new block notification
2013-05-23 17:40:14,456 merkleMaker CRITICAL Traceback (most recent call last):
  File "/home/ubuntu/eloipool/merklemaker.py", line 692, in run
    self.merkleMaker_I()
  File "/home/ubuntu/eloipool/merklemaker.py", line 682, in merkleMaker_I
    self.merkleMaker_II()
  File "/home/ubuntu/eloipool/merklemaker.py", line 660, in merkleMaker_II
    return self._updateMerkleTree()
  File "/home/ubuntu/eloipool/merklemaker.py", line 548, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/home/ubuntu/eloipool/merklemaker.py", line 512, in _updateMerkleTree_I
    r = self._updateMerkleTree_fromTS(TS)
  File "/home/ubuntu/eloipool/merklemaker.py", line 477, in _updateMerkleTree_fromTS
    MP = self._CallGBT(TS)
  File "/home/ubuntu/eloipool/merklemaker.py", line 327, in _CallGBT
    MP = access.getblocktemplate(self.GBTReq)
  File "/home/ubuntu/python-bitcoinrpc/jsonrpc/authproxy.py", line 100, in __call__
    httpresp = self.__conn.getresponse()
  File "/usr/lib/python3.2/http/client.py", line 1049, in getresponse
    response.begin()
  File "/usr/lib/python3.2/http/client.py", line 346, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python3.2/http/client.py", line 308, in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
  File "/usr/lib/python3.2/socket.py", line 276, in readinto
    return self._sock.recv_into(b)
socket.timeout: timed out

2013-05-23 17:40:25,337 merkleMaker INFO New block: 00000000000001328ed5ecd715bbb72648832c108b521720bfa7127af2d07639 (height: 237559; bits: 1a017fe9)

You can see eloipool receives the new block notification, attempts to build the merkle tree using the transactions from GBT but then times out.

It's almost 50 seconds later the new block is pushed to the clients.

Any idea what is causing this error?
member
Activity: 76
Merit: 10
>>> 2013-05-09 09:52:26,704     sharelogging    ERROR   Error setting up share logger sql: (, NameError("name 'long' is not defined",), )


I am trying to get mysql to record the shares.  I set up the 'shares' table and columns but it is not recording shares.



please post your config with Sharelogging section
member
Activity: 76
Merit: 10
I got an error:
Code:
makeCoinbaseTxn	ERROR	Coinbaser failed!
then i do some debug
line 105 in eloipool.py raise an error
Code:
nout = int(p.stdout.readline())
I guess CoinbaserCmd is invalid, then i run the command in terminal
Code:
echo -e "1\\n$((%d / 100))\\n1579aXhdwvKZEMrAKoCZhzGuqMa8EonuXU"
the result is:
Code:
bash: %d / 100: syntax error: operand expected (error token is "%d / 100")
any ideas?
My guess would be a non-BASH default shell...
I found the reason
Code:
p.stdout.readline()
return
Code:
b'-e 1\n'
My default shell is Bash,I use Python 3.3.1 on Ubuntu
If your default shell was BASH, you wouldn't get that result.

i have the same with BASH, python 3.2 , on ubuntu 12.

commenting CoinbaserCmd, may help but it isn't good solution...
member
Activity: 76
Merit: 10
Looks okay. Does it work? Smiley
yes Smiley  many thanks Smiley
merged mining work ! (but i dont find any block yet )

but from time to time i get

Code:
2013-05-20T20:40:39.879372,solve,?,0,2125c31fb29aa6947264472d420e5f9e5582ef21576640c5eab4a4a300000000
Could not connect to http://127.0.0.1:9947/
Parent setworkaux failed: http://127.0.0.1:9947/
2013-05-20T20:40:40.001529,updateaux
2013-05-20T20:40:41.056715,solve,?,0,10cfc91c8c7b6dfa4c19fe0a8497411b9e439091da62c2bd6a9cd8d900000000


is it something with multithreading in eloipool  ?
sr. member
Activity: 351
Merit: 250
I have Eloipool up and running on Testnet.

When I find a block I receive this message in the log file:

Code:
2013-05-20 17:21:33,131	blockSubmission	DEBUG	Upstream 'primary' accepted block
2013-05-20 17:21:33,241 redflag CRITICAL Upstream 'primary' block submission failed: rejected

However, it appears the network has accepted the block.

Any ideas why I'm getting the "redflag" message?

hero member
Activity: 662
Merit: 500
what config would be required to run as a sub pool of eligius?
newbie
Activity: 17
Merit: 0
***PLEASE HELP***
I tried to upgrade everything python + eloipool. Now my pool doesn't work! It all started with simple
Code:
 import jsonrpc
ImportError: No module named jsonrpc

I have tried
Code:
cd python-bitcoinrpc
python3 setup.py build
python3 setup.py install
ls
cp -Rf jsonrpc/ /usr/local/lib/python3.2/dis-packages/

And it made it worse!
Code:
2013-05-12 23:08:19,014 merkleMaker     CRITICAL        Traceback (most recent call last):
  File "/usr/local/lib/python3.2/json/decoder.py", line 361, in raw_decode
    obj, end = self.scan_once(s, idx)
StopIteration

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/eloipool/merklemaker.py", line 692, in run
    self.merkleMaker_I()
  File "/home/eloipool/merklemaker.py", line 682, in merkleMaker_I
    self.merkleMaker_II()
  File "/home/eloipool/merklemaker.py", line 648, in merkleMaker_II
    return self._updateMerkleTree()
  File "/home/eloipool/merklemaker.py", line 548, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/home/eloipool/merklemaker.py", line 512, in _updateMerkleTree_I
    r = self._updateMerkleTree_fromTS(TS)
  File "/home/eloipool/merklemaker.py", line 477, in _updateMerkleTree_fromTS
    MP = self._CallGBT(TS)
  File "/home/eloipool/merklemaker.py", line 327, in _CallGBT
    MP = access.getblocktemplate(self.GBTReq)
  File "/usr/local/lib/python3.2/site-packages/bitcoinrpc/authproxy.py", line 102, in __call__
    response = self._get_response()
  File "/usr/local/lib/python3.2/site-packages/bitcoinrpc/authproxy.py", line 128, in _get_response
    parse_float=decimal.Decimal)
  File "/usr/local/lib/python3.2/json/__init__.py", line 320, in loads
    return cls(**kw).decode(s)
  File "/usr/local/lib/python3.2/json/decoder.py", line 345, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/local/lib/python3.2/json/decoder.py", line 363, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded

*** Solution***
found old pantehicon's fix!
A quick fix is to decode the bytes into UTF-8. On line 72 of bitcoinrpc/authproxy.py change:

Code:
Code:
self.__auth_header = "Basic %s" % base64.b64encode(authpair)
to read:

Code:
self.__auth_header = "Basic %s" % base64.b64encode(authpair).decode()

Hope this helps
newbie
Activity: 17
Merit: 0
Got this new error any idea what this means?


Code:
May 10 08:04:05 <12>Change from height 235474->235476; no longpoll merkleroots available!
May 10 08:04:05 <12>clearMerkleRoots running out! only 0 left

Can anyone tell me how do I upgrade eloipool to latest release? And always was curious why Longpoll woke up has 2 lines and which one of them is accurate one says 20 clients and the other 5 clients weird? Also got another question does increasing the difficulty of shares mining reduces server load?

Code:
Longpoll woke up 20 clients in 0.278 seconds
Waiting 4.58 seconds to longpoll
Longpoll woke up 5 clients in 0.000 seconds

+ Bug Report
Looks like Statrum Protocol isn't working on CPU mining with Ufasoft + Also when trying to connect to eloipool pool server statrum with stratum-mining-proxy (Slush0's) it will not connect and will give the following error:
Code:
2013-05-12 05:18:44,862 WARNING proxy mining_proxy.main # Trying to connect to S
tratum pool at http://mining.ligius.st:3334
Unhandled error in Deferred:
Unhandled Error
Traceback (most recent call last):
Failure: stratum.custom_exceptions.TransportException: SocketTransportClientFact
ory connection timed out
Huh Huh
Pages:
Jump to: