Bitcoin Forum
April 25, 2024, 09:45:11 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 [All]
  Print  
Author Topic: [ANN] Eloipool - FAST Python3 pool server software - GBT/stratum/dyntarget/proxy  (Read 123078 times)
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
January 29, 2012, 07:23:10 AM
Last edit: May 27, 2013, 10:50:56 PM by Luke-Jr
Merited by ABCbits (4)
 #1

Eloipool - FAST Python3 pool server

  • First poolserver to use getmemorypool for internal work generation (note: PSJ and ecoinpool do this too, and announced first)
  • Optimized merkle tree generator, does only the minimum required steps to create lots of merkle trees fast.
  • Keeps a fixed-size buffer full of up-to-date merkle trees ready to ship off as soon as a getwork requests them
  • Builds a fixed-size buffer full of clear (zero transactions, just subsidy) merkle trees ready to ship off immediately with longpoll replies (so miners can start working on the new block even before bitcoind has figured out which transactions to use)
  • Support for more getwork extensions than any other public poolserver (update: ecoinpool caught up Wink)
  • Uses chunked HTTP transfer encoding to prevent proxy/firewall timeouts on longpoll connections.
  • Coinbaser support, along with gotwork, for reliable generated payouts and merged mining
  • Asynchronous JSON-RPC server using epoll to optimally handle even heavy loads.
  • Interactive Python 3 console so you can inspect and modify the pool while it's running.
  • Free software (open source) under the AGPLv3 license!
  • Restart pool server (including upgrades) without miners losing work.
  • Modular and highly configurable share logging using fast formatting functions, including support for PostgreSQL, MySQL, SQLite, and plaintext files.
  • Anonymous or authenticated miner users.
  • Support for X-Forwarded-For reverse proxies (and trust controls).
  • Dynamic share targetting enabling fractional, power-of-two (zero bit count), and bdiff rounded miner targets.
  • gzip HTTP response compression to save bandwidth without sacrificing functionality.
  • Support for miners using next-generation getblocktemplate decentralized mining protocol and (pre-BIP draft) stratum mining protocol.
  • Experimental support for creating "sub-pools" based on any upstream getblocktemplate server.

Now running live on:

1714038311
Hero Member
*
Offline Offline

Posts: 1714038311

View Profile Personal Message (Offline)

Ignore
1714038311
Reply with quote  #2

1714038311
Report to moderator
Bitcoin addresses contain a checksum, so it is very unlikely that mistyping an address will cause you to lose money.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714038311
Hero Member
*
Offline Offline

Posts: 1714038311

View Profile Personal Message (Offline)

Ignore
1714038311
Reply with quote  #2

1714038311
Report to moderator
cablepair
Hero Member
*****
Offline Offline

Activity: 896
Merit: 1000


Buy this account on March-2019. New Owner here!!


View Profile WWW
January 29, 2012, 07:14:32 PM
 #2

hi Luke

I was excited to see this post as I am always excited to see new pool server software

I am a little confused about this, is it unfinished - or is it just meant to be this way?

I was able to get it working even though - there are no instructions what so ever

(tip if your using Debian or Ubuntu you will probably have to dpkg-reconfigure dash and set it to no - so your using bash as default)

but where does it connect to a db? How do you manage users and shares? I see no support for this anywhere, did I miss it?

Please give us more info - I am really excited about this project!

thanks!!! Smiley
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
January 29, 2012, 07:48:03 PM
 #3

I am a little confused about this, is it unfinished - or is it just meant to be this way?
It will probably always be "unfinished" unless someone steps up to "finish" it. Otherwise, I plan to make it stable and reliable for Eligius's use (which probably involves some cleanup over time), and other pool ops are welcome to add functionality they need (accounts?). In the meantime, most of the code (moved into specialized do-one-thing-very-well Python modules) is working and clean; it's mainly eloipool.py that ties them all together that's a bit of a rat's nest right now. Wink

I was able to get it working even though - there are no instructions what so ever
I figured the README and example config should be enough for most people who know what they're doing... what did you find lacking? (just what was listed below?)

(tip if your using Debian or Ubuntu you will probably have to dpkg-reconfigure dash and set it to no - so your using bash as default)
Hmm, I don't know what would depend on BASH? O.o

but where does it connect to a db?
There is PostgreSQL support for logging shares, but I haven't documented that... <.<

How do you manage users and shares? I see no support for this anywhere, did I miss it?
Eligius doesn't have users, so unless some other poolop/developer wants to add support for accounts, you don't.



In short, this isn't being released as end-user software, but as "this is what I am using" code that others can use and extend. My hopes in releasing this publicly, is that other miners and pool operators will also contribute, and all of us can benefit without each one of us reinventing everything independently from scratch. This is why I chose the AGPL license, which requires anyone running it as a public pool server to release their changes.

cablepair
Hero Member
*****
Offline Offline

Activity: 896
Merit: 1000


Buy this account on March-2019. New Owner here!!


View Profile WWW
January 29, 2012, 08:03:46 PM
 #4

thanks for clearing that up Luke! You never mentioned in your thread it was unfinished, understood now! Smiley


if you are using dash by default (debian, ubuntu) you get a /bin/sh Let command not found error
this is fixed by changing default shell to bash

not sure if it has anything to do with it actually working or not, but I hate errors

thanks again for all your contributions
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
January 29, 2012, 08:53:10 PM
 #5

if you are using dash by default (debian, ubuntu) you get a /bin/sh Let command not found error
this is fixed by changing default shell to bash
Sounds like the example config requires BASH for its example coinbaser command. It doesn't make sense to leave that in unmodified.

streblo
Full Member
***
Offline Offline

Activity: 165
Merit: 100


View Profile
August 13, 2012, 07:48:24 PM
 #6

I am having trouble getting gmp-proxy.py to work. Ubuntu 12.04 32bit. Using apt-get, I installed python3-minimal and python3-anyjson.

Code:
~/bc/eloipool$ ./gmp-proxy.py --help
WARNING:jsonrpc_getwork:Error importing 'midstate' module; work will not provide midstates
Traceback (most recent call last):
  File "./gmp-proxy.py", line 26, in <module>
    pool = jsonrpc.ServiceProxy(sys.argv[1])
AttributeError: 'module' object has no attribute 'ServiceProxy'

Any ideas?  Huh
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
August 13, 2012, 07:49:34 PM
 #7

I am having trouble getting gmp-proxy.py to work. Ubuntu 12.04 32bit. Using apt-get, I installed python3-minimal and python3-anyjson.

Code:
~/bc/eloipool$ ./gmp-proxy.py --help
WARNING:jsonrpc_getwork:Error importing 'midstate' module; work will not provide midstates
Traceback (most recent call last):
  File "./gmp-proxy.py", line 26, in <module>
    pool = jsonrpc.ServiceProxy(sys.argv[1])
AttributeError: 'module' object has no attribute 'ServiceProxy'

Any ideas?  Huh
README?

streblo
Full Member
***
Offline Offline

Activity: 165
Merit: 100


View Profile
August 13, 2012, 08:08:48 PM
 #8

Sorry, I forgot to move jsonrpc from python-bitcoinrpc. I did the same with python-base58, per README.

Code:
~/bc/eloipool$ ./gmp-proxy.py --help
Traceback (most recent call last):
  File "./gmp-proxy.py", line 9, in <module>
    import jsonrpc
  File "/home/alan/bc/eloipool/jsonrpc/__init__.py", line 1, in <module>
    from .json import loads, dumps, JSONEncodeException, JSONDecodeException
  File "/home/alan/bc/eloipool/jsonrpc/json.py", line 1, in <module>
    _json = __import__('json')
  File "/home/alan/bc/eloipool/json.py", line 2, in <module>
    loads = _json.loads
AttributeError: 'module' object has no attribute 'loads'
I have no .json directory in eloipool/jsonrpc/ . Sorry for my ineptitude. Thanks for the help
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
August 13, 2012, 08:35:26 PM
 #9

Sorry, I forgot to move jsonrpc from python-bitcoinrpc. I did the same with python-base58, per README.

Code:
~/bc/eloipool$ ./gmp-proxy.py --help
Traceback (most recent call last):
  File "./gmp-proxy.py", line 9, in <module>
    import jsonrpc
  File "/home/alan/bc/eloipool/jsonrpc/__init__.py", line 1, in <module>
    from .json import loads, dumps, JSONEncodeException, JSONDecodeException
  File "/home/alan/bc/eloipool/jsonrpc/json.py", line 1, in <module>
    _json = __import__('json')
  File "/home/alan/bc/eloipool/json.py", line 2, in <module>
    loads = _json.loads
AttributeError: 'module' object has no attribute 'loads'
I have no .json directory in eloipool/jsonrpc/ . Sorry for my ineptitude. Thanks for the help
Where did eloipool/json.py come from? json is a standard Python module...

streblo
Full Member
***
Offline Offline

Activity: 165
Merit: 100


View Profile
August 13, 2012, 08:40:46 PM
 #10

Where did eloipool/json.py come from? json is a standard Python module...
I accidentally moved it from python-bitcoinrpc. After moving it back to eloipool/json it seems to be working better-ish:
Code:

~/bc/eloipool$ ./gmp-proxy.py http://<address>:a@mining.eligius.st:8337
WARNING:jsonrpc_getwork:Error importing 'midstate' module; work will not provide midstates
Traceback (most recent call last):
  File "./gmp-proxy.py", line 134, in <module>
    server.serve_forever()
  File "/home/alan/bc/eloipool/networkserver.py", line 267, in serve_forever
    self.final_init()
  File "/home/alan/bc/eloipool/jsonrpcserver.py", line 300, in final_init
    ShareTargetHex = '%064x' % (self.ShareTarget,)
AttributeError: 'JSONRPCServer' object has no attribute 'ShareTarget'
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
August 13, 2012, 10:33:34 PM
 #11

Where did eloipool/json.py come from? json is a standard Python module...
I accidentally moved it from python-bitcoinrpc. After moving it back to eloipool/json it seems to be working better-ish:
Code:

~/bc/eloipool$ ./gmp-proxy.py http://<address>:a@mining.eligius.st:8337
WARNING:jsonrpc_getwork:Error importing 'midstate' module; work will not provide midstates
Traceback (most recent call last):
  File "./gmp-proxy.py", line 134, in <module>
    server.serve_forever()
  File "/home/alan/bc/eloipool/networkserver.py", line 267, in serve_forever
    self.final_init()
  File "/home/alan/bc/eloipool/jsonrpcserver.py", line 300, in final_init
    ShareTargetHex = '%064x' % (self.ShareTarget,)
AttributeError: 'JSONRPCServer' object has no attribute 'ShareTarget'
That one's a real bug. try this until it works, for now: git checkout HEAD^

check_status
Full Member
***
Offline Offline

Activity: 196
Merit: 100


Web Dev, Db Admin, Computer Technician


View Profile
August 14, 2012, 01:21:51 AM
Last edit: August 14, 2012, 02:41:21 AM by check_status
 #12

I thought I might have something I could add to the How To's and Guides Mega List to beef up the Pools category, but it's limited in being able to meet the goals of that thread, which is focused on helping novice users to get involved. Will be nice to include when this fleshes out a little more.

For Bitcoin to be a true global currency the value of BTC needs always to rise.
If BTC became the global currency & money supply = 100 Trillion then ⊅1.00 BTC = $4,761,904.76.
P2Pool Server List | How To's and Guides Mega List |  1EndfedSryGUZK9sPrdvxHntYzv2EBexGA
streblo
Full Member
***
Offline Offline

Activity: 165
Merit: 100


View Profile
August 14, 2012, 03:16:42 AM
Last edit: August 14, 2012, 09:46:47 PM by streblo
 #13

That one's a real bug. try this until it works, for now: git checkout HEAD^
EDIT: Working now, cheers!
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
August 14, 2012, 03:35:16 AM
 #14

That one's a real bug. try this until it works, for now: git checkout HEAD^
Same problem
Code:
~/bc/eloipool$ git checkout HEAD^
Previous HEAD position was 5e363be... Merge branch 'sharetarget'
HEAD is now at ac36d06... Merge branch 'sharetarget'
~/bc/eloipool$ ./gmp-proxy.py http://<ADDRESS>:a@mining.eligius.st:8337
WARNING:jsonrpc_getwork:Error importing 'midstate' module; work will not provide midstates
Traceback (most recent call last):
  File "./gmp-proxy.py", line 134, in <module>
    server.serve_forever()
  File "/home/alan/bc/eloipool/networkserver.py", line 267, in serve_forever
    self.final_init()
  File "/home/alan/bc/eloipool/jsonrpcserver.py", line 300, in final_init
    ShareTargetHex = '%064x' % (self.ShareTarget,)
AttributeError: 'JSONRPCServer' object has no attribute 'ShareTarget'
"until it works"

sippsnapp
Sr. Member
****
Offline Offline

Activity: 322
Merit: 250


View Profile
August 31, 2012, 11:33:10 PM
 #15

How do i install the python-bitcoinrpc and python-base58 ?
Thx

Πάντα ῥεῖ
Bitcoin + Altcoin node pool setup - pm
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
September 01, 2012, 01:24:27 AM
 #16

How do i install the python-bitcoinrpc and python-base58 ?
Thx
It's usually sufficient to just get the git checkout linked under your eloipool directory.

sippsnapp
Sr. Member
****
Offline Offline

Activity: 322
Merit: 250


View Profile
September 29, 2012, 05:12:52 AM
 #17

I installed python3.2 from source, what am i doing wrong?

Code:
root@j064:/opt/midstate# make
gcc -march=native -Wall -funroll-all-loops -O3 -fstrict-aliasing -Wall -std=c99 -I/usr/include/python3.2  midstatemodule.c -o test -Wl,-O1 -Wl,--as-needed -lpython3.2
midstatemodule.c:5:20: error: Python.h: Datei oder Verzeichnis nicht gefunden
midstatemodule.c:96: error: expected â=â, â,â, â;â, âasmâ or â__attribute__â before â*â token
midstatemodule.c:138: error: array type has incomplete element type
midstatemodule.c:139: error: âmidstate_helperâ undeclared here (not in a function)
midstatemodule.c:139: error: âMETH_Oâ undeclared here (not in a function)
midstatemodule.c:144: error: variable âmidstatemoduleâ has initializer but incomplete type
midstatemodule.c:145: error: âPyModuleDef_HEAD_INITâ undeclared here (not in a function)
midstatemodule.c:145: warning: excess elements in struct initializer
midstatemodule.c:145: warning: (near initialization for âmidstatemoduleâ)
midstatemodule.c:146: warning: excess elements in struct initializer
midstatemodule.c:146: warning: (near initialization for âmidstatemoduleâ)
midstatemodule.c:147: warning: excess elements in struct initializer
midstatemodule.c:147: warning: (near initialization for âmidstatemoduleâ)
midstatemodule.c:148: warning: excess elements in struct initializer
midstatemodule.c:148: warning: (near initialization for âmidstatemoduleâ)
midstatemodule.c:149: warning: excess elements in struct initializer
midstatemodule.c:149: warning: (near initialization for âmidstatemoduleâ)
midstatemodule.c:150: warning: excess elements in struct initializer
midstatemodule.c:150: warning: (near initialization for âmidstatemoduleâ)
midstatemodule.c:151: warning: excess elements in struct initializer
midstatemodule.c:151: warning: (near initialization for âmidstatemoduleâ)
midstatemodule.c:152: warning: excess elements in struct initializer
midstatemodule.c:152: warning: (near initialization for âmidstatemoduleâ)
midstatemodule.c:154: warning: excess elements in struct initializer
midstatemodule.c:154: warning: (near initialization for âmidstatemoduleâ)
midstatemodule.c:157: error: expected â=â, â,â, â;â, âasmâ or â__attribute__â before âPyInit_midstateâ
make: *** [test] Fehler 1

Πάντα ῥεῖ
Bitcoin + Altcoin node pool setup - pm
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
September 29, 2012, 05:18:58 AM
 #18

Code:
midstatemodule.c:5:20: error: Python.h: Datei oder Verzeichnis nicht gefunden
Looks like it can't find Python.h. It's probably under /usr/local/... ? Maybe edit the Makefile as needed :/

sippsnapp
Sr. Member
****
Offline Offline

Activity: 322
Merit: 250


View Profile
October 01, 2012, 05:23:44 AM
 #19

I already made another thread, however i think its better placed here because its mianly about eloipool.
https://bitcointalk.org/index.php?topic=113730.msg1235209#msg1235209
This is the error i get:
Code:
root@j064:/opt/eloipool# ./eloipool.py
Traceback (most recent call last):
  File "./eloipool.py", line 46, in <module>
    import jsonrpc
ImportError: No module named jsonrpc
root@j064:/opt/eloipool#


Πάντα ῥεῖ
Bitcoin + Altcoin node pool setup - pm
sippsnapp
Sr. Member
****
Offline Offline

Activity: 322
Merit: 250


View Profile
October 02, 2012, 07:58:50 PM
Last edit: October 09, 2012, 07:03:19 PM by sippsnapp
 #20

Got it working, mining right now on it.
I installed it on ubuntu 12.04

EDIT: i decided to remove the guide i wrote as i dont know how secure this way of installing was/is, please excuse.

Πάντα ῥεῖ
Bitcoin + Altcoin node pool setup - pm
tomaszsz
Member
**
Offline Offline

Activity: 76
Merit: 10


View Profile
October 26, 2012, 07:47:24 AM
 #21

is eloipool  resistant to this type of sabotage? 


https://bitcointalk.org/index.php?topic=94392.msg1043633#msg1043633
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
October 26, 2012, 07:53:56 AM
 #22

is eloipool  resistant to this type of sabotage?
No, that problem's inherent in Bitcoin itself.

tomaszsz
Member
**
Offline Offline

Activity: 76
Merit: 10


View Profile
October 26, 2012, 07:56:58 AM
 #23

so any PPS pool is vulnerable not only eloipool  ?
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
October 26, 2012, 08:13:40 AM
 #24

so any PPS pool is vulnerable not only eloipool  ?
It's not really a PPS-only problem. Any pool is vulnerable period.

tomaszsz
Member
**
Offline Offline

Activity: 76
Merit: 10


View Profile
October 26, 2012, 12:00:18 PM
 #25

and what about  Stratum is it ok ? or GBT  is better ? 
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
October 26, 2012, 03:58:57 PM
 #26

and what about  Stratum is it ok ? or GBT  is better ?
Stratum is just ASIC-friendly getwork. GBT solves that problem as well as the more important decentralization concern: https://en.bitcoin.it/wiki/Getblocktemplate

DavinciJ15
Hero Member
*****
Offline Offline

Activity: 780
Merit: 510


Bitcoin - helping to end bankster enslavement.


View Profile WWW
October 26, 2012, 04:09:51 PM
 #27

and what about  Stratum is it ok ? or GBT  is better ? 
So cgminer does not work with this pool back end?
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
October 26, 2012, 04:16:54 PM
 #28

and what about  Stratum is it ok ? or GBT  is better ? 
So cgminer does not work with this pool back end?
cgminer still works with getwork. BFGMiner does everything cgminer does and more (including GBT support)

kano
Legendary
*
Offline Offline

Activity: 4466
Merit: 1798


Linux since 1997 RedHat 4


View Profile
October 27, 2012, 12:03:57 AM
 #29

and what about  Stratum is it ok ? or GBT  is better ? 
So cgminer does not work with this pool back end?
cgminer still works with getwork. BFGMiner does everything cgminer does and more (including GBT support)
BarbieMiner still works with getwork.

Meanwhile ...

Hmm - well a good example of this so called 'more' is the MMQ driver.

Luke-jr wrote it for BarbieMiner and then sent pull requests to cgminer.
The cgminer pull requests didn't work - and he didn't send the pull requests that fixed that.

... however ... there is only one driver in cgminer that falsifies it's hash rate - the MMQ driver - coz the code Luke-jr wrote for BarbieMiner (and cgminer) falsifies it by up to 5% over and still does in both miners.
(I haven't rewritten the mining loop to fix this yet)
So yeah there's a good example of his 'more' for you ...

Though, cgminer fully supports Stratum ... yet BarbieMiner doesn't ... I guess that's called more also?

Hmm, what dictionary do you use to define the word 'everything' ?

Pool: https://kano.is - low 0.5% fee PPLNS 3 Days - Most reliable Solo with ONLY 0.5% fee   Bitcointalk thread: Forum
Discord support invite at https://kano.is/ Majority developer of the ckpool code - k for kano
The ONLY active original developer of cgminer. Original master git: https://github.com/kanoi/cgminer
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
November 19, 2012, 02:54:14 PM
 #30

Just a note that updating Eloipool within the next week or so is critical to surviving the subsidy halving.
Previous code had 50 BTC hard-coded in the "blank" coinbase.

mrb
Legendary
*
Offline Offline

Activity: 1512
Merit: 1027


View Profile WWW
November 20, 2012, 01:43:46 AM
 #31

Just a note that updating Eloipool within the next week or so is critical to surviving the subsidy halving.
Previous code had 50 BTC hard-coded in the "blank" coinbase.

Shhh! Wink I predict at least some pools will have bugs and will continue to pay out as before the halving.
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
November 20, 2012, 02:27:48 AM
 #32

Just a note that updating Eloipool within the next week or so is critical to surviving the subsidy halving.
Previous code had 50 BTC hard-coded in the "blank" coinbase.
Shhh! Wink I predict at least some pools will have bugs and will continue to pay out as before the halving.
Perhaps, but that won't be helped by pools producing invalid blocks Wink

Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
November 20, 2012, 04:47:14 AM
Last edit: November 23, 2012, 11:36:33 PM by Luke-Jr
 #33

Been a while since I first announced Eloipool, so I'm updating the first post with new features Smiley

Most notable is support for dynamic share targetting in various modes (fractional, power-of-two (zero bit count), and bdiff rounded).
Combined with GBT, this is what pools need to support ASICs.
Additionally, Eloipool now supports the (pre-BIP draft) stratum mining protocol.
These new features were sponsored by Inaba/EclipseMC.

Also, a little background on the "loop" branch that's been sitting in the repository for a while:
This branch is designed to increase Eloipool's support of the GBT protocol on the upstream side.
Basically, you can run Eloipool as a "sub-pool" to any other GBT-enabled pool.
As of tonight, it is up to date with the final GBT protocol specifications, and works somewhat with both Eligius and BitMinter upstreams.
The main problems left to address are upstream longpolling support and properly dealing with upstreams when sending out the initial new block notifications (currently these produce and accept invalid work).
If you'd like to try this branch out, create a fresh clone of Eloipool and use git checkout loop[/url] to get the loop branch.
Customize your configuration as follows:
  • CoinbasePrefix must be reasonably long to avoid collisions with upstream coinbase data.
  • WorkQueueSizeLongpoll must be (0, 0) for now.
  • It is a good idea to enable DelayLogForUpstream and use {upstreamResult} in your share log.
  • Set ExpectedUpstreamLatency to a number of seconds of expected delay between your pool server and the upstream server.
I've been developing this on my own spare time. Donations, bounties, or outright hiring me to improve it is welcome.
General "loop"-related donations can be sent to 14VUob11S77JmrnShEKXPWttg8s6FvW12W.

TAiS46
Full Member
***
Offline Offline

Activity: 222
Merit: 100



View Profile WWW
November 29, 2012, 09:59:12 AM
Last edit: November 29, 2012, 11:45:19 AM by TAiS46
 #34

Help with
Code:
# Network ID for the primary blockchain
UpstreamNetworkId = b'\xF9\xBE\xB4\xD9'  # testnet
is that correct?

and another failure
Code:
Traceback (most recent call last):
  File "eloipool.py", line 149, in <module>
    from merklemaker import merkleMaker
  File "/tmp/eloipool/merklemaker.py", line 448
    self._makeOne(self.clearMerkleRoots.put, self.curClearMerkleTree, height=self.currentBlock[1], False)
SyntaxError: non-keyword arg after keyword arg

Edit: Fixed the error, changed some thing in the File.

Next error:
Code:
2012-11-29 12:44:43,877 merkleMaker     WARNING Transaction-longpoll requested 100 seconds ago, and still not ready. Is your server fast enough to keep up with your configured WorkQueueSizeRegular maximum? (doing longpoll merkle roots)
2012-11-29 12:44:43,878 merkleMaker     WARNING Haven't updated the merkle tree in at least 100 seconds! Is your server fast enough to keep up with your configured work queue minimums? (doing longpoll merkle roots)
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
November 29, 2012, 02:22:21 PM
 #35

Yeah, that's what happens when I try to fix a rare edge race condition when I have a fever over 39 C/103 F. Sad

Just ignore that top commit for now and I'll fix it when I get better

TAiS46
Full Member
***
Offline Offline

Activity: 222
Merit: 100



View Profile WWW
November 29, 2012, 02:26:31 PM
 #36

Oh ok just to let you know what I changed:

Code:
        def _makeOne(self, putf, merkleTree, checkBlock, height):
                MT = self.currentMerkleTree
                myblock = self.currentBlock
                MR = self.makeMerkleRoot(MT, height=height)
                if checkBlock:
                        # Only add it if the block hasn't changed in the meantime, to avoid a race
                        if self.currentBlock != myblock:
                                return
                else:
                        # Only add it if the height hasn't changed in the meantime, to avoid a race
                        if self.currentBlock[1] != height:
                                return
                putf(MR)

        def makeClear(self):
                self._doing('clear merkle roots')
                self._makeOne(self.clearMerkleRoots.put, self.curClearMerkleTree, False, height=self.currentBlock[1])

        def makeNext(self):
                self._doing('longpoll merkle roots')
                self._makeOne(self.nextMerkleRoots.put, self.nextMerkleTree, False, height=self.currentBlock[1] + 1)

        def makeRegular(self):
                self._doing('regular merkle roots')
                self._makeOne(self.merkleRoots.append, self.currentMerkleTree, True, height=self.currentBlock[1])

switches the args: height=self.currentBlock[1], False


Are the Transaction-Longpoll warnings also a failure from you?
I search the whole time for the fix Cheesy
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
November 29, 2012, 02:35:37 PM
 #37

Are the Transaction-Longpoll warnings also a failure from you?
I search the whole time for the fix Cheesy
No, that was (if it's what I think you're referring to) a bugfix; it wasn't actually doing what it needed to be doing.

TAiS46
Full Member
***
Offline Offline

Activity: 222
Merit: 100



View Profile WWW
November 29, 2012, 02:38:13 PM
 #38

Ok, keep me updated.
Maybe I will use your software for a bitcoin-24.com pool Wink
get well soon
TAiS46
Full Member
***
Offline Offline

Activity: 222
Merit: 100



View Profile WWW
December 03, 2012, 07:00:28 PM
 #39

no fix and this moment, does not work Sad
dreamwatcher
Legendary
*
Offline Offline

Activity: 1064
Merit: 1000


View Profile WWW
December 06, 2012, 12:55:55 AM
 #40

TAiS46,

I have it running, and with a couple of Alt coins.

You need to completely revert the last commit, That involved taking a section out and putting code back in.

I also disabled some of the more extraneous options in the config file and am running it as a basic GBT pool. The GBT long-polls are right on time, and I haven't see any of my rigs complain yet.

Luke,

I have to admit Luke, I am impressed. After all the crappy and abandoned code that usually involved ancient oddball dependencies I have have spent way to much time on over last few months. Eloipool is a breath of fresh air.

I only lost half my hair going through this code.  Grin

Anyway, Hope you are feeling better and I look forward to further development on Eloipool. I think my next project will be a pool and it looks like it will be based on Eloipool.
TAiS46
Full Member
***
Offline Offline

Activity: 222
Merit: 100



View Profile WWW
December 06, 2012, 11:02:37 AM
 #41

Hey,

I am not the best in git and linux, can you tell me, how to revert the last commit?
I have just clone the git from github, but it is very old I think.
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
December 06, 2012, 12:28:21 PM
 #42

Hey,

I am not the best in git and linux, can you tell me, how to revert the last commit?
I have just clone the git from github, but it is very old I think.
Eloipool is in Gitorious, not GitHub...

To simply pull the top commit off:
Code:
git reset --hard HEAD^

mrb
Legendary
*
Offline Offline

Activity: 1512
Merit: 1027


View Profile WWW
December 08, 2012, 04:36:48 AM
 #43

I have been solo mining against an eloipool instance (revision 475de39) for the last few days, using bfgminer 2.9.3 and 'getwork'. eloipool is configured with a ShareTarget set to 0x0000000000fff... to emulate difficulty 256. I wanted to give this setup a shot before trying the newer Stratum protocol. I thought it would be a robust way to mine, using mature code paths (both at the bfgminer side, and at the eloipool side).

I was wrong.

I solved a block today. I know it because bfgminer currently shows "Best share: 19.5M". However eloipool silently ignored the solved block. There goes 25 BTC...

Furthermore, it is almost impossible to do a post-mortem analysis. I found out that checkShare() in eloipool.py has buggy logging code, so pretty much no useful information has been logged. Indeed, the checkShare.logger object has a default level of 'WARNING', so logfunc() below will never log INFO and DEBUG messages:
Code:
        logfunc = getattr(checkShare.logger, 'info' if blkhashn <= networkTarget else 'debug')
        logfunc('BLKHASH: %64x' % (blkhashn,))
        logfunc(' TARGET: %64x' % (networkTarget,))

Either eloipool silently ignored the block due to an internal bug. Or it crafted an invalid block which was sent to my bitcoind, who in turns ignored it because it was invalid. I am quite disappointed.

In case you care to investigate, Luke, here is my config.py:

Code:

### Settings relating to server identity

# Name of the server
ServerName = 'mrb eloipool'

### Settings relating to server scaling/load

# Share hashes must be below this to be valid shares
# If dynamic targetting is enabled, this is a minimum
ShareTarget = 0x0000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffff

# Automatically adjust targets per username
# 0 = disabled
# 1 = arbitrary targets
# 2 = power of two difficulties (zero bit counts)
DynamicTargetting = 0

# How many shares per minute to try to achieve on average
DynamicTargetGoal = 8

# Number of seconds hashrate is measured over
DynamicTargetWindow = 120

# Minimum and maximum of merkle roots to keep queued
WorkQueueSizeRegular = (0x100, 0x1000)

# Minimum and maximum of BLANK merkle roots to keep queued
# (used if we run out of populated ones)
WorkQueueSizeClear = (0x1000, 0x2000)

# Minimum and maximum of BLANK merkle roots to keep queued, one height up
# (used for longpolls)
WorkQueueSizeLongpoll = (0x1000, 0x2000)

# How long to wait between getmemorypool updates normally
MinimumTxnUpdateWait = 5

# How long to wait between retries if getmemorypool fails
TxnUpdateRetryWait = 1

# How long to sleep in idle loops (temporary!)
IdleSleepTime = 0.1

### Settings relating to reward generation

# Address to generate rewards to
TrackerAddr = '1xxx<obscured-address>'

# Coinbaser command to control reward delegation
# NOTE: This example donates 1% of block rewards to Luke-Jr for Eloipool development
#CoinbaserCmd = 'echo -e "1\\n$((%d / 100))\\n1579aXhdwvKZEMrAKoCZhzGuqMa8EonuXU"'

### Settings relating to upstream data providers

# JSON-RPC server for getmemorypool
UpstreamURI = 'http://<obscured-user>:<obscured-password>@localhost:8332'

# Set to True if you want shares meeting the upstream target to wait for a
# response from the upstream server before logging them. Otherwise, for such
# shares, upstreamResult will always be True and upstreamRejectReason will
# always be None. Note that enabling this may cause shares to be logged out of
# order, or with the wrong timestamp (if your share logger uses the log-time
# rather than share-time).
DelayLogForUpstream = False

# Bitcoin p2p server for announcing blocks found
UpstreamBitcoindNode = ('127.0.0.1', 8333)

# Network ID for the primary blockchain
#UpstreamNetworkId = b'\xFA\xBF\xB5\xDA'  # testnet
UpstreamNetworkId = b'\xF9\xBE\xB4\xD9'  # mainnet

# Secret username allowed to use setworkaux
#SecretUser = ""

# URI to send gotwork with info for every share submission
#GotWorkURI = ''

# Share hashes must be below this to be submitted to gotwork
GotWorkTarget = 0x0000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffff

# Aim to produce blocks with transaction counts that are a power of two
# This helps avoid any chance of someone abusing CVE-2012-2459 with them
# 1 = cut out feeless transactions; 2 = cut out even fee-included transactions (if possible)
POT = 2

# Avoid mining feeless transactions except to satisfy POT
# Note this only works if POT is in fact enabled in the first place
Greedy = False

### Settings relating to network services

# Addresses to listen on for JSON-RPC getwork server
# Note that Eloipool only supports IPv6 sockets, and if you want to bind to an
# IPv4 address you will need to prepend it with ::ffff: eg ::ffff:192.168.1.2
JSONRPCAddresses = (
('', 28332),
)

# Addresses to listen on for Bitcoin node
# Note that Eloipool only supports IPv6 sockets, and if you want to bind to an
# IPv4 address you will need to prepend it with ::ffff: eg ::ffff:192.168.1.2
BitcoinNodeAddresses = (
('', 28333),
)

# Addresses that are allowed to "spoof" from address with the X-Forwarded-For header
TrustedForwarders = ('::ffff:127.0.0.1',)


# Logging of shares:
ShareLogging = (
{
'type': 'logfile',
'filename': 'share-logfile',
'format': "{time} {Q(remoteHost)} {username} {YN(not(rejectReason))} {dash(YN(upstreamResult))} {dash(rejectReason)} {solution}\n",
},
)
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
December 08, 2012, 05:01:42 AM
 #44

I solved a block today. I know it because bfgminer currently shows "Best share: 19.5M". However eloipool silently ignored the solved block. There goes 25 BTC...
I doubt Eloipool was the problem in this case. The "best share" code is much newer, and there have been reports of similar behaviour from altcoin solo mining; unfortunately, I don't know any good way to reproduce it. Did you happen to be running BFGMiner with a debug log by any chance? There might be some useful info in there...

Furthermore, it is almost impossible to do a post-mortem analysis. I found out that checkShare() in eloipool.py has buggy logging code, so pretty much no useful information has been logged. Indeed, the checkShare.logger object has a default level of 'WARNING', so logfunc() below will never log INFO and DEBUG messages:
Eloipool's code only configures loggers for DEBUG or INFO... For post-mortem analysis on the pool side, check out the RBFs variable (only kept in memory!) and bitcoind's debug.log. Of course, that's assuming the share ever got to Eloipool, which I suspect isn't the case since you apparently didn't see the info logging from it.

mrb
Legendary
*
Offline Offline

Activity: 1512
Merit: 1027


View Profile WWW
December 08, 2012, 05:35:40 AM
 #45

I was not running bfgminer with --debuglog.

I restarted eloipool to change some of its config, so it is too late to look at the RBFs variables.

The only trace of data I have on eloipool is the share-logfile. But I need to write some custom code to re-hash the share data there, to find out if the share hash with a 19.5M difficulty is in there. That's what I am doing now...
mrb
Legendary
*
Offline Offline

Activity: 1512
Merit: 1027


View Profile WWW
December 08, 2012, 05:43:19 AM
 #46

By the way, what is the use of GotWorkURI? Shares found from getmemorypool work cannot be submitted via getwork, or can they?
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
December 08, 2012, 05:44:04 AM
 #47

By the way, what is the use of GotWorkURI? Shares found from getmemorypool work cannot be submitted via getwork, or can they?
GotWorkURI is for merged mining. gotwork != getwork

mrb
Legendary
*
Offline Offline

Activity: 1512
Merit: 1027


View Profile WWW
December 08, 2012, 06:12:09 AM
 #48

Well the highest share I found in share-logfile is 2.3M which was the value displayed by bfgminer yesterday. But then again, the code path between the moment receiveShare() is called and when it is logged in share-logfile, is quite complex and it is possible to imagine a bug that would cause the shared to be received, but not logged.

I am surprised about these reports of "Best share" possibly displaying incorrect information. I would think this is a dead simple feature to implement, so why would this be buggy?
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
December 08, 2012, 06:16:47 AM
 #49

Upon further investigation, I am 99% certain we're looking at a BFGMiner bug here. There are two functions which both recalculate the share/block hash and compare it to a target: fulltest (util.c) and regeneratehash (miner.c). It seems that at least on little-endian, these two functions produce opposite endians for each 32-bit chunk of the hash; in cases where the target is presumably not met, the shares are fed through the share_diff function (responsible for updating the best block) with the opposite endian than it expects. This causes your best block to report something erroneous (or at least it seems this is where the error is). What needs to be done now, is to audit the endian handling in these two functions to determine which one is correct and ideally unify the code into a single function. Hopefully I'll get to that within the next week, but if you want to take a stab at it, feel free... Wink

mrb
Legendary
*
Offline Offline

Activity: 1512
Merit: 1027


View Profile WWW
December 08, 2012, 06:19:42 AM
 #50

I am reassured the bug seems to be in bfgminer. I may take a stab at a fix this weekend.
jgarzik
Legendary
*
Offline Offline

Activity: 1596
Merit: 1091


View Profile
December 08, 2012, 06:34:08 AM
 #51

Yeah that sounds like a bug everybody inherited from cpuminer, which definitely had rough edges when it came to any target besides the standard difficulty-1.


Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own.
Visit bloq.com / metronome.io
Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
mrb
Legendary
*
Offline Offline

Activity: 1512
Merit: 1027


View Profile WWW
December 08, 2012, 09:20:00 AM
 #52

I confirm the bug. One of my tests shows:

Hash computed by hashtest2():
0000000039d5e400932fef0b1d7cdec1f2833dec594e30ee03252113f03be9b4

Hash computed by regeneratehash():
0000000000e4d5390bef2f93c1de7c1dec3d83f2ee304e5913212503b4e93bf0

regeneratehash() is the one that does not compute it correctly.

But there is a 2nd endianness bug in share_diff() which cancels the bug in regeneratehash (which is why the "best share" is always updated correctly when a new share is found)! This 2nd endianness bug in share_diff() is what causes TNR_HIGH shares to sometimes spuriously increase the "best share" statistic without a corresponding share submitted to the pool.

I have a patch fixing both endianness bugs. I am currently testing it...
mrb
Legendary
*
Offline Offline

Activity: 1512
Merit: 1027


View Profile WWW
December 08, 2012, 10:43:42 AM
 #53

Pull request sent, see main bfgminer thread: https://bitcointalk.org/index.php?topic=78192.msg1386296#msg1386296
tvasconcelos
Member
**
Offline Offline

Activity: 66
Merit: 10


View Profile
December 12, 2012, 11:22:53 AM
 #54

So what's the latest stable release of eloipool that i can use? I've seen some forks in github too, are they good or is better to stick with the one from Luke in Gitourios?
Is eloi good for litecoins? I'm trying to set a private pool but been having a hard time. Tryed ecoinpool, pushpool and i want to give a shot at eloipool. My limited knowledge in programming is giving me some difficulties in setting up the pool, and so little info on how to set it up also. Ecoinpool has a really nice tutorial on how to setup, but it's been unmaintained for quite some time now, and running in couchdb, written in erlang, it's giving me a hard time to setup. The db grows way too big for my available space. Can't get it to use mysql to use a frontend like simplecoin. How about eloipool, are there any good open source frontend that i can use?

Thanks
tvasconcelos
Member
**
Offline Offline

Activity: 66
Merit: 10


View Profile
December 12, 2012, 02:59:38 PM
 #55

Ok, i'm trying to get eloipool with litecoin, and i'm getting this error:

 python eloipool.py
Traceback (most recent call last):
  File "eloipool.py", line 43, in <module>
    bcnode = BitcoinNode(config.UpstreamNetworkId)
  File "/home/pi/eloipool/bitcoin/node.py", line 132, in __init__
    super().__init__(*a, **ka)
TypeError: super() takes at least 1 argument (0 given)

Can someone give some help on this. My config goes like this:

Code:
### Settings relating to server identity

# Name of the server
ServerName = 'PT LTC Pool'

### Settings relating to server scaling/load

# Share hashes must be below this to be valid shares
# If dynamic targetting is enabled, this is a minimum
ShareTarget = 0x00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff

# Automatically adjust targets per username
# 0 = disabled
# 1 = arbitrary targets
# 2 = power of two difficulties (zero bit counts)
DynamicTargetting = 0

# How many shares per minute to try to achieve on average
DynamicTargetGoal = 8

# Number of seconds hashrate is measured over
DynamicTargetWindow = 120

# Minimum and maximum of merkle roots to keep queued
WorkQueueSizeRegular = (0x100, 0x1000)

# Minimum and maximum of BLANK merkle roots to keep queued
# (used if we run out of populated ones)
WorkQueueSizeClear = (0x1000, 0x2000)

# Minimum and maximum of BLANK merkle roots to keep queued, one height up
# (used for longpolls)
WorkQueueSizeLongpoll = (0x1000, 0x2000)

# How long to wait between getmemorypool updates normally
MinimumTxnUpdateWait = 5

# How long to wait between retries if getmemorypool fails
TxnUpdateRetryWait = 1

# How long to sleep in idle loops (temporary!)
IdleSleepTime = 0.1

### Settings relating to reward generation

# Address to generate rewards to
TrackerAddr = 'LTC Address'  # testnet

# Coinbaser command to control reward delegation
# NOTE: This example donates 1% of block rewards to Luke-Jr for Eloipool develo$
CoinbaserCmd = 'echo -e "1\\n$((%d / 100))\\LTC Address"'

### Settings relating to upstream data providers

# JSON-RPC server for getmemorypool
UpstreamURI = 'http://ltc user:ltc password@localhost:9332'

# Set to True if you want shares meeting the upstream target to wait for a
# response from the upstream server before logging them. Otherwise, for such
# shares, upstreamResult will always be True and upstreamRejectReason will
# always be None. Note that enabling this may cause shares to be logged out of
# order, or with the wrong timestamp (if your share logger uses the log-time
# rather than share-time).
DelayLogForUpstream = False

# Bitcoin p2p server for announcing blocks found
UpstreamBitcoindNode = ('127.0.0.1', 9333)

# Network ID for the primary blockchain
UpstreamNetworkId = b'\xFA\xBF\xB5\xDA'

# Secret username allowed to use setworkaux
#SecretUser = ""

# URI to send gotwork with info for every share submission
#GotWorkURI = ''

# Share hashes must be below this to be submitted to gotwork
GotWorkTarget = 0x00000000fffffffffffffffffffffffffffffffffffffffffffffffffffff$

# Aim to produce blocks with transaction counts that are a power of two
# This helps avoid any chance of someone abusing CVE-2012-2459 with them
# 1 = cut out feeless transactions; 2 = cut out even fee-included transactions $
POT = 2

# Avoid mining feeless transactions except to satisfy POT
# Note this only works if POT is in fact enabled in the first place
Greedy = False

### Settings relating to network services

# Addresses to listen on for JSON-RPC getwork server
# Note that Eloipool only supports IPv6 sockets, and if you want to bind to an
# IPv4 address you will need to prepend it with ::ffff: eg ::ffff:192.168.1.2
JSONRPCAddresses = (
        ('::ffff:poollink.no-ip.org', 9337),
)

# Addresses to listen on for Bitcoin node
# Note that Eloipool only supports IPv6 sockets, and if you want to bind to an
# IPv4 address you will need to prepend it with ::ffff: eg ::ffff:192.168.1.2
BitcoinNodeAddresses = (
        ('::ffff:poollink.no-ip.org', 9338),
)

# Addresses that are allowed to "spoof" from address with the X-Forwarded-For h$
TrustedForwarders = ('::ffff:127.0.0.1',)


# Logging of shares:
ShareLogging = (
        {
                'type': 'logfile',
                'filename': 'share-logfile',
                'format': "{time} {Q(remoteHost)} {username} {YN(not(rejectReas$
        },
        {
                'type': 'sql',
                'engine': 'postgres',
                'dbopts': {
                        'host': 'localhost',
'database': 'pooldb',
                        'user': 'eloipool',
                        'password': 'somethingsecret',
                },
                'statement': "insert into shares (rem_host, username, our_resul$
        },
        {
                'type': 'sql',
                'engine': 'mysql',
                'dbopts': {
                        'host': 'localhost',
                        'db': 'eloidb',
                        'user': 'dbuser',
                        'password': 'dbadmin',
                },
                'statement': "insert into shares (rem_host, username, our_resul$
        },
{
                'type': 'sql',
                'engine': 'sqlite',
                'dbopts': {
                        'database': 'share.db',
                },
                'statement': "insert into shares (remoteHost, username, rejectR$
        },
)


What is wrong here?
tomaszsz
Member
**
Offline Offline

Activity: 76
Merit: 10


View Profile
December 28, 2012, 04:57:05 AM
 #56

hi, i got this errors in log,

Code:
2012-12-27 20:11:24,359 JSONRPCHandler  ERROR   Traceback (most recent call last):
  File "/xxxxxxxxxxxxxxx/jsonrpcserver.py", line 264, in handle_request
    return self.doJSON(data, self.path[:3] == b'/LP')
  File "/xxxxxxxxxxxxxxx/jsonrpcserver.py", line 223, in doJSON
    data = data.decode('utf8')
  File "/usr/lib/python3.1/encodings/utf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 213-215: invalid data


Code:
2012-12-27 21:18:40,371 JSONRPCHandler  ERROR   Error during JSON-RPC call: doJSON_submitblock['02000000579f07f9c10be136a4ab439144d1ad74b2e21e512xxxxxxxxxxxxxxxxxxxxxxxxxxH', {}]
Traceback (most recent call last):
  File "/xxxxxxxxxxxxxxxxxx/jsonrpcserver.py", line 200, in _doJSON_i
    rv = getattr(self, method)(*params)
  File "/xxxxxxxxxxxxxxxxxx/jsonrpc_getblocktemplate.py", line 85, in doJSON_submitblock
    data = bytes.fromhex(data)
ValueError: non-hexadecimal number found in fromhex() arg at position 166


is there any solution  ?
i have last version from December 16 2012,

is it just wrog data from clinet ? or i have just lost 25 BTC ?
is there ANY support or manual  to this pool software ? Tongue ?
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
December 28, 2012, 04:58:40 AM
 #57

Those are wrong data from client.

tomaszsz
Member
**
Offline Offline

Activity: 76
Merit: 10


View Profile
December 28, 2012, 05:01:55 AM
 #58

Those are wrong data from client.
thanks for very fast answer Smiley
is it danger (someone try to mess (steal 25 BTC? fake shares ?) , or DoS pool ? )  ?or just ignore this messages ?

which database should I use ? (mysql is useless... exception, disconnections etc.) which version sql lib should i use ? which do you prefer on Your computer ?
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
December 28, 2012, 05:05:27 AM
 #59

Those are wrong data from client.
thanks for very fast answer Smiley
is it danger (someone try to mess (steal 25 BTC? fake shares ?) , or DoS pool ? )  ?or just ignore this messages ?
Nah, I just ignore them. The error is caught and ignored in Eloipool, but logged just in case the admin cares (like when I'm debugging it or BFGMiner Wink)

whish database should I use ? (mysql is useless... exception, disconnections etc.) whish version sql lib should i use ? which do you prefer on jour computer ?
I use sqlite+flatfile for testing, and Eligius uses Postgres. I think EclipseMC figured out the MySQL mess...

tomaszsz
Member
**
Offline Offline

Activity: 76
Merit: 10


View Profile
December 29, 2012, 04:00:26 AM
 #60

is it possible to use PPS reward shares count to use with  GBT/stratum/dyntarget ? does GBT/stratum/dyntarget/proxy affects shares  count ?
i want to use eloipool with PPS reward method (count shares in database) is it correct  ? or wrong method with eloipool and  GBT/stratum/dyntarget/proxy enabled ?
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
December 29, 2012, 05:59:00 AM
 #61

is it possible to use PPS reward shares count to use with  GBT/stratum/dyntarget ? does GBT/stratum/dyntarget/proxy affects shares  count ?
i want to use eloipool with PPS reward method (count shares in database) is it correct  ? or wrong method with eloipool and  GBT/stratum/dyntarget/proxy enabled ?
Eloipool just handles the miners. It's up to you how you pay them. As long as you log the share target/difficulty, you should be able to calculate the correct PPS value for each share.

tomaszsz
Member
**
Offline Offline

Activity: 76
Merit: 10


View Profile
December 29, 2012, 07:27:36 AM
 #62

but eloipool does not log share  difficult by default ? how to enable  this feature ?

or I have  to swith off dynamic target/difficult (DynamicTargeting =0 ) to get correct PPS calculation ...


or it does not depends from DynamicTargeting  variable, and PPS calculation  (and in fact other method ?) is impossible in eloipool ?
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
December 29, 2012, 10:44:27 AM
 #63

but eloipool does not log share  difficult by default ? how to enable  this feature ?

or I have  to swith off dynamic target/difficult (DynamicTargeting =0 ) to get correct PPS calculation ...


or it does not depends from DynamicTargeting  variable, and PPS calculation  (and in fact other method ?) is impossible in eloipool ?
Eloipool doesn't log anything by default. You have to configure it.
Take your pick (add to share log statement - note the difference between curly braces and normal parenthesis):
  • {target} - Full target as a number (up to 256 bit; you probably don't really want this)
  • {target2pdiff(target)} - Target converted to "pool difficulty" (pdiff 1 = first 32 bits of target are 0, rest is 1; this is what pools used before vardiff)
  • {target2bdiff(target)} - Target converted to truncated "bitcoin difficulty" (bdiff 1 = first 32 bits of target are 0, next 16 are 1, then the rest are 0; this is what bitcoind reports as the difficulty)

tomaszsz
Member
**
Offline Offline

Activity: 76
Merit: 10


View Profile
December 29, 2012, 02:19:15 PM
 #64

i have add  {target2bdiff(target)}  and get this error

Code:

Traceback (most recent call last):
  File "/xxxxxxxxxxxxxxxxxxxxx/jsonrpcserver.py", line 200, in _doJSON_i
    rv = getattr(self, method)(*params)
  File "/xxxxxxxxxxxxxxxxxxxxx/jsonrpc_getwork.py", line 44, in doJSON_getwork
    return self.doJSON_submitwork(data)
  File "/xxxxxxxxxxxxxxxxxxxxx/jsonrpc_getwork.py", line 81, in doJSON_submitwork
    self.server.receiveShare(share)
  File "/xxxxxxxxxxxxxxxxxxxxx/eloipool12.py", line 579, in receiveShare
    logShare(share)
  File "/xxxxxxxxxxxxxxxxxxxxx/eloipool12.py", line 568, in logShare
    i.logShare(share)
  File "/xxxxxxxxxxxxxxxxxxxxx/sharelogging/logfile.py", line 60, in logShare
    logline = self.fmt.formatShare(share)
  File "/xxxxxxxxxxxxxxxxxxxxx/util.py", line 55, in formatShare
    (stmt, params) = self.applyToShare(*a, **ka)
  File "/xxxxxxxxxxxxxxxxxxxxx/util.py", line 62, in applyToShare
    params.append(f(share))
  File "/xxxxxxxxxxxxxxxxxxxxx/util.py", line 115, in <lambda>
    return lambda s: target2bdiff(subfunc(s))
  File "/xxxxxxxxxxxxxxxxxxxxx/util.py", line 44, in target2bdiff
    bdiff = bdiff1target / target
TypeError: unsupported operand type(s) for /: 'int' and 'NoneType'

so it look like  {target2bdiff(target)}  is buggy



but   {target2pdiff(target)}  seems to be ok Smiley
what means when someone have 1 ? and other user None ? as a result    {target2pdiff(target)}  in share log ?
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
December 29, 2012, 02:26:21 PM
 #65

i have add  {target2bdiff(target)}  and get this error

Code:

Traceback (most recent call last):
  File "/xxxxxxxxxxxxxxxxxxxxx/jsonrpcserver.py", line 200, in _doJSON_i
    rv = getattr(self, method)(*params)
  File "/xxxxxxxxxxxxxxxxxxxxx/jsonrpc_getwork.py", line 44, in doJSON_getwork
    return self.doJSON_submitwork(data)
  File "/xxxxxxxxxxxxxxxxxxxxx/jsonrpc_getwork.py", line 81, in doJSON_submitwork
    self.server.receiveShare(share)
  File "/xxxxxxxxxxxxxxxxxxxxx/eloipool12.py", line 579, in receiveShare
    logShare(share)
  File "/xxxxxxxxxxxxxxxxxxxxx/eloipool12.py", line 568, in logShare
    i.logShare(share)
  File "/xxxxxxxxxxxxxxxxxxxxx/sharelogging/logfile.py", line 60, in logShare
    logline = self.fmt.formatShare(share)
  File "/xxxxxxxxxxxxxxxxxxxxx/util.py", line 55, in formatShare
    (stmt, params) = self.applyToShare(*a, **ka)
  File "/xxxxxxxxxxxxxxxxxxxxx/util.py", line 62, in applyToShare
    params.append(f(share))
  File "/xxxxxxxxxxxxxxxxxxxxx/util.py", line 115, in <lambda>
    return lambda s: target2bdiff(subfunc(s))
  File "/xxxxxxxxxxxxxxxxxxxxx/util.py", line 44, in target2bdiff
    bdiff = bdiff1target / target
TypeError: unsupported operand type(s) for /: 'int' and 'NoneType'

so it look like  {target2bdiff(target)}  is buggy



but   {target2pdiff(target)}  seems to be ok Smiley
what means when someone have 1 ? and other user None ? as a result    {target2pdiff(target)}  in share log ?
Some errors/rejects occur before the pool knows the target the share is being submitted at, so those get None.
As you noticed, target2bdiff doesn't like this currently... should be an easy fix.

tomaszsz
Member
**
Offline Offline

Activity: 76
Merit: 10


View Profile
December 29, 2012, 02:45:18 PM
 #66

i see that there is in fact two errors when i use {target2bdiff(target)}

1.  JSONRPCHandler  ERROR   Error during JSON-RPC
and then
2. TypeError: unsupported operand type(s) for /: 'int' and 'NoneType

Code:
>>> 2012-12-29 15:10:46,080     JSONRPCHandler  ERROR   Error during JSON-RPC call: doJSON_getwork['00000002b3adf6e137be13xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Traceback (most recent call last):
  File "/xxxxxxxxxxxxxxxxxx/eloipool12.py", line 573, in receiveShare
    checkShare(share)
  File "/xxxxxxxxxxxxxxxxxx/eloipool12.py", line 392, in checkShare
    checkData(share)
  File "/xxxxxxxxxxxxxxxxxx/eloipool12.py", line 353, in checkData
    raise RejectedShare('bad-prevblk')
util.RejectedShare: bad-prevblk

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/xxxxxxxxxxxxxxxxxx/jsonrpcserver.py", line 200, in _doJSON_i
    rv = getattr(self, method)(*params)
  File "/xxxxxxxxxxxxxxxxxx/jsonrpc_getwork.py", line 44, in doJSON_getwork
    return self.doJSON_submitwork(data)
  File "/xxxxxxxxxxxxxxxxxx/jsonrpc_getwork.py", line 81, in doJSON_submitwork
    self.server.receiveShare(share)
  File "/xxxxxxxxxxxxxxxxxx/eloipool12.py", line 579, in receiveShare
    logShare(share)
  File "/xxxxxxxxxxxxxxxxxx/eloipool12.py", line 568, in logShare
    i.logShare(share)
  File "/xxxxxxxxxxxxxxxxxx/sharelogging/logfile.py", line 60, in logShare
    logline = self.fmt.formatShare(share)
  File "/xxxxxxxxxxxxxxxxxx/util.py", line 55, in formatShare
    (stmt, params) = self.applyToShare(*a, **ka)
  File "/xxxxxxxxxxxxxxxxxx/util.py", line 62, in applyToShare
    params.append(f(share))
  File "/xxxxxxxxxxxxxxxxxx/util.py", line 115, in <lambda>
    return lambda s: target2bdiff(subfunc(s))
  File "/xxxxxxxxxxxxxxxxxx/util.py", line 44, in target2bdiff
    bdiff = bdiff1target / target
TypeError: unsupported operand type(s) for /: 'int' and 'NoneType'


i dont know if it is importent
tomaszsz
Member
**
Offline Offline

Activity: 76
Merit: 10


View Profile
December 30, 2012, 06:19:01 AM
 #67

By the way, what is the use of GotWorkURI? Shares found from getmemorypool work cannot be submitted via getwork, or can they?
GotWorkURI is for merged mining. gotwork != getwork

I think that eloipool need more complex exemple configuration and step by step quick start guide  (in few scenerios ?  ) . Is there any example for merged mining configuration ? Could someone post  some config files ?  I tried to do it, but it is to complicated . just few lines of config from eloipool and bitcoin (altcoin) daemon proxy ?

UpstreamURI ? SecretUser? UpstreamBitCoinNode ?GotWorkURI ? BitCoinNodeAddresses ?

Whish version bitcoind shuld i use ? with merged ? which proxy ?

i have tries many  difrent configuration, and it still does not work....

could someone post example config ? is it possible to get it all together online ?


mich
Legendary
*
Offline Offline

Activity: 3122
Merit: 1032


#1 VIP Crypto Casino


View Profile
January 22, 2013, 01:28:17 PM
 #68

How to setup stratum in eloipool? stratumserver.py is included but can't find any settings of stratum there.
Thanks

.
.BITCASINO.. 
.
#1 VIP CRYPTO CASINO

▄██████████████▄
█▄████████████▄▀▄▄▄
█████████████████▄▄▄
█████▄▄▄▄▄▄██████████████▄
███████████████████████████████
████▀█████████████▄▄██████████
██████▀██████████████████████
████████████████▀██████▌████
███████████████▀▀▄█▄▀▀█████▀
███████████████████▀▀█████▀
 ▀▀▀▀▀▀▀██████████████
          ▀▀▀████████
                ▀▀▀███

.
......PLAY......
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
January 22, 2013, 01:33:06 PM
 #69

How to setup stratum in eloipool? stratumserver.py is included but can't find any settings of stratum there.
Thanks
Just add a StratumAddresses to the config.

RoboCoder
Sr. Member
****
Offline Offline

Activity: 388
Merit: 250


Save A Life, Adopt a Pet Today!


View Profile WWW
January 28, 2013, 07:29:17 PM
 #70

Howdy,

Was wondering if anyone had tried eloipool on a windows server?  Also, which version of the bitcoind is recommended for the best performance.

Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
January 28, 2013, 08:08:12 PM
 #71

Was wondering if anyone had tried eloipool on a windows server?
"Windows" and "server" don't go together. And no, it won't work on Windows. You could possibly port it to use select(), but that's going to run into scaling problems very quickly. Too bad Windows doesn't have any sane socket polling interface - but I guess that's why it isn't a server platform.

Also, which version of the bitcoind is recommended for the best performance.
Eligius and I think some others are running my 0.6.0.eligius branch, based on 0.6.0.x (but does have even better GBT support than mainline).

Parazyd
Hero Member
*****
Offline Offline

Activity: 812
Merit: 587


Space Lord


View Profile WWW
February 09, 2013, 08:19:29 AM
 #72

Could anyone help me with setting up the config.py?
Thanks!
tomaszsz
Member
**
Offline Offline

Activity: 76
Merit: 10


View Profile
February 10, 2013, 07:23:23 AM
Last edit: February 10, 2013, 07:56:56 AM by tomaszsz
 #73

Thanks Luke-Jr Smiley for great  eloipool it is the best  the best software pool I have ever seen      ! and "It's Alive!!!" Smiley


i get this error ... is this normal ? what can cause this error  ?

Quote
2013-02-10 08:11:47,172 JSONRPCServer   INFO    Longpoll woke up xx clients in 0.009 seconds
Unhandled exception in thread started by <bound method merkleMaker._bootstrap of <merkleMaker(Thread-2, stopped daemon 140194112648960)>>
Traceback (most recent call last):
  File "/home/xxxx/merklemaker.py", line 503, in run
  File "/home/xxxx/merklemaker.py", line 493, in merkleMaker_I
  File "/home/xxxx/merklemaker.py", line 471, in merkleMaker_II
  File "/home/xxxx/merklemaker.py", line 277, in updateMerkleTree
  File "/home/xxxx/jsonrpc/authproxy.py", line 95, in __call__
  File "/usr/lib/python3.1/http/client.py", line 932, in request
  File "/usr/lib/python3.1/http/client.py", line 970, in _send_request
  File "/usr/lib/python3.1/http/client.py", line 928, in endheaders
  File "/usr/lib/python3.1/http/client.py", line 782, in _send_output
  File "/usr/lib/python3.1/http/client.py", line 723, in send
  File "/usr/lib/python3.1/http/client.py", line 705, in connect
  File "/usr/lib/python3.1/socket.py", line 292, in create_connection
socket.gaierror: [Errno -5] No address associated with hostname

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.1/threading.py", line 516, in _bootstrap_inner
  File "/home/xxxx/merklemaker.py", line 505, in run
  File "/usr/lib/python3.1/traceback.py", line 269, in format_exc
  File "/usr/lib/python3.1/traceback.py", line 186, in format_exception
  File "/usr/lib/python3.1/traceback.py", line 75, in format_tb
  File "/usr/lib/python3.1/traceback.py", line 100, in extract_tb
  File "/usr/lib/python3.1/linecache.py", line 15, in getline
  File "/usr/lib/python3.1/linecache.py", line 41, in getlines
  File "/usr/lib/python3.1/linecache.py", line 132, in updatecache
IOError: [Errno 24] Too many open files: '/home/xxxx/merklemaker.py'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.1/threading.py", line 489, in _bootstrap
  File "/usr/lib/python3.1/threading.py", line 529, in _bootstrap_inner
  File "/usr/lib/python3.1/traceback.py", line 269, in format_exc
  File "/usr/lib/python3.1/traceback.py", line 186, in format_exception
  File "/usr/lib/python3.1/traceback.py", line 75, in format_tb
  File "/usr/lib/python3.1/traceback.py", line 100, in extract_tb
  File "/usr/lib/python3.1/linecache.py", line 15, in getline
  File "/usr/lib/python3.1/linecache.py", line 41, in getlines
  File "/usr/lib/python3.1/linecache.py", line 132, in updatecache
IOError: [Errno 24] Too many open files: '/home/xxxx/merklemaker.py'


and this when i use sql mysql share login
Quote
During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.1/dist-packages/pymysql/connections.py", line 734, in _connect
socket.gaierror: [Errno -5] No address associated with hostname

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/xxxx/jsonrpcserver.py", line 196, in _doJSON_i
  File "/home/xxxx/jsonrpc_getwork.py", line 44, in doJSON_getwork
  File "/home/xxxx/jsonrpc_getwork.py", line 79, in doJSON_submitwork
  File "/home/xxxx/eloipool9.py", line 461, in receiveShare
  File "/home/xxxx/sharelogging/sql.py", line 90, in logShare
  File "/usr/local/lib/python3.1/dist-packages/pymysql/__init__.py", line 93, in Connect
  File "/usr/local/lib/python3.1/dist-packages/pymysql/connections.py", line 575, in __init__
  File "/usr/local/lib/python3.1/dist-packages/pymysql/connections.py", line 744, in _connect
pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' (-5)")

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/xxxx/jsonrpcserver.py", line 260, in handle_request
  File "/home/xxxx/jsonrpcserver.py", line 243, in doJSON
  File "/home/xxxx/jsonrpcserver.py", line 201, in _doJSON_i
  File "/usr/lib/python3.1/traceback.py", line 269, in format_exc
  File "/usr/lib/python3.1/traceback.py", line 186, in format_exception
  File "/usr/lib/python3.1/traceback.py", line 75, in format_tb
  File "/usr/lib/python3.1/traceback.py", line 100, in extract_tb
  File "/usr/lib/python3.1/linecache.py", line 15, in getline
  File "/usr/lib/python3.1/linecache.py", line 41, in getlines
  File "/usr/lib/python3.1/linecache.py", line 132, in updatecache
IOError: [Errno 24] Too many open files: '/usr/local/lib/python3.1/dist-packages/pymysql/connections.py'

During handling of the above exception, another exception occurred:


is it mean that someone open too much socket connections to server ? flood or something  ?
i get this error in every version eloipool


in last version i get this

Quote
2013-02-10 08:32:47,093 merkleMaker     CRITICAL        Traceback (most recent call last):
  File "/home/xxxx/merklemaker.py", line 675, in run
    self.merkleMaker_I()
  File "/home/xxxx/merklemaker.py", line 665, in merkleMaker_I
    self.merkleMaker_II()
  File "/home/xxxx/merklemaker.py", line 631, in merkleMaker_II
    return self.updateMerkleTree()
  File "/home/xxxx/merklemaker.py", line 536, in updateMerkleTree
    self._updateMerkleTree_I()
  File "/home/xxxx/merklemaker.py", line 522, in _updateMerkleTree_I
    raise RuntimeError('Failed to create usable template')
RuntimeError: Failed to create usable template

in new version i noticed that there  is new section TemplateSource and BlockSubmision , This is great, I think that this configuration is clearer than previous versions

if You can describe configuration in which you run your test it will be very usefull Smiley (eg. bincond ports and bitcoin.conf +  config.py )
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
February 10, 2013, 07:43:35 AM
 #74

Looks like you need to raise your fd limits (check out man ulimit), and double check your UpstreamURI (or TemplateSources in newer configs)

tomaszsz
Member
**
Offline Offline

Activity: 76
Merit: 10


View Profile
February 10, 2013, 01:07:25 PM
Last edit: February 10, 2013, 01:26:05 PM by tomaszsz
 #75

Looks like you need to raise your fd limits (check out man ulimit), and double check your UpstreamURI (or TemplateSources in newer configs)

fd limits is ok (after increase limit and RELOG )

but still get this error

Quote
2013-02-10 14:05:42,145 merkleMaker     CRITICAL        Traceback (most recent call last):
  File "/home/xxxxxx/merklemaker.py", line 675, in run
    self.merkleMaker_I()
  File "/home/xxxxxx/merklemaker.py", line 665, in merkleMaker_I
    self.merkleMaker_II()
  File "/home/xxxxxx/merklemaker.py", line 631, in merkleMaker_II
    return self.updateMerkleTree()
  File "/home/xxxxxx/merklemaker.py", line 536, in updateMerkleTree
    self._updateMerkleTree_I()
  File "/home/xxxxxx/merklemaker.py", line 522, in _updateMerkleTree_I
    raise RuntimeError('Failed to create usable template')
RuntimeError: Failed to create usable template

2013-02-10 14:05:42,145 merkleMaker     CRITICAL        Traceback (most recent call last):
  File "/home/xxxxxx/merklemaker.py", line 675, in run
    self.merkleMaker_I()
  File "/home/xxxxxx/merklemaker.py", line 665, in merkleMaker_I
    self.merkleMaker_II()
  File "/home/xxxxxx/merklemaker.py", line 631, in merkleMaker_II
    return self.updateMerkleTree()
  File "/home/xxxxxx/merklemaker.py", line 536, in updateMerkleTree
    self._updateMerkleTree_I()
  File "/home/xxxxxx/merklemaker.py", line 522, in _updateMerkleTree_I
    raise RuntimeError('Failed to create usable template')
RuntimeError: Failed to create usable template

2013-02-10 14:05:42,162 merkleMaker     CRITICAL        Traceback (most recent call last):
  File "/home/xxxxxx/merklemaker.py", line 675, in run
    self.merkleMaker_I()
  File "/home/xxxxxx/merklemaker.py", line 665, in merkleMaker_I
    self.merkleMaker_II()
  File "/home/xxxxxx/merklemaker.py", line 631, in merkleMaker_II
    return self.updateMerkleTree()
  File "/home/xxxxxx/merklemaker.py", line 536, in updateMerkleTree
    self._updateMerkleTree_I()
  File "/home/xxxxxx/merklemaker.py", line 522, in _updateMerkleTree_I
    raise RuntimeError('Failed to create usable template')
RuntimeError: Failed to create usable template


last version from git + login and pass copied from previous config  ?

it is first error message afret program start (no other before -such as "cant connect" etc )
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
February 10, 2013, 04:49:30 PM
 #76

Please pastebin your config file (minus passwords)

tomaszsz
Member
**
Offline Offline

Activity: 76
Merit: 10


View Profile
February 10, 2013, 08:18:53 PM
Last edit: February 10, 2013, 08:35:47 PM by tomaszsz
 #77

Please pastebin your config file (minus passwords)


eloipool config.py

http://pastebin.com/XYyVuH99


bitcoind 1  (ver 0.7.2) - template

http://pastebin.com/7CWZ3Xit


bitcoind 2 (ver 3.2.4 )  - submit block

http://pastebin.com/ub3qAeLN


is it importent which bitcoind has --nolisten parametr ?  both will be ok ? (all is on one computer )




Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
February 11, 2013, 12:46:30 AM
 #78

TrackerAddr and CoinbaserCmd are invalid. That's all that stands out..

jgarzik
Legendary
*
Offline Offline

Activity: 1596
Merit: 1091


View Profile
February 11, 2013, 04:15:27 AM
 #79

FWIW, eloipool helped the Avalon ASIC miner solo-mine its first block:
http://blockexplorer.com/block/00000000000001528a3fa72b86032459e1fb6ab38720e19a26e3a1f4a64e461a

Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own.
Visit bloq.com / metronome.io
Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
tomaszsz
Member
**
Offline Offline

Activity: 76
Merit: 10


View Profile
February 11, 2013, 07:12:08 AM
 #80

I will help in the development of eloipool, but I do not know python very well (and certainly not as good as Luke) , for now  I can help in testing

is it ok that stratum server reports different  difficult than client? i have send You PM with detailed description of this issue.
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
February 11, 2013, 07:14:19 AM
 #81

I will help in the development of eloipool, but I do not know python very well (and certainly not as good as Luke) , for now  I can help in testing

is it ok that stratum server reports different  difficult than client? i have send You PM with detailed description of this issue.
Some clients display truncated bdiff (what bitcoin uses) instead of pdiff (what mining pools traditionally use). Pdiff 1 is about 0.9999 bdiff (and similar for higher difficulties), so truncating as bdiff will show 1 less than the actual difficulty.

BFGMiner uses truncated pdiff, so it will show these correctly.

Parazyd
Hero Member
*****
Offline Offline

Activity: 812
Merit: 587


Space Lord


View Profile WWW
February 11, 2013, 09:54:29 AM
 #82

Is the TrackerAddr a valid Bitcoin address.
Do 25 BTC of a solved block go on that address?
arruah
Legendary
*
Offline Offline

Activity: 1357
Merit: 1004



View Profile WWW
February 13, 2013, 02:55:59 PM
 #83

Hi!
I have error when I trying start eloipool.py
root@feinman:~/eloipool# ./eloipool.py

>>> 2013-02-13 20:45:02,965   restoreState   INFO   Restoring saved state from 'eloipool.worklog' (24 bytes)
2013-02-13 20:45:02,982   restoreState   DEBUG   Skipping restore of expired workLog
2013-02-13 20:45:02,982   restoreState   INFO   State restored successfully
2013-02-13 20:45:02,982   restoreState   INFO   Total downtime: 8774.59 seconds
2013-02-13 20:45:20,433   merkleMaker   WARNING   clearMerkleRoots running out! only 0 left
2013-02-13 20:46:33,057   merkleMaker   CRITICAL   Traceback (most recent call last):
  File "/root/eloipool/merklemaker.py", line 501, in run
    self.merkleMaker_I()
  File "/root/eloipool/merklemaker.py", line 491, in merkleMaker_I
    self.merkleMaker_II()
  File "/root/eloipool/merklemaker.py", line 457, in merkleMaker_II
    return self.updateMerkleTree()
  File "/root/eloipool/merklemaker.py", line 274, in updateMerkleTree
    MP = self.access.getblocktemplate(self.GBTReq)
  File "/usr/local/lib/python3.1/dist-packages/jsonrpc/authproxy.py", line 96, in __call__
    httpresp = self.__conn.getresponse()
  File "/usr/lib/python3.1/http/client.py", line 1017, in getresponse
    response.begin()
  File "/usr/lib/python3.1/http/client.py", line 348, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python3.1/http/client.py", line 304, in _read_status
    line = str(self.fp.readline(), )
  File "/usr/lib/python3.1/socket.py", line 214, in readinto
    return self._sock.recv_into(b)
socket.timeout: timed out

My config
http://pastebin.com/CtEEiSdj

BCH
smracer
Donator
Legendary
*
Offline Offline

Activity: 1055
Merit: 1020



View Profile
February 21, 2013, 05:41:50 AM
 #84

Ok, i'm trying to get eloipool with litecoin, and i'm getting this error:

 python eloipool.py
Traceback (most recent call last):
  File "eloipool.py", line 43, in <module>
    bcnode = BitcoinNode(config.UpstreamNetworkId)
  File "/home/pi/eloipool/bitcoin/node.py", line 132, in __init__
    super().__init__(*a, **ka)
TypeError: super() takes at least 1 argument (0 given)

Can someone give some help on this. My config goes like this:

Code:
### Settings relating to server identity

# Name of the server
ServerName = 'PT LTC Pool'

### Settings relating to server scaling/load

# Share hashes must be below this to be valid shares
# If dynamic targetting is enabled, this is a minimum
ShareTarget = 0x00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff

# Automatically adjust targets per username
# 0 = disabled
# 1 = arbitrary targets
# 2 = power of two difficulties (zero bit counts)
DynamicTargetting = 0

# How many shares per minute to try to achieve on average
DynamicTargetGoal = 8

# Number of seconds hashrate is measured over
DynamicTargetWindow = 120

# Minimum and maximum of merkle roots to keep queued
WorkQueueSizeRegular = (0x100, 0x1000)

# Minimum and maximum of BLANK merkle roots to keep queued
# (used if we run out of populated ones)
WorkQueueSizeClear = (0x1000, 0x2000)

# Minimum and maximum of BLANK merkle roots to keep queued, one height up
# (used for longpolls)
WorkQueueSizeLongpoll = (0x1000, 0x2000)

# How long to wait between getmemorypool updates normally
MinimumTxnUpdateWait = 5

# How long to wait between retries if getmemorypool fails
TxnUpdateRetryWait = 1

# How long to sleep in idle loops (temporary!)
IdleSleepTime = 0.1

### Settings relating to reward generation

# Address to generate rewards to
TrackerAddr = 'LTC Address'  # testnet

# Coinbaser command to control reward delegation
# NOTE: This example donates 1% of block rewards to Luke-Jr for Eloipool develo$
CoinbaserCmd = 'echo -e "1\\n$((%d / 100))\\LTC Address"'

### Settings relating to upstream data providers

# JSON-RPC server for getmemorypool
UpstreamURI = 'http://ltc user:ltc password@localhost:9332'

# Set to True if you want shares meeting the upstream target to wait for a
# response from the upstream server before logging them. Otherwise, for such
# shares, upstreamResult will always be True and upstreamRejectReason will
# always be None. Note that enabling this may cause shares to be logged out of
# order, or with the wrong timestamp (if your share logger uses the log-time
# rather than share-time).
DelayLogForUpstream = False

# Bitcoin p2p server for announcing blocks found
UpstreamBitcoindNode = ('127.0.0.1', 9333)

# Network ID for the primary blockchain
UpstreamNetworkId = b'\xFA\xBF\xB5\xDA'

# Secret username allowed to use setworkaux
#SecretUser = ""

# URI to send gotwork with info for every share submission
#GotWorkURI = ''

# Share hashes must be below this to be submitted to gotwork
GotWorkTarget = 0x00000000fffffffffffffffffffffffffffffffffffffffffffffffffffff$

# Aim to produce blocks with transaction counts that are a power of two
# This helps avoid any chance of someone abusing CVE-2012-2459 with them
# 1 = cut out feeless transactions; 2 = cut out even fee-included transactions $
POT = 2

# Avoid mining feeless transactions except to satisfy POT
# Note this only works if POT is in fact enabled in the first place
Greedy = False

### Settings relating to network services

# Addresses to listen on for JSON-RPC getwork server
# Note that Eloipool only supports IPv6 sockets, and if you want to bind to an
# IPv4 address you will need to prepend it with ::ffff: eg ::ffff:192.168.1.2
JSONRPCAddresses = (
        ('::ffff:poollink.no-ip.org', 9337),
)

# Addresses to listen on for Bitcoin node
# Note that Eloipool only supports IPv6 sockets, and if you want to bind to an
# IPv4 address you will need to prepend it with ::ffff: eg ::ffff:192.168.1.2
BitcoinNodeAddresses = (
        ('::ffff:poollink.no-ip.org', 9338),
)

# Addresses that are allowed to "spoof" from address with the X-Forwarded-For h$
TrustedForwarders = ('::ffff:127.0.0.1',)


# Logging of shares:
ShareLogging = (
        {
                'type': 'logfile',
                'filename': 'share-logfile',
                'format': "{time} {Q(remoteHost)} {username} {YN(not(rejectReas$
        },
        {
                'type': 'sql',
                'engine': 'postgres',
                'dbopts': {
                        'host': 'localhost',
'database': 'pooldb',
                        'user': 'eloipool',
                        'password': 'somethingsecret',
                },
                'statement': "insert into shares (rem_host, username, our_resul$
        },
        {
                'type': 'sql',
                'engine': 'mysql',
                'dbopts': {
                        'host': 'localhost',
                        'db': 'eloidb',
                        'user': 'dbuser',
                        'password': 'dbadmin',
                },
                'statement': "insert into shares (rem_host, username, our_resul$
        },
{
                'type': 'sql',
                'engine': 'sqlite',
                'dbopts': {
                        'database': 'share.db',
                },
                'statement': "insert into shares (remoteHost, username, rejectR$
        },
)


What is wrong here?


How did you fix this?  I am getting the same error.  Thanks.
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
February 21, 2013, 07:49:12 AM
 #85

Ok, i'm trying to get eloipool with litecoin, and i'm getting this error:

 python eloipool.py
Traceback (most recent call last):
  File "eloipool.py", line 43, in <module>
    bcnode = BitcoinNode(config.UpstreamNetworkId)
  File "/home/pi/eloipool/bitcoin/node.py", line 132, in __init__
    super().__init__(*a, **ka)
TypeError: super() takes at least 1 argument (0 given)
How did you fix this?  I am getting the same error.  Thanks.
Eloipool doesn't support scamcoins like Litecoin.

If you're still getting the error anyway, it looks like it's probably from some ancient version of Python.
As the README clearly states, you need Python 3. To be more specific, I test under 3.1.

Parazyd
Hero Member
*****
Offline Offline

Activity: 812
Merit: 587


Space Lord


View Profile WWW
February 21, 2013, 02:36:02 PM
 #86

Hey Luke-Jr. Trying to setup eloipool. Can you help me with my config.py?
When I start ./eloipool.py I get the error that the jsonrpc module isn't found.

Code:
    ### Settings relating to server identity
    
    # Name of the server
    ServerName = 'Private Eloipool'
    
    ### Settings relating to server scaling/load
    
    # Share hashes must be below this to be valid shares
    # If dynamic targetting is enabled, this is a minimum
    ShareTarget = 0x00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff
    
    # Automatically adjust targets per username
    # 0 = disabled
    # 1 = arbitrary targets
    # 2 = power of two difficulties (zero bit counts)
    DynamicTargetting = 0
    
    # How many shares per minute to try to achieve on average
    DynamicTargetGoal = 8
    
    # Number of seconds hashrate is measured over
    DynamicTargetWindow = 120
    
    # Minimum and maximum of merkle roots to keep queued
    WorkQueueSizeRegular = (0x100, 0x1000)
    
    # Minimum and maximum of BLANK merkle roots to keep queued
    # (used if we run out of populated ones)
    WorkQueueSizeClear = (0x1000, 0x2000)
    
    # Minimum and maximum of BLANK merkle roots to keep queued, one height up
    # (used for longpolls)
    WorkQueueSizeLongpoll = (0x1000, 0x2000)
    
    # How long to wait between getmemorypool updates normally
    MinimumTxnUpdateWait = 5
    
    # How long to wait between retries if getmemorypool fails
    TxnUpdateRetryWait = 1
    
    # How long to sleep in idle loops (temporary!)
    IdleSleepTime = 0.1
    
    ### Settings relating to reward generation
    
    # Address to generate rewards to
    TrackerAddr = 'MyAddress in an outside wallet on my home pc, not localhost'
    
    # Coinbaser command to control reward delegation
    # NOTE: This example donates 1% of block rewards to Luke-Jr for Eloipool development
    CoinbaserCmd = 'echo -e "1\\n$((%d / 100))\\n1579aXhdwvKZEMrAKoCZhzGuqMa8EonuXU"'
    
    ### Settings relating to upstream data providers
    
    # JSON-RPC servers to get block templates from
    # See https://en.bitcoin.it/wiki/BIP_0023#Logical_Services for key details
    TemplateSources = (
            {
                    'name': 'primary',
                    'uri': 'http://bitcoinrpc:PasswordInBitcoin.conf@localhost:8332',
                    'priority': 0,
                    'weight': 1,
            },
            {
                    'name': 'secondary',
                    'uri': 'http://bitcoinrpc:PasswordInbitcoin.conf@localhost:8332',
                    'priority': 1,
                    'weight': 1,
            },
    )
    
    # JSON-RPC servers to check block proposals with
    # If none provided, and selected source supports proposals, it alone will also
    # be used for checking
    #TemplateChecks = (
    #       {
    #               'name': 'primary',
    #               'uri': 'http://user:pass@localhost:8332',
    #              
    #               # If 'unanimous' is true, no template will be used if this node
    #               # rejects it
    #               'unanimous': False,
    #              
    #               # If check servers disagree on all templates, they will be scored and
    #               # the highest score will be used; 'weight' can be used to control the
    #               # scoring per-server
    #               'weight': 1.1,
    #       },
    #       {
    #               'name': 'secondary',
    #               'uri': 'http://user:pass@localhost:18332',
    #               'unanimous': False,
    #               'weight': 1,
    #       },
    #)
    #
    # JSON-RPC servers to submit found blocks to (when they meet the full target)
    # The specific TemplateSource that the block was based on will always be sent
    # the block first.
    # If setting is not specified, or None, full TemplateSources list will be used.
    # If an empty list, no extra submissions will be attempted.
    # If an empty list, and the block was found on a "clear" merkle root (not based
    # on any TemplateSource), the full TemplateSources list will be used.
    #BlockSubmissions = (
    #       {
    #               'name': 'primary',
    #               'uri': 'http://user:pass@localhost:8332',
    #       },
    #       {
    #               'name': 'secondary',
    #               'uri': 'http://user:pass@localhost:18332',
    #       }
    #)
    #
    # Templates will not be used unless they have an acceptance ratio above this
    # Range: 0.00 - 1.00
    MinimumTemplateAcceptanceRatio = 0
    
    # No template with a combined total score below this will be used
    MinimumTemplateScore = 1
    
    # Set to True if you want shares meeting the upstream target to wait for a
    # response from an upstream server before logging them. Otherwise, for such
    # shares, upstreamResult will always be True and upstreamRejectReason will
    # always be None. Note that enabling this may cause shares to be logged out of
    # order, or with the wrong timestamp (if your share logger uses the log-time
    # rather than share-time).
    DelayLogForUpstream = False
    
    # Bitcoin p2p server for announcing blocks found
    UpstreamBitcoindNode = ('127.0.0.1', 8333)  # testnet
    
    # 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'\xF9\xBE\xB4\xD9'  # testnet
    
    # Secret username allowed to use setworkaux
    #SecretUser = ""
    
    # URI to send gotwork with info for every share submission
    #GotWorkURI = ''
    
    # Share hashes must be below this to be submitted to gotwork
    GotWorkTarget = 0x00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff
    
    # Aim to produce blocks with transaction counts that are a power of two
    # This helps avoid any chance of someone abusing CVE-2012-2459 with them
    # 1 = cut out feeless transactions; 2 = cut out even fee-included transactions (if possible)
    POT = 2
    
    # Avoid mining feeless transactions except to satisfy POT
    # Note this only works if POT is in fact enabled in the first place
    Greedy = False
    
    ### Settings relating to network services
    # Note that Eloipool only supports IPv6 sockets, and if you want to bind to an
    # IPv4 address you will need to prepend it with ::ffff: eg ::ffff:192.168.1.2
    
    # Addresses to listen on for JSON-RPC GBT/getwork server
    JSONRPCAddresses = (
            ('::ffff:MyServerIP', 1337),
    )
    
    # Addresses to listen on for Stratum mining server
    StratumAddresses = (
            ('', 3334),
    )
    
    # Addresses to listen on for Bitcoin node
    # Note this will only be used to distribute blocks the pool finds, nothing else
    BitcoinNodeAddresses = (
            ('', 8333),
    )
    
    # Addresses that are allowed to "spoof" from address with the X-Forwarded-For header
    TrustedForwarders = ('::ffff:127.0.0.1',)
    
    
    # Logging of shares:
    #ShareLogging = (
    #       {
    #               'type': 'logfile',
    #               'filename': 'share-logfile',
    #               'format': "{time} {Q(remoteHost)} {username} {YN(not(rejectReason))} {dash(YN(upstreamResult))} {dash(rejectReason)} {solution}\n",
    #       },
    #       {
    #               'type': 'sql',
    #               'engine': 'postgres',
    #               'dbopts': {
    #                       'host': 'localhost',
    #                       'database': 'pooldb',
    #                       'user': 'eloipool',
    #                       'password': 'somethingsecret',
    #               },
    #               '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'))",
    #       },
    #       {
    #               'type': 'sql',
    #               'engine': 'mysql',
    #               'dbopts': {
    #                       'host': 'localhost',
    #                       'db': 'pooldb',
    #                       'user': 'eloipool',
    #                       'password': 'somethingsecret',
    #               },
    #               '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}))",
    #       },
    #       {
    #               'type': 'sql',
    #               'engine': 'sqlite',
    #               'dbopts': {
    #                       'database': 'share.db',
    #               },
    #               'statement': "insert into shares (remoteHost, username, rejectReason, upstreamResult, solution) values ({remoteHost}, {username}, {rejectReason}, {upstreamResult}, {solution})",
    #       },
    #)
    
    ### Settings related to poolserver logging
    
    # By default, significant events will be printed to the interactive console
    # You can customize your logging using either simple parameters, or Python's advanced logging framework
    # Note that using Python's logging framework will override the default console logging!
    
    # To simply log everything to the system log (syslog) as well:
    # LogToSysLog = True
    
    # To make a log file:
    # LogFile = 'filename.log'
    
    # For a rotating log file:
    LogFile = {
            'filename': 'eloipoollog.log',
            'when': 'midnight',
            'backupCount': 7,
    }
    # For details, see:
    # http://docs.python.org/3/library/logging.handlers.html#logging.handlers.TimedRotatingFileHandler
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
February 21, 2013, 05:25:10 PM
 #87

When I start ./eloipool.py I get the error that the jsonrpc module isn't found.
That means the bitcoinrpc module isn't installed correctly.

tomaszsz
Member
**
Offline Offline

Activity: 76
Merit: 10


View Profile
February 22, 2013, 07:32:34 PM
 #88

this error still appears , just after starting the program,

Code:
>>> Traceback (most recent call last):
  File "./eloipool.py", line 909, in <module>
    MM.start()
  File "/home/xxxxxxxx/merklemaker.py", line 685, in start
    self._prepare()
  File "/home/xxxxxxxx7/merklemaker.py", line 117, in _prepare
    URINamePair(TS, 'TemplateSources[%u]' % (i,))
  File "/home/xxxxxxxx/merklemaker.py", line 104, in URINamePair
    a['name'] = URI2Name.get(a['uri'], defname)
TypeError: string indices must be integers


 and  the program stops

i send config.py to PM  (pastebin )

is it a problem with configuration ? i use the same settings in the  previous version .
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
February 22, 2013, 07:43:37 PM
 #89

this error still appears , just after starting the program,

Code:
>>> Traceback (most recent call last):
  File "./eloipool.py", line 909, in <module>
    MM.start()
  File "/home/xxxxxxxx/merklemaker.py", line 685, in start
    self._prepare()
  File "/home/xxxxxxxx7/merklemaker.py", line 117, in _prepare
    URINamePair(TS, 'TemplateSources[%u]' % (i,))
  File "/home/xxxxxxxx/merklemaker.py", line 104, in URINamePair
    a['name'] = URI2Name.get(a['uri'], defname)
TypeError: string indices must be integers


 and  the program stops

i send config.py to PM  (pastebin )

is it a problem with configuration ? i use the same settings in the  previous version .
Check that all your option lists (especially TemplateSources, TemplateChecks, and BlockSubmissions) have commas after every element (including the last!).

tomaszsz
Member
**
Offline Offline

Activity: 76
Merit: 10


View Profile
February 22, 2013, 09:57:15 PM
 #90

that is true, a have add commas, and now
i get this error

Quote
>>> 2013-02-22 22:53:35,380     merkleMaker     INFO    New block: 00000000000004509071260531df744090422d372d706cee907b2b5f2be8b8ff (height: 222598; bits: 1a04985c)
2013-02-22 22:53:35,382 JSONRPCServer   INFO    Waiting 14.1 seconds to longpoll
2013-02-22 22:53:35,450 merkleMaker     CRITICAL        Traceback (most recent call last):
  File "/home/xxx/merklemaker.py", line 680, in run
    self.merkleMaker_I()
  File "/home/xxx/merklemaker.py", line 670, in merkleMaker_I
    self.merkleMaker_II()
  File "/home/xxx/merklemaker.py", line 636, in merkleMaker_II
    return self._updateMerkleTree()
  File "/home/xxx/merklemaker.py", line 536, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/home/xxx/merklemaker.py", line 506, in _updateMerkleTree_I
    r = self._updateMerkleTree_fromTS(TS)
  File "/home/xxx/merklemaker.py", line 481, in _updateMerkleTree_fromTS
    (AcceptedScore, TotalScore) = self._CheckTemplate(newMerkleTree, TS)
  File "/home/xxx/merklemaker.py", line 430, in _CheckTemplate
    propose = caccess.getblocktemplate(ProposeReq)
  File "/home/xxx/jsonrpc/authproxy.py", line 106, in __call__
    raise JSONRPCException(resp['error'])
jsonrpc.authproxy.JSONRPCException
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
February 22, 2013, 10:05:33 PM
 #91

that is true, a have add commas, and now
i get this error

Quote
>>> 2013-02-22 22:53:35,380     merkleMaker     INFO    New block: 00000000000004509071260531df744090422d372d706cee907b2b5f2be8b8ff (height: 222598; bits: 1a04985c)
2013-02-22 22:53:35,382 JSONRPCServer   INFO    Waiting 14.1 seconds to longpoll
2013-02-22 22:53:35,450 merkleMaker     CRITICAL        Traceback (most recent call last):
  File "/home/xxx/merklemaker.py", line 680, in run
    self.merkleMaker_I()
  File "/home/xxx/merklemaker.py", line 670, in merkleMaker_I
    self.merkleMaker_II()
  File "/home/xxx/merklemaker.py", line 636, in merkleMaker_II
    return self._updateMerkleTree()
  File "/home/xxx/merklemaker.py", line 536, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/home/xxx/merklemaker.py", line 506, in _updateMerkleTree_I
    r = self._updateMerkleTree_fromTS(TS)
  File "/home/xxx/merklemaker.py", line 481, in _updateMerkleTree_fromTS
    (AcceptedScore, TotalScore) = self._CheckTemplate(newMerkleTree, TS)
  File "/home/xxx/merklemaker.py", line 430, in _CheckTemplate
    propose = caccess.getblocktemplate(ProposeReq)
  File "/home/xxx/jsonrpc/authproxy.py", line 106, in __call__
    raise JSONRPCException(resp['error'])
jsonrpc.authproxy.JSONRPCException
Probably your bitcoind is missing BIP 23 Proposal support.
There is a pull request for bitcoind here. It's also included in the 0.6.0.eligius and 0.8.0.eligius miner releases of bitcoind.
Alternatively, it should be safe to use Eloipool without any TemplateChecks. This is only used to guard against unknown bugs in block creation.

tomaszsz
Member
**
Offline Offline

Activity: 76
Merit: 10


View Profile
February 23, 2013, 04:07:57 PM
Last edit: February 23, 2013, 04:23:56 PM by tomaszsz
 #92

everything look ok  now ( after comment TemplateChecks or  use  0.8.0.eligius  bitcoind branch )  but sometimes this message appears


Quote
2013-02-23 14:04:49,958 merkleMaker     INFO    New block: 00000000000002323fa1359645f9c26ec005792f9d463faa55931f32cde12020 (height: 222693; bits: 1a04985c)
2013-02-23 14:04:50,111 JSONRPCServer   INFO    Longpoll woke up 6 clients in 0.042 seconds
2013-02-23 14:04:50,126 merkleMaker     CRITICAL        Traceback (most recent call last):
  File "/home/xxxxxx/merklemaker.py", line 680, in run
    self.merkleMaker_I()
  File "/home/xxxxx/merklemaker.py", line 670, in merkleMaker_I
    self.merkleMaker_II()
  File "/home/xxxxx/merklemaker.py", line 648, in merkleMaker_II
    return self._updateMerkleTree()
  File "/home/xxxxx/merklemaker.py", line 536, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/home/xxxxx/merklemaker.py", line 506, in _updateMerkleTree_I
    r = self._updateMerkleTree_fromTS(TS)
  File "/home/xxx/merklemaker.py", line 485, in _updateMerkleTree_fromTS
    AcceptRatio = AcceptedScore / TotalScore
ZeroDivisionError: int division or modulo by zero

?

Quote
2013-02-23 16:14:17,978 JSONRPCHandler  ERROR   Error during JSON-RPC call (UA=b'cgminer 2.10.2', IP=::ffff:xx.xx.41.73): doJSON_submitblock['02000000d6b2ca723dd01ffffffff025d5988ac00000000', {}]
Traceback (most recent call last):
  File "/home/xxxx/jsonrpcserver.py", line 200, in _doJSON_i
    rv = getattr(self, method)(*params)
  File "/home/xxxxx/jsonrpc_getblocktemplate.py", line 91, in doJSON_submitblock
    data = bytes.fromhex(data)
ValueError: non-hexadecimal number found in fromhex() arg at position 166

i think it is bug in cgminer 2.10.2 ?

Quote
2013-02-23 16:29:37,753 JSONRPCServer   INFO    Longpoll woke up 2 clients in 0.272 seconds
2013-02-23 16:30:45,122 merkleMaker     ERROR   Upstream 'primary' rejected proposed block from 'primary': stale-prevblk
2013-02-23 16:30:45,132 merkleMaker     CRITICAL        Traceback (most recent call last):
  File "/home/xxxx/merklemaker.py", line 680, in run
    self.merkleMaker_I()
  File "/home/xxxxx/merklemaker.py", line 670, in merkleMaker_I
    self.merkleMaker_II()
  File "/home/xxxxx/merklemaker.py", line 648, in merkleMaker_II
    return self._updateMerkleTree()
  File "/home/xxxxxx/merklemaker.py", line 536, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/home/xxxx/merklemaker.py", line 522, in _updateMerkleTree_I
    raise RuntimeError('Failed to create usable template')
RuntimeError: Failed to create usable template
?



and in stratum
Quote
2013-02-23 14:33:47,374 merkleMaker     WARNING Transaction-longpoll requested 22 seconds ago, and still not ready. Is your server fast enough to keep up with your configured WorkQueueSizeRegular maximum? (doing longpoll merkle roots)
2013-02-23 14:33:47,374 merkleMaker     WARNING Haven't updated the merkle tree in at least 22 seconds! Is your server fast enough to keep up with your configured work queue minimums? (doing longpoll merkle roots)
2013-02-23 14:33:49,320 JSONRPCServer   INFO    Nobody to longpoll
2013-02-23 14:34:26,101 StratumServer   ERROR   Traceback (most recent call last):
  File "/home/yyyyyyy/networkserver.py", line 413, in serve_forever
    o.handle_read()
  File "/home/yyyyy/networkserver.py", line 59, in handle_read
    self.handle_readbuf()
  File "/homeyyyyy/networkserver.py", line 111, in handle_readbuf
    self.found_terminator()
  File "/home/yyyyyy/stratumserver.py", line 60, in found_terminator
    inbuf = b"".join(self.incoming).decode('ascii')
UnicodeDecodeError: 'ascii' codec can't decode byte 0xb9 in position 32: ordinal not in range(128)


Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
February 23, 2013, 07:14:32 PM
 #93

Quote
2013-02-23 14:04:49,958 merkleMaker     INFO    New block: 00000000000002323fa1359645f9c26ec005792f9d463faa55931f32cde12020 (height: 222693; bits: 1a04985c)
2013-02-23 14:04:50,111 JSONRPCServer   INFO    Longpoll woke up 6 clients in 0.042 seconds
2013-02-23 14:04:50,126 merkleMaker     CRITICAL        Traceback (most recent call last):
  File "/home/xxxxxx/merklemaker.py", line 680, in run
    self.merkleMaker_I()
  File "/home/xxxxx/merklemaker.py", line 670, in merkleMaker_I
    self.merkleMaker_II()
  File "/home/xxxxx/merklemaker.py", line 648, in merkleMaker_II
    return self._updateMerkleTree()
  File "/home/xxxxx/merklemaker.py", line 536, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/home/xxxxx/merklemaker.py", line 506, in _updateMerkleTree_I
    r = self._updateMerkleTree_fromTS(TS)
  File "/home/xxx/merklemaker.py", line 485, in _updateMerkleTree_fromTS
    AcceptRatio = AcceptedScore / TotalScore
ZeroDivisionError: int division or modulo by zero
Fixed in git.

Quote
2013-02-23 16:14:17,978 JSONRPCHandler  ERROR   Error during JSON-RPC call (UA=b'cgminer 2.10.2', IP=::ffff:xx.xx.41.73): doJSON_submitblock['02000000d6b2ca723dd01ffffffff025d5988ac00000000', {}]
Traceback (most recent call last):
  File "/home/xxxx/jsonrpcserver.py", line 200, in _doJSON_i
    rv = getattr(self, method)(*params)
  File "/home/xxxxx/jsonrpc_getblocktemplate.py", line 91, in doJSON_submitblock
    data = bytes.fromhex(data)
ValueError: non-hexadecimal number found in fromhex() arg at position 166

i think it is bug in cgminer 2.10.2 ?
Yep.

Quote
2013-02-23 16:29:37,753 JSONRPCServer   INFO    Longpoll woke up 2 clients in 0.272 seconds
2013-02-23 16:30:45,122 merkleMaker     ERROR   Upstream 'primary' rejected proposed block from 'primary': stale-prevblk
2013-02-23 16:30:45,132 merkleMaker     CRITICAL        Traceback (most recent call last):
  File "/home/xxxx/merklemaker.py", line 680, in run
    self.merkleMaker_I()
  File "/home/xxxxx/merklemaker.py", line 670, in merkleMaker_I
    self.merkleMaker_II()
  File "/home/xxxxx/merklemaker.py", line 648, in merkleMaker_II
    return self._updateMerkleTree()
  File "/home/xxxxxx/merklemaker.py", line 536, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/home/xxxx/merklemaker.py", line 522, in _updateMerkleTree_I
    raise RuntimeError('Failed to create usable template')
RuntimeError: Failed to create usable template
Happens sometimes. bitcoind has found a new block, so is reporting our proposal stale. I'm assuming it's followed very quickly with a new block notification?

Quote
2013-02-23 14:33:47,374 merkleMaker     WARNING Transaction-longpoll requested 22 seconds ago, and still not ready. Is your server fast enough to keep up with your configured WorkQueueSizeRegular maximum? (doing longpoll merkle roots)
2013-02-23 14:33:47,374 merkleMaker     WARNING Haven't updated the merkle tree in at least 22 seconds! Is your server fast enough to keep up with your configured work queue minimums? (doing longpoll merkle roots)
2013-02-23 14:33:49,320 JSONRPCServer   INFO    Nobody to longpoll
2013-02-23 14:34:26,101 StratumServer   ERROR   Traceback (most recent call last):
  File "/home/yyyyyyy/networkserver.py", line 413, in serve_forever
    o.handle_read()
  File "/home/yyyyy/networkserver.py", line 59, in handle_read
    self.handle_readbuf()
  File "/homeyyyyy/networkserver.py", line 111, in handle_readbuf
    self.found_terminator()
  File "/home/yyyyyy/stratumserver.py", line 60, in found_terminator
    inbuf = b"".join(self.incoming).decode('ascii')
UnicodeDecodeError: 'ascii' codec can't decode byte 0xb9 in position 32: ordinal not in range(128)
Sounds like bad data sent to the server.

tomaszsz
Member
**
Offline Offline

Activity: 76
Merit: 10


View Profile
February 23, 2013, 08:48:32 PM
 #94

Quote
2013-02-23 16:29:37,753 JSONRPCServer   INFO    Longpoll woke up 2 clients in 0.272 seconds
2013-02-23 16:30:45,122 merkleMaker     ERROR   Upstream 'primary' rejected proposed block from 'primary': stale-prevblk
2013-02-23 16:30:45,132 merkleMaker     CRITICAL        Traceback (most recent call last):
  File "/home/xxxx/merklemaker.py", line 680, in run
    self.merkleMaker_I()
  File "/home/xxxxx/merklemaker.py", line 670, in merkleMaker_I
    self.merkleMaker_II()
  File "/home/xxxxx/merklemaker.py", line 648, in merkleMaker_II
    return self._updateMerkleTree()
  File "/home/xxxxxx/merklemaker.py", line 536, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/home/xxxx/merklemaker.py", line 522, in _updateMerkleTree_I
    raise RuntimeError('Failed to create usable template')
RuntimeError: Failed to create usable template
Happens sometimes. bitcoind has found a new block, so is reporting our proposal stale. I'm assuming it's followed very quickly with a new block notification?


i don't think that is after new block notyfication  about minute after  new block ?

and usualy new block is annouced without this message , just normal like this:


Quote
2013-02-23 20:14:03,307 JSONRPCServer   INFO    Longpoll woke up 8 clients in 0.030 seconds
2013-02-23 20:22:16,810 merkleMaker     INFO    New block: 00000000000000112079f0792 (height: 222748; bits: 1a04985c)
2013-02-23 20:22:16,956 JSONRPCServer   INFO    Longpoll woke up 8 clients in 0.081 seconds
2013-02-23 20:22:17,951 JSONRPCServer   INFO    Waiting 4 seconds to longpoll
2013-02-23 20:22:21,972 JSONRPCServer   INFO    Longpoll woke up 7 clients in 0.010 seconds
2013-02-23 20:27:41,546 merkleMaker     INFO    New block: 00000000000001d403f01 (height: 222749; bits: 1a04985c)
2013-02-23 20:27:41,769 JSONRPCServer   INFO    Longpoll woke up 8 clients in 0.089 seconds
2013-02-23 20:27:44,384 JSONRPCServer   INFO    Waiting 2.39 seconds to longpoll
2013-02-23 20:27:58,363 JSONRPCServer   INFO    Longpoll woke up 7 clients in 0.062 seconds
smracer
Donator
Legendary
*
Offline Offline

Activity: 1055
Merit: 1020



View Profile
February 27, 2013, 04:27:33 AM
 #95

2013-02-26 22:19:38,420 jsonrpc_getwork WARNING Error importing 'midstate' module; work will not provide midstates

2013-02-26 22:19:38,440 sharelogging    ERROR   Error setting up share logger sql: (<class 'ImportError'>, ImportError('No module named psycopg2',), <traceback object at 0x1c2ab48>)
>>> 2013-02-26 22:19:38,441     sharelogging    ERROR   Error setting up share logger sql: (<class 'ImportError'>, ImportError('No module named pymysql',), <traceback object at 0x1c2ac20>)
2013-02-26 22:19:38,473 merkleMaker     INFO    New block: 0000000000000015f4b9cf9b1c9e8b1e95460cdf6397ab2cf2e8a67d7228b655 (height: 223339; bits: 1a04985c)
2013-02-26 22:19:38,476 JSONRPCServer   INFO    Waiting 15 seconds to longpoll
2013-02-26 22:19:39,441 JSONRPCServer   INFO    Ignoring longpoll attempt while another is waiting
2013-02-26 22:19:53,465 JSONRPCServer   INFO    Nobody to longpoll
2013-02-26 22:21:40,147 merkleMaker     INFO    New block: 000000000000039c13a0e83af734cf6c0c5accc06b83ed0cb6c77ff9bd38e0f4 (height: 223340; bits: 1a04985c)
2013-02-26 22:21:40,150 JSONRPCServer   INFO    Nobody to longpoll
2013-02-26 22:21:40,708 JSONRPCServer   INFO    Nobody to longpoll


What am I doing wrong? 
tomaszsz
Member
**
Offline Offline

Activity: 76
Merit: 10


View Profile
March 03, 2013, 06:04:10 PM
 #96

probably you dont have midstate module (compile this from source file midstate.so needed )
and no sql libs pymysql etc (install python modules)
dreamwatcher
Legendary
*
Offline Offline

Activity: 1064
Merit: 1000


View Profile WWW
March 03, 2013, 07:43:24 PM
 #97

2013-02-26 22:19:38,420 jsonrpc_getwork WARNING Error importing 'midstate' module; work will not provide midstates

2013-02-26 22:19:38,440 sharelogging    ERROR   Error setting up share logger sql: (<class 'ImportError'>, ImportError('No module named psycopg2',), <traceback object at 0x1c2ab48>)
>>> 2013-02-26 22:19:38,441     sharelogging    ERROR   Error setting up share logger sql: (<class 'ImportError'>, ImportError('No module named pymysql',), <traceback object at 0x1c2ac20>)
2013-02-26 22:19:38,473 merkleMaker     INFO    New block: 0000000000000015f4b9cf9b1c9e8b1e95460cdf6397ab2cf2e8a67d7228b655 (height: 223339; bits: 1a04985c)
2013-02-26 22:19:38,476 JSONRPCServer   INFO    Waiting 15 seconds to longpoll
2013-02-26 22:19:39,441 JSONRPCServer   INFO    Ignoring longpoll attempt while another is waiting
2013-02-26 22:19:53,465 JSONRPCServer   INFO    Nobody to longpoll
2013-02-26 22:21:40,147 merkleMaker     INFO    New block: 000000000000039c13a0e83af734cf6c0c5accc06b83ed0cb6c77ff9bd38e0f4 (height: 223340; bits: 1a04985c)
2013-02-26 22:21:40,150 JSONRPCServer   INFO    Nobody to longpoll
2013-02-26 22:21:40,708 JSONRPCServer   INFO    Nobody to longpoll


What am I doing wrong? 

You need to install the python3 psycopg2 module.

sudo apt-get install python3-psycopg2

or

sudo aptitude install python3-psycopg2

ocminer
Legendary
*
Offline Offline

Activity: 2660
Merit: 1240



View Profile WWW
March 10, 2013, 11:27:57 AM
 #98

As this is the - interesting - open source backend.. Is there also an open source frontend based on this pool software and php / mysql ?

suprnova pools - reliable mining pools - #suprnova on freenet
https://www.suprnova.cc - FOLLOW us @ Twitter ! twitter.com/SuprnovaPools
Inaba
Legendary
*
Offline Offline

Activity: 1260
Merit: 1000



View Profile WWW
March 10, 2013, 04:48:38 PM
 #99

Nope

If you're searching these lines for a point, you've probably missed it.  There was never anything there in the first place.
ocminer
Legendary
*
Offline Offline

Activity: 2660
Merit: 1240



View Profile WWW
March 10, 2013, 06:11:12 PM
 #100

lend me yours ;-)

ok i'll put something up when i got time...

suprnova pools - reliable mining pools - #suprnova on freenet
https://www.suprnova.cc - FOLLOW us @ Twitter ! twitter.com/SuprnovaPools
tomaszsz
Member
**
Offline Offline

Activity: 76
Merit: 10


View Profile
March 10, 2013, 09:36:11 PM
 #101

some small exception

Quote
2013-03-10 22:33:10,264 JSONRPCHandler  ERROR   Error during JSON-RPC call (UA=b'cgminer 2.10.5', IP=::ffff:82.160.xxx.xxx): doJSON_submitblock['020000000xxxxxxxxxxxxxxxxxx', {}]
Traceback (most recent call last):
  File "/home/xxx/jsonrpcserver.py", line 200, in _doJSON_i
    rv = getattr(self, method)(*params)
  File "/home/xxx/jsonrpc_getblocktemplate.py", line 99, in doJSON_submitblock
    self.server.receiveShare(share)
  File "/home/xxx/eloipool18.py", line 646, in receiveShare
    checkShare(share)
  File "/home/xxx/eloipool18.py", line 476, in checkShare
    othertxndata = cbtxn.disassemble(retExtra=True)
  File "/home/xxx/bitcoin/txn.py", line 52, in disassemble
    self.version = unpack('<L', self.data[:4])[0]
AttributeError: 'Txn' object has no attribute 'data'

eloipool works perfect but sometimes above message appears in log file
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
March 10, 2013, 10:20:47 PM
 #102

some small exception

Quote
2013-03-10 22:33:10,264 JSONRPCHandler  ERROR   Error during JSON-RPC call (UA=b'cgminer 2.10.5', IP=::ffff:82.160.xxx.xxx): doJSON_submitblock['020000000xxxxxxxxxxxxxxxxxx', {}]
Traceback (most recent call last):
  File "/home/xxx/jsonrpcserver.py", line 200, in _doJSON_i
    rv = getattr(self, method)(*params)
  File "/home/xxx/jsonrpc_getblocktemplate.py", line 99, in doJSON_submitblock
    self.server.receiveShare(share)
  File "/home/xxx/eloipool18.py", line 646, in receiveShare
    checkShare(share)
  File "/home/xxx/eloipool18.py", line 476, in checkShare
    othertxndata = cbtxn.disassemble(retExtra=True)
  File "/home/xxx/bitcoin/txn.py", line 52, in disassemble
    self.version = unpack('<L', self.data[:4])[0]
AttributeError: 'Txn' object has no attribute 'data'

eloipool works perfect but sometimes above message appears in log file
cgminer bug.

kano
Legendary
*
Offline Offline

Activity: 4466
Merit: 1798


Linux since 1997 RedHat 4


View Profile
March 10, 2013, 10:30:38 PM
 #103

some small exception

Quote
2013-03-10 22:33:10,264 JSONRPCHandler  ERROR   Error during JSON-RPC call (UA=b'cgminer 2.10.5', IP=::ffff:82.160.xxx.xxx): doJSON_submitblock['020000000xxxxxxxxxxxxxxxxxx', {}]
Traceback (most recent call last):
  File "/home/xxx/jsonrpcserver.py", line 200, in _doJSON_i
    rv = getattr(self, method)(*params)
  File "/home/xxx/jsonrpc_getblocktemplate.py", line 99, in doJSON_submitblock
    self.server.receiveShare(share)
  File "/home/xxx/eloipool18.py", line 646, in receiveShare
    checkShare(share)
  File "/home/xxx/eloipool18.py", line 476, in checkShare
    othertxndata = cbtxn.disassemble(retExtra=True)
  File "/home/xxx/bitcoin/txn.py", line 52, in disassemble
    self.version = unpack('<L', self.data[:4])[0]
AttributeError: 'Txn' object has no attribute 'data'

eloipool works perfect but sometimes above message appears in log file
Use the latest cgminer 2.11.2

Pool: https://kano.is - low 0.5% fee PPLNS 3 Days - Most reliable Solo with ONLY 0.5% fee   Bitcointalk thread: Forum
Discord support invite at https://kano.is/ Majority developer of the ckpool code - k for kano
The ONLY active original developer of cgminer. Original master git: https://github.com/kanoi/cgminer
Danilo
Newbie
*
Offline Offline

Activity: 30
Merit: 0


View Profile
March 11, 2013, 02:10:24 PM
 #104

I have the following problem:

Eloipool works. When I work through the 8999 JSONRPC address everything is working properly
and is recorded into a MySQL database and file as well (share-logfile).

Only when I go through the stratum on port 3333 miner is working and counting shares
but nothing is recorded, not even in the database or the share-logfile.

Is there something special to be adjusted???

Thanks in advance!
tomaszsz
Member
**
Offline Offline

Activity: 76
Merit: 10


View Profile
March 12, 2013, 11:59:08 AM
 #105

any upgrade of eloipool needed  ? because of stratum and custom bitcoind branch (0.8.0.eligius  )  and "bug"   ?   

Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
March 12, 2013, 12:14:30 PM
 #106

bitcoind 0.8.0.eligius shares the bug with normal 0.8.0.

Eloipool should work fine with 0.6/0.7.

DBordello
Sr. Member
****
Offline Offline

Activity: 349
Merit: 250


BTCPak.com - Exchange your Bitcoins for MP!


View Profile WWW
March 20, 2013, 01:52:17 AM
 #107

If TrackerAddr is not defined, will the bitcoind provide a generation address?  Ideally I'd like to provide a new address for each block.

www.BTCPak.com - Exchange your bitcoins for MP: Secure, Anonymous and Easy!
Parazyd
Hero Member
*****
Offline Offline

Activity: 812
Merit: 587


Space Lord


View Profile WWW
March 20, 2013, 04:59:37 AM
 #108

No, you have to set an address.
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
March 26, 2013, 03:00:48 AM
 #109

Eloipool is only for python 3.x but the config module it requires is only for python 2.x...
I think you're confused.. the only config "module" is the config file you have to write yourself (possibly based on the included example).

tomaszsz
Member
**
Offline Offline

Activity: 76
Merit: 10


View Profile
March 30, 2013, 07:13:40 PM
 #110

what can  trigger this error ?

Code:
2013-03-29 19:49:56,743 StratumHandler  DEBUG   Traceback (most recent call last):
  File "xxxxxxxxxxxxxxxxxxxxxxxxstratumserver.py", line 91, in found_terminator
    rv = getattr(self, funcname)(*rpc['params'])
TypeError: _stratum_mining_subscribe() takes exactly 1 positional argument (2 given)

2013-03-29 19:49:56,805 StratumHandler  DEBUG   Traceback (most recent call last):
  File "xxxxxxxxxxxxxxxxxxxxxstratumserver.py", line 91, in found_terminator
    rv = getattr(self, funcname)(*rpc['params'])

is this version bitcoind 0.8.1 eligious branch is ok from 

git clone  git://gitorious.org/~Luke-Jr/bitcoin/luke-jr-bitcoin.git ?

 

Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
March 30, 2013, 07:43:22 PM
 #111

what can  trigger this error ?

Code:
2013-03-29 19:49:56,743 StratumHandler  DEBUG   Traceback (most recent call last):
  File "xxxxxxxxxxxxxxxxxxxxxxxxstratumserver.py", line 91, in found_terminator
    rv = getattr(self, funcname)(*rpc['params'])
TypeError: _stratum_mining_subscribe() takes exactly 1 positional argument (2 given)

2013-03-29 19:49:56,805 StratumHandler  DEBUG   Traceback (most recent call last):
  File "xxxxxxxxxxxxxxxxxxxxxstratumserver.py", line 91, in found_terminator
    rv = getattr(self, funcname)(*rpc['params'])

is this version bitcoind 0.8.1 eligious branch is ok from 

git clone  git://gitorious.org/~Luke-Jr/bitcoin/luke-jr-bitcoin.git ?
Ignore it for now.

tomaszsz
Member
**
Offline Offline

Activity: 76
Merit: 10


View Profile
March 31, 2013, 08:22:04 AM
Last edit: April 02, 2013, 05:43:17 AM by tomaszsz
 #112

everything works fine but in logs , this error appears :

Code:
2013-03-31 10:11:20,543 StratumHandler  DEBUG   Traceback (most recent call last):
  File "/xxxx/eloipool.py", line 646, in receiveShare
    checkShare(share)
  File "/xxxx/eloipool.py", line 490, in checkShare
    MWL = workLog[None]
KeyError: None

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/xxxx/stratumserver.py", line 91, in found_terminator
    rv = getattr(self, funcname)(*rpc['params'])
  File "/xxxx/stratumserver.py", line 184, in _stratum_mining_submit
    self.server.receiveShare(share)
  File "/xxxx/eloipool.py", line 655, in receiveShare
    logShare(share)
  File "/xxxx/eloipool.py", line 639, in logShare
    share['solution'] = b2a_hex(swap32(share['data'])).decode('utf8')
KeyError: 'data'

2013-03-31 10:11:20,543 StratumHandler  DEBUG   Traceback (most recent call last):
  File "/xxxx/eloipool.py", line 646, in receiveShare
    checkShare(share)
  File "/xxxx/eloipool.py", line 490, in checkShare
    MWL = workLog[None]
KeyError: None


and this


Code:
2013-03-31 05:16:04,681 redflag CRITICAL        issuing duplicate work
2013-03-31 05:16:04,682 JSONRPCHandler  ERROR   Error during JSON-RPC call (UA=None, IP=::ffff:83.......): doJSON_getwork[]
Traceback (most recent call last):
  File "/xxx/jsonrpcserver.py", line 200, in _doJSON_i
    rv = getattr(self, method)(*params)
  File "/xxx/jsonrpc_getwork.py", line 54, in doJSON_getwork
    raise self.server.RaiseRedFlags(RuntimeError('issuing duplicate work'))
RuntimeError: issuing duplicate work

2013-03-31 05:16:04,695 redflag CRITICAL        issuing duplicate work
2013-03-31 05:16:04,721 JSONRPCHandler  ERROR   Error during JSON-RPC call (UA=b'phoenix/v1.7.5', IP=::ffff:188........): doJSON_getwork[]
Traceback (most recent call last):
  File "/xxx/jsonrpcserver.py", line 200, in _doJSON_i
    rv = getattr(self, method)(*params)
  File "/xxx/jsonrpc_getwork.py", line 54, in doJSON_getwork
    raise self.server.RaiseRedFlags(RuntimeError('issuing duplicate work'))
RuntimeError: issuing duplicate work

2013-03-31 05:16:04,725 redflag CRITICAL        issuing duplicate work
2013-03-31 05:16:04,725 JSONRPCHandler  ERROR   Error during JSON-RPC call (UA=b'bfgminer 2.5.0', IP=::ffff:212.........): doJSON_getwork[]
Traceback (most recent call last):
  File "/xxx/jsonrpcserver.py", line 200, in _doJSON_i
    rv = getattr(self, method)(*params)
  File "/xxx/jsonrpc_getwork.py", line 54, in doJSON_getwork
    raise self.server.RaiseRedFlags(RuntimeError('issuing duplicate work'))
RuntimeError: issuing duplicate work


it is because of bugs in clinet software ?
bitcoindaddy
Hero Member
*****
Offline Offline

Activity: 481
Merit: 500


View Profile
March 31, 2013, 02:38:57 PM
 #113

I'm getting a few errors, Luke, can you point me in the right direction?


2013-03-31 14:26:19,779 jsonrpc_getwork WARNING Error importing 'midstate' module; work will not provide midstates

>>> 2013-03-31 14:26:19,788     sharelogging    ERROR   Error setting up share logger sql: (<class 'ImportError'>, ImportError('No module named psycopg2',), <traceback object at 0x15beab8>)
2013-03-31 14:26:19,789 sharelogging    ERROR   Error setting up share logger sql: (<class 'ImportError'>, ImportError('No module named pymysql',), <traceback object at 0x15beab8>)
2013-03-31 14:26:19,865 merkleMaker     INFO    New block: 0000000000000255c9ca83e5caaff3c67ba0e90106b09f1c84a4cca10efa9ab0 (height: 228928; bits: 1a02816e)
2013-03-31 14:26:19,867 JSONRPCServer   INFO    Waiting 14.9 seconds to longpoll
2013-03-31 14:26:20,779 JSONRPCServer   INFO    Ignoring longpoll attempt while another is waiting
2013-03-31 14:26:34,813 JSONRPCServer   INFO    Nobody to longpoll
2013-03-31 14:31:10,740 newBlockNotification    INFO    Received new block notification
2013-03-31 14:31:37,100 StratumHandler  DEBUG   Traceback (most recent call last):
  File "/home/eloipool/Downloads/eloipool/stratumserver.py", line 91, in found_terminator
    rv = getattr(self, funcname)(*rpc['params'])
TypeError: _stratum_mining_subscribe() takes exactly 1 positional argument (2 given)

Exception in thread Thread-5:
Traceback (most recent call last):
  File "/home/eloipool/Downloads/eloipool/sharelogging/sql.py", line 61, in _thread
    self._doInsert(o)
  File "/home/eloipool/Downloads/eloipool/sharelogging/sql.py", line 50, in _doInsert
    dbc.execute(stmt, params)
sqlite3.OperationalError: no such table: shares

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.2/threading.py", line 740, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.2/threading.py", line 693, in run
    self._target(*self._args, **self._kwargs)
  File "/home/eloipool/Downloads/eloipool/sharelogging/sql.py", line 63, in _thread
    _logger.critical(traceback.format_exc())
NameError: global name 'traceback' is not defined
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
March 31, 2013, 03:22:11 PM
 #114

2013-03-31 14:26:19,779 jsonrpc_getwork WARNING Error importing 'midstate' module; work will not provide midstates
This is only a problem for DiabloMiner, since it still needs the long-deprecated midstate key.

>>> 2013-03-31 14:26:19,788     sharelogging    ERROR   Error setting up share logger sql: (<class 'ImportError'>, ImportError('No module named psycopg2',), <traceback object at 0x15beab8>)
PostgreSQL share logging requires the psycopg2 module.

TypeError: _stratum_mining_subscribe() takes exactly 1 positional argument (2 given)
Eloipool master does not (yet) support stratum resuming. You can ignore this.

bitcoindaddy
Hero Member
*****
Offline Offline

Activity: 481
Merit: 500


View Profile
March 31, 2013, 03:24:59 PM
 #115

2013-03-31 14:26:19,779 jsonrpc_getwork WARNING Error importing 'midstate' module; work will not provide midstates
This is only a problem for DiabloMiner, since it still needs the long-deprecated midstate key.

>>> 2013-03-31 14:26:19,788     sharelogging    ERROR   Error setting up share logger sql: (<class 'ImportError'>, ImportError('No module named psycopg2',), <traceback object at 0x15beab8>)
PostgreSQL share logging requires the psycopg2 module.

TypeError: _stratum_mining_subscribe() takes exactly 1 positional argument (2 given)
Eloipool master does not (yet) support stratum resuming. You can ignore this.

Thanks!
zero-asic
Member
**
Offline Offline

Activity: 79
Merit: 10


View Profile
April 01, 2013, 06:34:24 PM
 #116

I have one quick question about config.py.

Does TrackerAddr have to be set to a wallet address in bitcoind or can I set it to any address to receive the rewards?

I'd hate to lose rewards.

Eloipool + bitcoind Ubuntu 12.04 install scripts: https://bitcointalk.org/index.php?topic=171782.0
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
April 01, 2013, 07:15:01 PM
 #117

I have one quick question about config.py.

Does TrackerAddr have to be set to a wallet address in bitcoind or can I set it to any address to receive the rewards?

I'd hate to lose rewards.
Any version 0 address (ie, no P2SH yet).

Aseras
Hero Member
*****
Offline Offline

Activity: 658
Merit: 500


View Profile
April 04, 2013, 05:32:37 PM
 #118

Thanks Luke, Got my first solo block on the avalons

Quote
2013-04-03 12:47:18,968   checkShare   INFO   BLKHASH:              1aad1acfb70c8687b84c11149e6956ec259f4285ba767b113c4
2013-04-03 12:47:18,969   checkShare   INFO    TARGET:              2816e0000000000000000000000000000000000000000000000
2013-04-03 12:47:18,969   checkShare   INFO   Submitting upstream
2013-04-03 12:47:18,978   checkShare   INFO   Real block payload: 02000000e27b70c6dd7809a4534d88fdf2c5a4562d36240d71ac3d355302000000000000
2013-04-03 12:47:19,154   Waker for BitcoinNode   DEBUG   Read wakeup
2013-04-03 12:47:19,155   BitcoinNode   INFO   Sent `block' to 1 nodes
2013-04-03 12:47:19,155   merkleMaker   INFO   New block: 00000000000001aad1acfb70c8687b84c11149e6956ec259f4285ba767b113c4 (height: 229535; bits: 1a02816e)
2013-04-03 12:47:19,157   JSONRPCServer   INFO   Nobody to longpoll
2013-04-03 12:47:19,400   blockSubmission   DEBUG   Upstream 'primary' accepted block
2013-04-03 12:47:19,428   newBlockNotification   INFO   Received new block notification
dreamwatcher
Legendary
*
Offline Offline

Activity: 1064
Merit: 1000


View Profile WWW
April 07, 2013, 07:45:00 PM
Last edit: April 07, 2013, 08:55:05 PM by dreamwatcher
 #119

Any quick answer answer on how to suppress the error :

Code:
TypeError: _stratum_mining_subscribe() takes exactly 1 positional argument (

I have tried in a number of places in stratumserver.py to use a :

Code:
if (e.StratumErrMsg.find ('TypeError: _stratum_mining_subscribe() takes exactly 1 positional argument ')):
            pass

Type of code to suppress the error from being reported.

Either it does not work or I accidentally end up suppressing a needed RPC result.

Where is it safe to suppress this particular error from showing on screen?



Figured it out:

In stratumserver.py:
Line 108-109
Code:
if not hasattr(e, 'StratumQuiet'):
self.logger.debug(fexc)

Change/add:
Code:
if not hasattr(e, 'StratumQuiet'):
if fexc.find('takes exactly 1 positional argument') == -1:
self.logger.debug(fexc)

Not the prettiest solution, but for some reason I was having a problem with making the first 'if" statement as a compound statement that would work correctly.

I do not see the need to present this on git, as it is a fix for a non-fatal temporary annoyance type issue. Though I will put in a request if Luke asks, or he is free to change and add as he sees fit.





voidale
Newbie
*
Offline Offline

Activity: 17
Merit: 0


View Profile
April 10, 2013, 03:20:26 AM
Last edit: April 10, 2013, 10:46:00 AM by voidale
 #120

I can finally post, Don't have to spam Luke via PM's! And this might be useful for everyone else as well. I was wondering will Eloipool.py will use all CPU cores, Or I have to use something to make sure it does? Looking to balance the load for it. And any tips on how balancing the load on the ports and some optimizing tips?


edit: How can I see Mh/s stats? And what should I use as a miner username the bitcoin address? I'm using random name and it generate shares with no issues is this fine or I must use bitcoin address as a username in my miner?
AxelMi
Newbie
*
Offline Offline

Activity: 43
Merit: 0


View Profile
April 19, 2013, 03:29:01 PM
 #121

Sometimes i have in the Sharelog :
Code:
1366382986.688058 ::ffff:192.168.178.11 Tester N - high-hash 00000002455625af0d541dbc1b0a5b178522ec1c2f4529d768622586000000dd00000000318ba5ab5df7fcc99e6c55904d245306e74095e39a678cfa0eab1618ec30cfd15171593d1a01de948933c68e

It is defined in the Stratumprotocol , but what does it mean ?

Thanks.
raubaut
Newbie
*
Offline Offline

Activity: 20
Merit: 0


View Profile
April 25, 2013, 02:26:37 AM
 #122

This is all I get when I try running ./eloipool.py:

Code:
root@pool:~/eloipool# ./eloipool.py
Illegal instruction

Any ideas?  Huh

I checked the log but it's empty.
WinTame2012
Sr. Member
****
Offline Offline

Activity: 315
Merit: 250


Official sponsor of Microsoft Corp.


View Profile WWW
April 25, 2013, 02:29:38 AM
 #123

This is all I get when I try running ./eloipool.py:

Code:
root@pool:~/eloipool# ./eloipool.py
Illegal instruction

Any ideas?  Huh
try this
Code:
root@pool:~/eloipool# python ./eloipool.py

May the WinTame Power be with you!
http://wintame.com
raubaut
Newbie
*
Offline Offline

Activity: 20
Merit: 0


View Profile
April 25, 2013, 02:32:42 AM
 #124

This is all I get when I try running ./eloipool.py:

Code:
root@pool:~/eloipool# ./eloipool.py
Illegal instruction

Any ideas?  Huh
try this
Code:
root@pool:~/eloipool# python ./eloipool.py

Gives the same message.

Edit: tried with "python eloipool.py -d" but there's no debug info either.
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
April 25, 2013, 02:42:08 AM
 #125

This is all I get when I try running ./eloipool.py:

Code:
root@pool:~/eloipool# ./eloipool.py
Illegal instruction

Any ideas?  Huh

I checked the log but it's empty.
Almost certainly something wrong with your OS or Python.

robotrebellion
Member
**
Offline Offline

Activity: 61
Merit: 10


View Profile
April 25, 2013, 09:00:47 PM
 #126

This is all I get when I try running ./eloipool.py:

Code:
root@pool:~/eloipool# ./eloipool.py
Illegal instruction

Any ideas?  Huh

I checked the log but it's empty.
Almost certainly something wrong with your OS or Python.

Is there a particular OS/Python version you have been successful with?
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
April 25, 2013, 09:07:19 PM
 #127

Is there a particular OS/Python version you have been successful with?
I run Gentoo  + Python 3.1 or 3.2.

Another possibility (more likely perhaps) is that you miscompiled the midstate module for your system... be sure to check CFLAGS in the Makefile.

robotrebellion
Member
**
Offline Offline

Activity: 61
Merit: 10


View Profile
April 25, 2013, 09:39:42 PM
Last edit: April 26, 2013, 01:07:56 AM by robotrebellion
 #128

Alright I got to a new point in my install.

Code:
>>> Traceback (most recent call last):
  File "./eloipool.py", line 863, in <module>
    BitcoinLink(bcnode, dest=config.UpstreamBitcoindNode)
  File "/root/eloipool/bitcoin/node.py", line 50, in __init__
    sock.connect(dest)
socket.error: [Errno 111] Connection refused

As far as I can tell UpstreamBitcoindNode is set correctly in config.py:

Code:
UpstreamBitcoindNode = ('127.0.0.1', 18333)  # testnet

Is there something I'm missing?

Edit: fixed midstate module error
tempt
Sr. Member
****
Offline Offline

Activity: 294
Merit: 262


View Profile
May 01, 2013, 05:37:43 PM
 #129

Hi I've installed bitcoind, got all blocks, installed eloipool and set it up. I've used https://bitcointalk.org/index.php?topic=158105.0;all as a guidance. Now I have the problem, eloipool and bitcoind are running, but eloipool does not respond at all.. I've tried several ports, usernames, no usernames, different miners, it just does not respond.

Is there something big I am missing?
tomaszsz
Member
**
Offline Offline

Activity: 76
Merit: 10


View Profile
May 04, 2013, 04:59:19 PM
 #130

eloipool works OK  Smiley in normal mining THANKS LUKE -JR Smiley

but i try to setup merged mining with namecoin,
and

Code:
python merged-mine-proxy  -w 8330 -p http://secretusereloipool:pass@127.0.0.1:9341/ -x http://secretusernamecoin:secretpassnamecoin@localhost:8477/

and it look ok, mining proxy start

i get this

Code:
2013-05-04T16:49:00.165102,updateaux
2013-05-04T16:49:00.324030,updateaux
2013-05-04T16:49:05.324250,updateaux
and it looks ok ?

BUT

when i try to use miner on port 8330 i get

Code:
001-0: ztex_ufm1_15d4-0001-02-01-1: Error: Invalid length of string: Disabling URL http://serwerpool.eu:8330 for 60s
   (when i use ztex miner)



or

Code:
2013-05-04 18:38:51: Listener for "Default": serwerpool.eu:8330 04/05/2013 18:38:51, checking for stratum...
2013-05-04 18:38:51: Listener for "Default": serwerpool.eu:8330 04/05/2013 18:38:51, server error: Method not found
2013-05-04 18:38:51: Listener for "Default": serwerpool.eu:8330 04/05/2013 18:38:51, no response to getwork, using as stratum
2013-05-04 18:39:01: Listener for "Default": serwerpool.eu:8330 04/05/2013 18:39:01, Failed to subscribe
2013-05-04 18:39:03: Listener for "Default": serwerpool.eu:8330 04/05/2013 18:39:03, IO errors - 1, tolerance 2


should I set something additional in eloipool or merged mining proxy ? to get merged mining BTC + NMC work  ?

I use bitcoind  'version' => 80100, 'protocolversion' => 70001,
and
namecoin  [version] => 35000,

maybe i should  run other version namecoin  ?
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
May 04, 2013, 07:42:01 PM
 #131

It's not a proxy. Miners continue to talk to Eloipool.

tomaszsz
Member
**
Offline Offline

Activity: 76
Merit: 10


View Profile
May 05, 2013, 06:06:03 PM
 #132

It's not a proxy. Miners continue to talk to Eloipool.

idont understand your suggestion Tongue


maybe it should be


1)
client minrer <--->  mining proxy <--> eloipool  <---->   bitcoind
                                    |
                                     | -------> namecoind ?



or


2)

client miner  <---->  eloipool <----->    mining proxy <----> bitcoind
                                                                 |
                                                                  | ---->   namecond




mining proxy need setworkaux so i think 1) will be ok  ?

so why in first scenario i get errors on client miner ?
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
May 05, 2013, 09:34:05 PM
 #133

It's not a proxy. Miners continue to talk to Eloipool.

idont understand your suggestion Tongue


maybe it should be


1)
client minrer <--->  mining proxy <--> eloipool  <---->   bitcoind
                                    |
                                     | -------> namecoind ?



or


2)

client miner  <---->  eloipool <----->    mining proxy <----> bitcoind
                                                                 |
                                                                  | ---->   namecond




mining proxy need setworkaux so i think 1) will be ok  ?

so why in first scenario i get errors on client miner ?

The only supported scenario is:

Code:
client miner <--> eloipool <--> bitcoind
                            |-> mining proxy <--> namecoind

qubic
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
May 06, 2013, 10:09:06 AM
 #134

Code:
2013-05-06 18:03:17,740	merkleMaker	CRITICAL	Traceback (most recent call last):
  File "/usr/lib/python3.2/json/decoder.py", line 369, 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/llj/eloipool/merklemaker.py", line 692, in run
    self.merkleMaker_I()
  File "/home/llj/eloipool/merklemaker.py", line 682, in merkleMaker_I
    self.merkleMaker_II()
  File "/home/llj/eloipool/merklemaker.py", line 648, in merkleMaker_II
    return self._updateMerkleTree()
  File "/home/llj/eloipool/merklemaker.py", line 548, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/home/llj/eloipool/merklemaker.py", line 512, in _updateMerkleTree_I
    r = self._updateMerkleTree_fromTS(TS)
  File "/home/llj/eloipool/merklemaker.py", line 477, in _updateMerkleTree_fromTS
    MP = self._CallGBT(TS)
  File "/home/llj/eloipool/merklemaker.py", line 327, in _CallGBT
    MP = access.getblocktemplate(self.GBTReq)
  File "/usr/local/lib/python3.2/dist-packages/bitcoinrpc/authproxy.py", line 102, in __call__
    response = self._get_response()
  File "/usr/local/lib/python3.2/dist-packages/bitcoinrpc/authproxy.py", line 128, 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
any ideas?
tomaszsz
Member
**
Offline Offline

Activity: 76
Merit: 10


View Profile
May 06, 2013, 09:09:44 PM
 #135




mining proxy need setworkaux so i think 1) will be ok  ?

so why in first scenario i get errors on client miner ?

The only supported scenario is:

Code:
client miner <--> eloipool <--> bitcoind
                            |-> mining proxy <--> namecoind


you mean


client miner  <---->  eloipool <----->    mining proxy <----> bitcoind
                                                                 |
                                                                  | ---->   namecond



so i must use patched bitcoind (with setworkaux function) ?

or maybe




client miner  <---->  eloipool <----->    mining proxy <----> eloipool  <--- > bitcoind
                                                                 |
                                                                  | ---->   namecond


? Smiley
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
May 06, 2013, 09:12:54 PM
 #136




mining proxy need setworkaux so i think 1) will be ok  ?

so why in first scenario i get errors on client miner ?

The only supported scenario is:

Code:
client miner <--> eloipool <--> bitcoind
                            |-> mining proxy <--> namecoind


you mean


client miner  <---->  eloipool <----->    mining proxy <----> bitcoind
                                                                 |
                                                                  | ---->   namecond



so i must use patched bitcoind (with setworkaux function) ?

or maybe




client miner  <---->  eloipool <----->    mining proxy <----> eloipool  <--- > bitcoind
                                                                 |
                                                                  | ---->   namecond


? Smiley

No, I meant exactly what I said...

tomaszsz
Member
**
Offline Offline

Activity: 76
Merit: 10


View Profile
May 07, 2013, 10:33:07 AM
 #137



The only supported scenario is:

Code:
client miner <--> eloipool <--> bitcoind
                            |-> mining proxy <--> namecoind

[/quote]

so if 
Code:
 client miner <--> eloipool <-->  mining proxy <--> (bitcond + namecoind) 
   is WRONG


how to connect eloipool to bitcoind AND to mining proxy  ? 
Code:
 client miner <--> eloipool <-->  (mining proxy  + namecoind) <--> bitcoind  ?  

i see that normally mining proxy "split" connection into two daemon (BTC, NMC)

but how to do this in eloipool ?

Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
May 07, 2013, 07:16:48 PM
 #138



The only supported scenario is:

Code:
client miner <--> eloipool <--> bitcoind
                            |-> mining proxy <--> namecoind


so if 
Code:
 client miner <--> eloipool <-->  mining proxy <--> (bitcond + namecoind) 
   is WRONG


how to connect eloipool to bitcoind AND to mining proxy  ? 
Code:
 client miner <--> eloipool <-->  (mining proxy  + namecoind) <--> bitcoind  ?  

i see that normally mining proxy "split" connection into two daemon (BTC, NMC)

but how to do this in eloipool ?


[/quote]Mining proxy talks to Eloipool and Namecoind, nothing else.

tomaszsz
Member
**
Offline Offline

Activity: 76
Merit: 10


View Profile
May 07, 2013, 07:55:06 PM
 #139

Mining proxy talks to Eloipool and Namecoind, nothing else.

so we have this configuration


Code:
client miner <--->  mining proxy <--> eloipool  <---->   bitcoind
                            |
                             | -------> namecoind ?
 


mining proxy command

Code:
python merged-mining-proxy  -w 8330 -p http://ssecreteloipool:222@127.0.0.1:9947/ -x http://namecoinrpc:manecoinrpcpass@localhost:9377/

eloipool config.py


Code:
# Secret username allowed to use setworkaux
SecretUser = "ssecreteloipool"

# Addresses to listen on for JSON-RPC GBT/getwork server
JSONRPCAddresses = (
        ('', 9947),
)



namecoind config

Code:
rpcuser=namecoinrpc
rpcpassword=manecoinrpcpass
 
 
 rpcport=9377


and normal configuracjion connection to bitcoin
Code:
....




why i cannot connect /point miner to 8330 port ? and still get this errors

Quote
001-0: ztex_ufm1_15d4-0001-02-01-1: Error: Invalid length of string: Disabling URL http://serverurl.com:8330 for 60s
...
...
..


miner with eloipool works perfect

but with merged mining configuracion still cannot connect minner to mining proxy ...

what should i change in my configuration  ?
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
May 07, 2013, 08:23:17 PM
 #140

Mining proxy talks to Eloipool and Namecoind, nothing else.

so we have this configuration


Code:
client miner <--->  mining proxy <--> eloipool  <---->   bitcoind
                            |
                             | -------> namecoind ?
 


mining proxy command

Code:
python merged-mining-proxy  -w 8330 -p http://ssecreteloipool:222@127.0.0.1:9947/ -x http://namecoinrpc:manecoinrpcpass@localhost:9377/

eloipool config.py


Code:
# Secret username allowed to use setworkaux
SecretUser = "ssecreteloipool"

# Addresses to listen on for JSON-RPC GBT/getwork server
JSONRPCAddresses = (
        ('', 9947),
)



namecoind config

Code:
rpcuser=namecoinrpc
rpcpassword=manecoinrpcpass
 
 
 rpcport=9377


and normal configuracjion connection to bitcoin
Code:
....




why i cannot connect /point miner to 8330 port ? and still get this errors

Quote
001-0: ztex_ufm1_15d4-0001-02-01-1: Error: Invalid length of string: Disabling URL http://serverurl.com:8330 for 60s
...
...
..


miner with eloipool works perfect

but with merged mining configuracion still cannot connect minner to mining proxy ...

what should i change in my configuration  ?

No.

Miner talks to Eloipool.
Eloipool talks to bitcoind and MMP independently.
MMP talks to namecoind.

tomaszsz
Member
**
Offline Offline

Activity: 76
Merit: 10


View Profile
May 08, 2013, 09:58:16 AM
 #141


Miner talks to Eloipool.

ok it is easy Smiley

MMP talks to namecoind.

ok, thats easy too Smiley but


Eloipool talks to bitcoind and MMP independently.

which params (MMP url, MMP host, MMP port ? )

in eloipool makes that eloipool talks to MMP ? 

or my configuration

Quote
mining proxy command

Code:
python merged-mining-proxy  -w 8330 -p http://ssecreteloipool:222@127.0.0.1:9947/ -x http://namecoinrpc:manecoinrpcpass@localhost:9377/

eloipool config.py


Code:
# Secret username allowed to use setworkaux
SecretUser = "ssecreteloipool"

# Addresses to listen on for JSON-RPC GBT/getwork server
JSONRPCAddresses = (
        ('', 9947),
)



namecoind config

Code:
rpcuser=namecoinrpc
rpcpassword=manecoinrpcpass
 
 
 rpcport=9377

is ok, and i should just point miner to eloipool (port 9947 ) , instead  MMP (port 8330)   ?



Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
May 08, 2013, 10:01:58 AM
 #142

You're missing the GotWorkURI stuff.

You saw README, right?

tomaszsz
Member
**
Offline Offline

Activity: 76
Merit: 10


View Profile
May 08, 2013, 10:13:55 AM
 #143

You're missing the GotWorkURI stuff.

You saw README, right?

yes , i saw

README:
Quote
"Eloipool supports merged mining using the setworkaux/gotwork RPC interface."

and in config.py

Quote
# URI to send gotwork with info for every share submission
#GotWorkURI = ''
and thats ALL...


 

SO
finall configuration

Quote
mining proxy command

Code:
python merged-mining-proxy  -w 8330 -p http://ssecreteloipool:222@127.0.0.1:9947/ -x http://namecoinrpc:manecoinrpcpass@localhost:9377/

eloipool config.py


Code:
# Secret username allowed to use setworkaux
SecretUser = "ssecreteloipool"

# Addresses to listen on for JSON-RPC GBT/getwork server
JSONRPCAddresses = (
        ('', 9947),
)

GotWorkURI = "http://mergedproxyuser:mergedproxypass@127.0.0.1:8330/"





namecoind config

Code:
rpcuser=namecoinrpc
rpcpassword=manecoinrpcpass
 
 
 rpcport=9377



Code:
and user miner program connect to 9947 



is it ok ?
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
May 08, 2013, 10:43:48 AM
 #144

Looks okay. Does it work? Smiley

smracer
Donator
Legendary
*
Offline Offline

Activity: 1055
Merit: 1020



View Profile
May 09, 2013, 02:53:58 PM
 #145

>>> 2013-05-09 09:52:26,704     sharelogging    ERROR   Error setting up share logger sql: (<class 'NameError'>, NameError("name 'long' is not defined",), <traceback object at 0x1ae0200>)


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

qubic
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
May 10, 2013, 06:12:44 AM
 #146

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?
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
May 10, 2013, 08:10:32 AM
 #147

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...

qubic
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
May 10, 2013, 09:39:40 AM
 #148

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
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
May 10, 2013, 09:46:03 AM
 #149

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.

voidale
Newbie
*
Offline Offline

Activity: 17
Merit: 0


View Profile
May 10, 2013, 12:08:59 PM
Last edit: May 12, 2013, 03:19:56 AM by voidale
 #150

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
voidale
Newbie
*
Offline Offline

Activity: 17
Merit: 0


View Profile
May 13, 2013, 03:16:43 AM
Last edit: May 13, 2013, 04:32:25 AM by voidale
 #151

***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
Anonymailer
aka BitBacco
Hero Member
*****
Offline Offline

Activity: 662
Merit: 500



View Profile WWW
May 18, 2013, 12:10:44 AM
 #152

what config would be required to run as a sub pool of eligius?

MacMiner - The first, best and easiest to use native Mac coin mining app: https://bitcointalk.org/index.php?topic=197110.0

BTC: 12vZf8mjaXvHorXWVWfv7nZspHa8L8kfoG LTC: LLRqwo3YcLqoRyfZRVmUevtd2Y35Vvnt4w
optimator
Sr. Member
****
Offline Offline

Activity: 351
Merit: 250



View Profile WWW
May 20, 2013, 05:24:27 PM
 #153

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?


tomaszsz
Member
**
Offline Offline

Activity: 76
Merit: 10


View Profile
May 20, 2013, 08:42:04 PM
 #154

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  ?
tomaszsz
Member
**
Offline Offline

Activity: 76
Merit: 10


View Profile
May 20, 2013, 08:44:25 PM
 #155

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...
tomaszsz
Member
**
Offline Offline

Activity: 76
Merit: 10


View Profile
May 20, 2013, 08:47:58 PM
 #156

>>> 2013-05-09 09:52:26,704     sharelogging    ERROR   Error setting up share logger sql: (<class 'NameError'>, NameError("name 'long' is not defined",), <traceback object at 0x1ae0200>)


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
optimator
Sr. Member
****
Offline Offline

Activity: 351
Merit: 250



View Profile WWW
May 23, 2013, 05:47:46 PM
 #157

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?

pascal257
Sr. Member
****
Offline Offline

Activity: 493
Merit: 262


View Profile
May 27, 2013, 01:33:46 AM
 #158

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.
ppcko
Newbie
*
Offline Offline

Activity: 16
Merit: 0



View Profile
May 27, 2013, 08:43:08 PM
 #159

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()
kinlo
Sr. Member
****
Offline Offline

Activity: 263
Merit: 250


Pool operator of Triplemining.com


View Profile
May 27, 2013, 08:51:36 PM
 #160

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
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
May 27, 2013, 08:52:34 PM
 #161

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

kinlo
Sr. Member
****
Offline Offline

Activity: 263
Merit: 250


Pool operator of Triplemining.com


View Profile
May 27, 2013, 09:58:00 PM
 #162

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
mechkladenets
Member
**
Offline Offline

Activity: 180
Merit: 10

GraphGrail Ai Founder


View Profile WWW
May 30, 2013, 03:09:31 PM
 #163

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)

feeleep
Legendary
*
Offline Offline

Activity: 1197
Merit: 1000


View Profile WWW
June 04, 2013, 05:23:13 PM
 #164

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

Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
June 04, 2013, 06:04:31 PM
 #165

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

feeleep
Legendary
*
Offline Offline

Activity: 1197
Merit: 1000


View Profile WWW
June 05, 2013, 07:12:15 AM
 #166

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

Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
June 05, 2013, 07:51:03 AM
 #167

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.

Kiro
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile WWW
June 12, 2013, 06:54:48 AM
Last edit: June 12, 2013, 09:20:20 AM by Kiro
 #168

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://bitcointalk.org/index.php?topic=162788.0
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
nemercry
Sr. Member
****
Offline Offline

Activity: 339
Merit: 250

Vice versa is not a meal.


View Profile
June 16, 2013, 11:27:58 AM
 #169

Any Updates on this error ?
kinlo
Sr. Member
****
Offline Offline

Activity: 263
Merit: 250


Pool operator of Triplemining.com


View Profile
June 20, 2013, 09:29:44 AM
 #170

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?



Eloipool tries to submit the block at least three times.  So you *should* get this error.  it is indeed a bit confusing, but that is how it works.
vmart155
Newbie
*
Offline Offline

Activity: 4
Merit: 0


View Profile
June 27, 2013, 08:04:16 PM
 #171

Code:
2013-06-27 23:02:34,173 merkleMaker     CRITICAL        Traceback (most recent call last):
  File "/home/mixa/ttt/eloipool/merklemaker.py", line 692, in run
    self.merkleMaker_I()
  File "/home/mixa/ttt/eloipool/merklemaker.py", line 682, in merkleMaker_I
    self.merkleMaker_II()
  File "/home/mixa/ttt/eloipool/merklemaker.py", line 648, in merkleMaker_II
    return self._updateMerkleTree()
  File "/home/mixa/ttt/eloipool/merklemaker.py", line 548, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/home/mixa/ttt/eloipool/merklemaker.py", line 512, in _updateMerkleTree_I
    r = self._updateMerkleTree_fromTS(TS)
  File "/home/mixa/ttt/eloipool/merklemaker.py", line 477, in _updateMerkleTree_fromTS
    MP = self._CallGBT(TS)
  File "/home/mixa/ttt/eloipool/merklemaker.py", line 327, in _CallGBT
    MP = access.getblocktemplate(self.GBTReq)
  File "/home/mixa/ttt/eloipool/bitcoinrpc/authproxy.py", line 104, in __call__
    'Content-type': 'application/json'})
  File "/usr/lib/python3.2/http/client.py", line 967, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python3.2/http/client.py", line 995, in _send_request
    self.putrequest(method, url, **skips)
  File "/usr/lib/python3.2/http/client.py", line 850, in putrequest
    raise CannotSendRequest(self.__state)
http.client.CannotSendRequest: Request-sent

Who knows what the problem is?
gr0bi42
Full Member
***
Offline Offline

Activity: 158
Merit: 100


View Profile WWW
July 02, 2013, 05:34:20 PM
 #172

Hi Luke,

how do I get the block height into the coinbase? Let's say, CoinbaserCmd is not really "well" documented ;-)

Donations are welcome: 1Btf3BqUegfe5iFdWsgfBf1Ew3YsAvsrLT
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
July 02, 2013, 05:55:50 PM
 #173

Hi Luke,

how do I get the block height into the coinbase? Let's say, CoinbaserCmd is not really "well" documented ;-)
It's always in the coinbase. CoinbaserCmd controls payouts.

arruah
Legendary
*
Offline Offline

Activity: 1357
Merit: 1004



View Profile WWW
August 01, 2013, 08:27:51 AM
 #174

I'm trying to run the application but I get the error
Code:
kamrenov@pool:~/bin$ ./eloipool.py 
2013-08-01 13:39:43,954 jsonrpc_getwork WARNING Error importing 'midstate' module; work will not provide midstates

>>> Traceback (most recent call last):
  File "./eloipool.py", line 862, in <module>
    BitcoinLink(bcnode, dest=config.UpstreamBitcoindNode)
  File "/home/kamrenov/bin/bitcoin/node.py", line 50, in __init__
    sock.connect(dest)
socket.error: [Errno 111] Connection refused

my config.py
Code:
# Please note that config files are Python source code!
# A common mistake is to put an option list (such as TemplateChecks,
# JSONRPCAddresses, etc) excluding the final comma.
# For example (this is WRONG):
#     JSONRPCAddresses = (
#         ('', 8337)  # <-- there must be a comma after EVERY item, even last
#     )
# Without the final comma, should the option list ever have only one item in
# it, Python would interpret the "main" parenthesis as a mere sub-expression
# instead of a list of values. If that occurs, you might get crazy errors, or
# things might just not work correctly. Be careful to not miss the commas.

### Settings relating to server identity

# Name of the server
ServerName = 'My Pool'

### Settings relating to server scaling/load

# Share hashes must be below this to be valid shares
# If dynamic targetting is enabled, this is a minimum
ShareTarget = 0x00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff

# Automatically adjust targets per username
# 0 = disabled
# 1 = arbitrary targets
# 2 = power of two difficulties (zero bit counts)
DynamicTargetting = 2

# How many shares per minute to try to achieve on average
DynamicTargetGoal = 8

# Number of seconds hashrate is measured over
DynamicTargetWindow = 120

# Minimum and maximum of merkle roots to keep queued
WorkQueueSizeRegular = (0x100, 0x1000)

# Minimum and maximum of BLANK merkle roots to keep queued
# (used if we run out of populated ones)
WorkQueueSizeClear = (0x1000, 0x2000)

# Minimum and maximum of BLANK merkle roots to keep queued, one height up
# (used for longpolls)
WorkQueueSizeLongpoll = (0x1000, 0x2000)

# How long to wait between getmemorypool updates normally
MinimumTxnUpdateWait = 5

# How long to wait between retries if getmemorypool fails
TxnUpdateRetryWait = 1
# How long to sleep in idle loops (temporary!)
IdleSleepTime = 0.1

### Settings relating to reward generation

# Address to generate rewards to
TrackerAddr = '1P5YMGAzSypskCy1kMr7otjH5bSeD1nP9X'

# Coinbaser command to control reward delegation
# NOTE: This example donates 1% of block rewards to Luke-Jr for Eloipool development
# CoinbaserCmd = 'echo -e "1\\n$((%d / 100))\\n1579aXhdwvKZEMrAKoCZhzGuqMa8EonuXU"'

### Settings relating to upstream data providers

# JSON-RPC servers to get block templates from
# See https://en.bitcoin.it/wiki/BIP_0023#Logical_Services for key details
TemplateSources = (
{
'name': 'primary',
'uri': 'http://ruxAbDxUFs6Y:CZoLZwPxBVp5y5jFBUxVsGWrGefX6F@localhost:8332',
'priority': 0,
'weight': 1,
},
)

# JSON-RPC servers to check block proposals with
# If none provided, and selected source supports proposals, it alone will also
# be used for checking
# NOTE: Any servers listed here MUST support BIP 23 Block Proposals
# NOTE: Mainline bitcoind (as of 0.8) does NOT support this (though the 0.8.0.eligius branch does)
TemplateChecks = (
)

# JSON-RPC servers to submit found blocks to (when they meet the full target)
# The specific TemplateSource that the block was based on will always be sent
# the block first.
# If setting is not specified, or None, full TemplateSources list will be used.
# If an empty list, no extra submissions will be attempted.
# If an empty list, and the block was found on a "clear" merkle root (not based
# on any TemplateSource), the full TemplateSources list will be used.
BlockSubmissions = (
{
'name': 'primary',
'uri': 'http://ruxAbDxUFs6Y:CZoLZwPxBVp5y5jFBUxVsGWrGefX6F@localhost:8332',
},
)

# Templates will not be used unless they have an acceptance ratio above this
# Range: 0.00 - 1.00
MinimumTemplateAcceptanceRatio = 0

# No template with a combined total score below this will be used
MinimumTemplateScore = 1

# Set to True if you want shares meeting the upstream target to wait for a
# response from an upstream server before logging them. Otherwise, for such
# shares, upstreamResult will always be True and upstreamRejectReason will
# always be None. Note that enabling this may cause shares to be logged out of
# order, or with the wrong timestamp (if your share logger uses the log-time
# rather than share-time).
DelayLogForUpstream = True

# Bitcoin p2p server for announcing blocks found
UpstreamBitcoindNode = ('127.0.0.1', 8333)  # testnet

# 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'\xF9\xBE\xB4\xD9'  # testnet

# Secret username allowed to use setworkaux
#SecretUser = ""

# URI to send gotwork with info for every share submission
#GotWorkURI = ''

# Share hashes must be below this to be submitted to gotwork
GotWorkTarget = 0x00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff

# Aim to produce blocks with transaction counts that are a power of two
# This helps avoid any chance of someone abusing CVE-2012-2459 with them
# 1 = cut out feeless transactions; 2 = cut out even fee-included transactions (if possible)
# POT = 2

# Avoid mining feeless transactions except to satisfy POT
# Note this only works if POT is in fact enabled in the first place
Greedy = False

### Settings relating to network services
# Note that Eloipool only supports IPv6 sockets, and if you want to bind to an
# IPv4 address you will need to prepend it with ::ffff: eg ::ffff:192.168.1.2

# Addresses to listen on for JSON-RPC GBT/getwork server
JSONRPCAddresses = (
('', 8337),
)

# Addresses to listen on for Stratum mining server
StratumAddresses = (
('', 3334),
)

# Addresses to listen on for Bitcoin node
# Note this will only be used to distribute blocks the pool finds, nothing else
BitcoinNodeAddresses = (
('', 8338),
)

# Addresses that are allowed to "spoof" from address with the X-Forwarded-For header
TrustedForwarders = ('::ffff:127.0.0.1',)


# Logging of shares:
ShareLogging = (
        {
                'type': 'sql',
                'engine': 'postgres',
                'dbopts': {
                        'host': 'localhost',
                        'database': 'pool_stats',
                        'user': 'root',
                        'password': 'eloipool',
                },
                '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'))",
        },
)

### Settings related to poolserver logging

# By default, significant events will be printed to the interactive console
# You can customize your logging using either simple parameters, or Python's advanced logging framework
# Note that using Python's logging framework will override the default console logging!

# To simply log everything to the system log (syslog) as well:
# LogToSysLog = True

# To make a log file:
LogFile = '/home/eloipool/web_dir/error_log.log'

# For a rotating log file:
LogFile = {
'filename': 'error_log.log',
'when': 'midnight',
'backupCount': 7,
}
# For details, see:
# http://docs.python.org/3/library/logging.handlers.html#logging.handlers.TimedRotatingFileHandler

BCH
hahahafr
Hero Member
*****
Offline Offline

Activity: 938
Merit: 501



View Profile
August 07, 2013, 09:38:38 PM
 #175

What I run:
Code:
root@server:~/pool/# ./bitcoind &
root@server:~/pool/# python3 eloipool.py

I'm getting an infinite loop error! The message doesn't stop and blocks the terminal...

Code:
Traceback (most recent call last):
  File "/root/pool/merklemaker.py", line 692, in run
    self.merkleMaker_I()
  File "/root/pool/merklemaker.py", line 682, in merkleMaker_I
    self.merkleMaker_II()
  File "/root/pool/merklemaker.py", line 648, in merkleMaker_II
    return self._updateMerkleTree()
  File "/root/pool/merklemaker.py", line 548, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/root/pool/merklemaker.py", line 512, in _updateMerkleTree_I
    r = self._updateMerkleTree_fromTS(TS)
  File "/root/pool/merklemaker.py", line 477, in _updateMerkleTree_fromTS
    MP = self._CallGBT(TS)
  File "/root/pool/merklemaker.py", line 327, in _CallGBT
    MP = access.getblocktemplate(self.GBTReq)
  File "/root/pool/bitcoinrpc/authproxy.py", line 106, in __call__
    response = self._get_response()
  File "/root/pool/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

2013-08-07 22:57:02,726 merkleMaker     CRITICAL        Traceback (most recent call last):
  File "/usr/lib/python3.2/json/decoder.py", line 369, in raw_decode
    obj, end = self.scan_once(s, idx)
StopIteration

During handling of the above exception, another exception occurred:

And the message repeats...

bitcoind config:
Code:
rpcuser=y
rpcpassword=x
maxconnections=256
daemon=1

eloipool config.py
Code:
# Please note that config files are Python source code!
# A common mistake is to put an option list (such as TemplateChecks,
# JSONRPCAddresses, etc) excluding the final comma.
# For example (this is WRONG):
#     JSONRPCAddresses = (
#         ('', 8337)  # <-- there must be a comma after EVERY item, even last
#     )
# Without the final comma, should the option list ever have only one item in
# it, Python would interpret the "main" parenthesis as a mere sub-expression
# instead of a list of values. If that occurs, you might get crazy errors, or
# things might just not work correctly. Be careful to not miss the commas.

### Settings relating to server identity

# Name of the server
ServerName = 'Private Pool'

### Settings relating to server scaling/load

# Share hashes must be below this to be valid shares
# If dynamic targetting is enabled, this is a minimum
ShareTarget = 0x00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff

# Automatically adjust targets per username
# 0 = disabled
# 1 = arbitrary targets
# 2 = power of two difficulties (zero bit counts)
DynamicTargetting = 2

# How many shares per minute to try to achieve on average
DynamicTargetGoal = 8

# Number of seconds hashrate is measured over
DynamicTargetWindow = 120

# Minimum and maximum of merkle roots to keep queued
WorkQueueSizeRegular = (0x100, 0x1000)

# Minimum and maximum of BLANK merkle roots to keep queued
# (used if we run out of populated ones)
WorkQueueSizeClear = (0x1000, 0x2000)

# Minimum and maximum of BLANK merkle roots to keep queued, one height up
# (used for longpolls)
WorkQueueSizeLongpoll = (0x1000, 0x2000)

# How long to wait between getmemorypool updates normally
MinimumTxnUpdateWait = 5

# How long to wait between retries if getmemorypool fails
TxnUpdateRetryWait = 1

# How long to sleep in idle loops (temporary!)
IdleSleepTime = 0.1

### Settings relating to reward generation

# Address to generate rewards to
TrackerAddr = '1BVi5pCdE5c37JDiF5tSur9vX1qB8xBLp9'

# Coinbaser command to control reward delegation
# %d is replaced with the total value of the block reward (in satoshis)
# %p is replaced with the previous block hash in hexadecimal
# NOTE: This example donates 1% of block rewards to Luke-Jr for Eloipool development
#CoinbaserCmd = 'echo -e "1\\n$((%d / 100))\\n1579aXhdwvKZEMrAKoCZhzGuqMa8EonuXU"'

### Settings relating to upstream data providers

# JSON-RPC servers to get block templates from
# See https://en.bitcoin.it/wiki/BIP_0023#Logical_Services for key details
TemplateSources = (
{
'name': 'primary',
'uri': 'http://y:x@localhost:8332',
'priority': 0,
'weight': 1,
},
# {
# 'name': 'secondary',
# 'uri': 'http://user:pass@localhost:18332',
# 'priority': 1,
# 'weight': 1,
# },
)

# JSON-RPC servers to check block proposals with
# If none provided, and selected source supports proposals, it alone will also
# be used for checking
# NOTE: Any servers listed here MUST support BIP 23 Block Proposals
# NOTE: Mainline bitcoind (as of 0.8) does NOT support this (though the 0.8.0.eligius branch does)
#TemplateChecks = (
# {
# 'name': 'primary',
# 'uri': 'http://user:pass@localhost:8332',
#
# # If 'unanimous' is true, no template will be used if this node
# # rejects it
# 'unanimous': False,
#
# # If check servers disagree on all templates, they will be scored and
# # the highest score will be used; 'weight' can be used to control the
# # scoring per-server
# 'weight': 1.1,
# },
# {
# 'name': 'secondary',
# 'uri': 'http://user:pass@localhost:18332',
# 'unanimous': False,
# 'weight': 1,
# },
#)

# JSON-RPC servers to submit found blocks to (when they meet the full target)
# The specific TemplateSource that the block was based on will always be sent
# the block first.
# If setting is not specified, or None, full TemplateSources list will be used.
# If an empty list, no extra submissions will be attempted.
# If an empty list, and the block was found on a "clear" merkle root (not based
# on any TemplateSource), the full TemplateSources list will be used.
#BlockSubmissions = (
# {
# 'name': 'primary',
# 'uri': 'http://user:pass@localhost:8332',
# },
# {
# 'name': 'secondary',
# 'uri': 'http://user:pass@localhost:18332',
# }
#)

# Templates will not be used unless they have an acceptance ratio above this
# Range: 0.00 - 1.00
MinimumTemplateAcceptanceRatio = 0

# No template with a combined total score below this will be used
MinimumTemplateScore = 1

# Set to True if you want shares meeting the upstream target to wait for a
# response from an upstream server before logging them. Otherwise, for such
# shares, upstreamResult will always be True and upstreamRejectReason will
# always be None. Note that enabling this may cause shares to be logged out of
# order, or with the wrong timestamp (if your share logger uses the log-time
# rather than share-time).
DelayLogForUpstream = False

# Bitcoin p2p server for announcing blocks found
UpstreamBitcoindNode = ('127.0.0.1', 8333)

# 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'\x0b\x11\x09\x07'  # testnet3
UpstreamNetworkId = b'\xF9\xBE\xB4\xD9'

# Secret username allowed to use setworkaux
#SecretUser = ""

# URI to send gotwork with info for every share submission
#GotWorkURI = ''

# Share hashes must be below this to be submitted to gotwork
GotWorkTarget = 0x00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff

# Aim to produce blocks with transaction counts that are a power of two
# This helps avoid any chance of someone abusing CVE-2012-2459 with them
# 1 = cut out feeless transactions; 2 = cut out even fee-included transactions (if possible)
#POT = 0

# Avoid mining feeless transactions except to satisfy POT
# Note this only works if POT is in fact enabled in the first place
Greedy = False

### Settings relating to network services
# Note that Eloipool only supports IPv6 sockets, and if you want to bind to an
# IPv4 address you will need to prepend it with ::ffff: eg ::ffff:192.168.1.2

# Addresses to listen on for JSON-RPC GBT/getwork server
JSONRPCAddresses = (
('', 8888),
)

# Addresses to listen on for Stratum mining server
StratumAddresses = (
('', 3334),
)

# Addresses to listen on for Bitcoin node
# Note this will only be used to distribute blocks the pool finds, nothing else
BitcoinNodeAddresses = (
('', 8338),
)

# Addresses that are allowed to "spoof" from address with the X-Forwarded-For header
TrustedForwarders = ('::ffff:127.0.0.1',)


# Logging of shares:
ShareLogging = (
{
'type': 'logfile',
'filename': 'share-logfile',
'format': "{time} {Q(remoteHost)} {username} {YN(not(rejectReason))} {dash(YN(upstreamResult))} {dash(rejectReason)} {solution}\n",
},
# {
# 'type': 'sql',
# 'engine': 'postgres',
# 'dbopts': {
# 'host': 'localhost',
# 'database': 'pooldb',
# 'user': 'eloipool',
# 'password': 'somethingsecret',
# },
# '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'))",
# },
# {
# 'type': 'sql',
# 'engine': 'mysql',
# 'dbopts': {
# 'host': 'localhost',
# 'db': 'pooldb',
# 'user': 'eloipool',
# 'password': 'somethingsecret',
# },
# '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}))",
# },
{
'type': 'sql',
'engine': 'sqlite',
'dbopts': {
'database': 'share.db',
},
'statement': "insert into shares (remoteHost, username, rejectReason, upstreamResult, solution) values ({remoteHost}, {username}, {rejectReason}, {upstreamResult}, {solution})",
},
)

# Authentication
# There currently are 2 modules.
# - allowall will allow every username/password combination
# - simplefile will use the username/passwords from a file, which contains username<tab>password\n with no \n on the last line.
Authentication =  (
{
'module': 'allowall',
},
# {
# 'module': 'simplefile',
# 'filename': 'userdatabase',
# },
)

### Settings related to poolserver logging

# By default, significant events will be printed to the interactive console
# You can customize your logging using either simple parameters, or Python's advanced logging framework
# Note that using Python's logging framework will override the default console logging!

# To simply log everything to the system log (syslog) as well:
# LogToSysLog = True

# To make a log file:
# LogFile = 'filename.log'

# For a rotating log file:
LogFile = {
'filename': 'eloipool.log',
'when': 'midnight',
'backupCount': 7,
}
# For details, see:
# http://docs.python.org/3/library/logging.handlers.html#logging.handlers.TimedRotatingFileHandler




                                           ◢◣                      ◢◣
                                     ◢████◣           ◢████◣
                               ◢████████◣◢████████◣
                               █████████████████
                               █████████████████
                               █████████████████
                               █████████████◤██████
                               ███████████◤████████
                               █████████◤██████████
                               ███████◤████████████
                               █████◤██████████████
                               █████◣                       ◢█████
                               ███████◣            ◢███████
                               █████████◣◢█████████
                               ◥████████◤◥████████◤
                                    ◥████◤            ◥████◤
                                          ◥◤                      



HYDAX
       Secure  
   Efficient
   Simple  
   Medium 
    Twitter  
    Telegram 
[/center
hahahafr
Hero Member
*****
Offline Offline

Activity: 938
Merit: 501



View Profile
August 08, 2013, 03:56:02 AM
 #176

Fixed, had to checkout at commit 770881c8bd9b1f92427290270b37a28751cf9df0 of python-bitcoinrpc.
Is there a way to have the python-bitcoinrpc git updated to the latest commit and still get it to work with eloipool?




                                           ◢◣                      ◢◣
                                     ◢████◣           ◢████◣
                               ◢████████◣◢████████◣
                               █████████████████
                               █████████████████
                               █████████████████
                               █████████████◤██████
                               ███████████◤████████
                               █████████◤██████████
                               ███████◤████████████
                               █████◤██████████████
                               █████◣                       ◢█████
                               ███████◣            ◢███████
                               █████████◣◢█████████
                               ◥████████◤◥████████◤
                                    ◥████◤            ◥████◤
                                          ◥◤                      



HYDAX
       Secure  
   Efficient
   Simple  
   Medium 
    Twitter  
    Telegram 
[/center
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
August 08, 2013, 04:30:14 AM
 #177

Fixed, had to checkout at commit 770881c8bd9b1f92427290270b37a28751cf9df0 of python-bitcoinrpc.
Is there a way to have the python-bitcoinrpc git updated to the latest commit and still get it to work with eloipool?
No, this is a bug in python-bitcoinrpc and has to be fixed there.

hahahafr
Hero Member
*****
Offline Offline

Activity: 938
Merit: 501



View Profile
August 08, 2013, 04:25:00 PM
 #178

How to estimate the current hashrate of the pool? Is already some stats somewhere?




                                           ◢◣                      ◢◣
                                     ◢████◣           ◢████◣
                               ◢████████◣◢████████◣
                               █████████████████
                               █████████████████
                               █████████████████
                               █████████████◤██████
                               ███████████◤████████
                               █████████◤██████████
                               ███████◤████████████
                               █████◤██████████████
                               █████◣                       ◢█████
                               ███████◣            ◢███████
                               █████████◣◢█████████
                               ◥████████◤◥████████◤
                                    ◥████◤            ◥████◤
                                          ◥◤                      



HYDAX
       Secure  
   Efficient
   Simple  
   Medium 
    Twitter  
    Telegram 
[/center
hahahafr
Hero Member
*****
Offline Offline

Activity: 938
Merit: 501



View Profile
August 08, 2013, 05:50:18 PM
 #179

Or do I have to somehow calculate it with the accepted shares logged?




                                           ◢◣                      ◢◣
                                     ◢████◣           ◢████◣
                               ◢████████◣◢████████◣
                               █████████████████
                               █████████████████
                               █████████████████
                               █████████████◤██████
                               ███████████◤████████
                               █████████◤██████████
                               ███████◤████████████
                               █████◤██████████████
                               █████◣                       ◢█████
                               ███████◣            ◢███████
                               █████████◣◢█████████
                               ◥████████◤◥████████◤
                                    ◥████◤            ◥████◤
                                          ◥◤                      



HYDAX
       Secure  
   Efficient
   Simple  
   Medium 
    Twitter  
    Telegram 
[/center
BTCMiners.net
Sr. Member
****
Offline Offline

Activity: 252
Merit: 250



View Profile WWW
August 10, 2013, 01:21:21 AM
 #180

Code:
Traceback (most recent call last):
  File "./eloipool.py", line 77, in <module>
    bcnode = BitcoinNode(config.UpstreamNetworkId)
  File "/home/eloipool/bitcoin/node.py", line 146, in __init__
    super().__init__(*a, **ka)
TypeError: super() takes at least 1 argument (0 given)

Any idea why it would be throwing that? It's a new clone, config is setup properly.. if you need any other info please let me know and i'll post what I can Smiley

Buy Cloud Hashing! $8.50 USD per GH/s!  [32.231 TH/s] Remaining
https://bitcointalk.org/index.php?topic=329674.20  -- www.BTCMiners.net
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
August 10, 2013, 02:07:42 AM
 #181

Code:
Traceback (most recent call last):
  File "./eloipool.py", line 77, in <module>
    bcnode = BitcoinNode(config.UpstreamNetworkId)
  File "/home/eloipool/bitcoin/node.py", line 146, in __init__
    super().__init__(*a, **ka)
TypeError: super() takes at least 1 argument (0 given)

Any idea why it would be throwing that? It's a new clone, config is setup properly.. if you need any other info please let me know and i'll post what I can Smiley
Usually this means an ancient Python version.
You need at least version 3.1 (released over 4 years ago).

BTCMiners.net
Sr. Member
****
Offline Offline

Activity: 252
Merit: 250



View Profile WWW
August 10, 2013, 01:00:37 PM
 #182

Code:
Traceback (most recent call last):
  File "./eloipool.py", line 77, in <module>
    bcnode = BitcoinNode(config.UpstreamNetworkId)
  File "/home/eloipool/bitcoin/node.py", line 146, in __init__
    super().__init__(*a, **ka)
TypeError: super() takes at least 1 argument (0 given)

Any idea why it would be throwing that? It's a new clone, config is setup properly.. if you need any other info please let me know and i'll post what I can Smiley
Usually this means an ancient Python version.
You need at least version 3.1 (released over 4 years ago).

You're right I simply didn't run python3 when I ran the command, but this is what I resulted with:

Code:
Traceback (most recent call last):
  File "eloipool.py", line 81, in <module>
    import jsonrpc
ImportError: No module named jsonrpc

So, I found https://bitcointalk.org/index.php?topic=113730.0

But nothing in there has helped me out. Blockchain is up to date and current.  Symlink is done but I'm not even able to run the setup.py in the python-bitcoinrpc directory.

Buy Cloud Hashing! $8.50 USD per GH/s!  [32.231 TH/s] Remaining
https://bitcointalk.org/index.php?topic=329674.20  -- www.BTCMiners.net
icreator
Legendary
*
Offline Offline

Activity: 1554
Merit: 1008



View Profile WWW
August 25, 2013, 08:31:25 AM
Last edit: August 25, 2013, 08:47:59 AM by icreator
 #183

I have Ubuntu 13.04 and Python3.3

run:
python3.3 eloipool.py

got errors:

Code:
Traceback (most recent call last):
  File "eloipool.py", line 948, in <module>
    MM.start()
  File "/home/icreator/pools/eloipool-3/merklemaker.py", line 697, in start
    self._prepare()
  File "/home/icreator/pools/eloipool-3/merklemaker.py", line 100, in _prepare
    URI2Name.setdefault(a['uri'], a['name'])
TypeError: string indices must be integers

Erachain Blockchain is fully ready for use Digital Ecosystem based on blockchain technology for business and government with low transaction costs, identification and built-in functions.
+Decentralized exchange of tokens in Erachain
icreator
Legendary
*
Offline Offline

Activity: 1554
Merit: 1008



View Profile WWW
August 25, 2013, 06:35:10 PM
 #184

I have python3.3.2

git clone https://github.com/jgarzik/python-bitcoinrpc.git
python3 setup.py build
sudo python3 setup.py install

then run probe.py
Code:
from jsonrpc.proxy import ServiceProxy, JSONRPCException

aa = ServiceProxy("http://rpcuser:yighyeg8OnI@127.0.0.1:8332")
              
print (aa.getinfo())

errors:
Code:
ile "probe.py", line 17, in <module>
    aa.getinfo()
  File "/home/icreator/pools/eloipool-3/bitcoinrpc/authproxy.py", line 118, in __call__
    response = self._get_response()
  File "/home/icreator/pools/eloipool-3/bitcoinrpc/authproxy.py", line 156, in _get_response
    parse_float=decimal.Decimal)
  File "/usr/lib/python3.3/json/__init__.py", line 332, in loads
    return cls(**kw).decode(s)
  File "/usr/lib/python3.3/json/decoder.py", line 353, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.3/json/decoder.py", line 371, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded

but if I run:
python2.7 probe.py  - all work!

??

Erachain Blockchain is fully ready for use Digital Ecosystem based on blockchain technology for business and government with low transaction costs, identification and built-in functions.
+Decentralized exchange of tokens in Erachain
icreator
Legendary
*
Offline Offline

Activity: 1554
Merit: 1008



View Profile WWW
August 28, 2013, 11:35:59 AM
 #185

found error in script authproxy.py
Code: (Python)
       authpair = "%s:%s" % (self.__url.username, self.__url.password)
        authpair = authpair.encode('utf8')
        # <icreator
        authpair = base64.b64encode(authpair) # here return as bytes
        authpair = str(authpair, encoding='utf-8') # convert bytes to str
        # >
        self.__auth_header = "Basic " + authpair
 

and I load directly authproxy:
Code: (Python3.3)
'''import jsonrpc
try:
import jsonrpc.authproxy
jsonrpc.authproxy.USER_AGENT = 'Eloipool/0.1'
except:
from jsonrpclib import jsonrpc
pass
'''
from authproxy import AuthServiceProxy as ServiceProxy, JSONRPCException

and copy client.py from /usr/lib/python3.3/http into my folder with eloipool

BUT!
when call getblocktemplate  from merklemaker.py
Code:
for TC in TCList:
caccess = TC['access'] # =ServiceProxy(uri)
try:
propose = caccess.getblocktemplate(ProposeReq)

rise error in responce:
Quote
2013-08-28 15:11:39,777   makeCoinbaseTxn_responce   ERROR   {'error': {'message': 'Invalid mode', 'code': -8}, 'result': None, 'id': 1}
2013-08-28 15:11:39,780   merkleMaker   CRITICAL   Traceback (most recent call last):
  File "/home/icreator/pools/eloipool-3/merklemaker.py", line 732, in run
    self.merkleMaker_I()
  File "/home/icreator/pools/eloipool-3/merklemaker.py", line 722, in merkleMaker_I
    self.merkleMaker_II()
  File "/home/icreator/pools/eloipool-3/merklemaker.py", line 700, in merkleMaker_II
    return self._updateMerkleTree()
  File "/home/icreator/pools/eloipool-3/merklemaker.py", line 588, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/home/icreator/pools/eloipool-3/merklemaker.py", line 552, in _updateMerkleTree_I
    r = self._updateMerkleTree_fromTS(TS)
  File "/home/icreator/pools/eloipool-3/merklemaker.py", line 523, in _updateMerkleTree_fromTS
    (AcceptedScore, TotalScore) = self._CheckTemplate(newMerkleTree, TS)
  File "/home/icreator/pools/eloipool-3/merklemaker.py", line 456, in _CheckTemplate
    propose = caccess.getblocktemplate(ProposeReq)
  File "/home/icreator/pools/eloipool-3/authproxy.py", line 135, in __call__
    raise JSONRPCException(response['error'])
authproxy.JSONRPCException


"mode" set here:
Code:
		ProposeReq = {
"mode": "proposal",
"data": b2a_hex(data).decode('utf8'),
                        }

BUT if I do:
Code:
		ProposeReq = {
"data": b2a_hex(data).decode('utf8'),
                        }

new error:
Code:
2013-08-28 15:35:29,709	merkleMaker	ERROR	Upstream 'primary' rejected proposed block from 'primary': 0000000000000007d8be81c938a2519ba3b2eb8fe1720ad82210d4f82716a6f7
2013-08-28 15:35:29,710 merkleMaker CRITICAL Traceback (most recent call last):
  File "/home/icreator/pools/eloipool-3/merklemaker.py", line 732, in run
    self.merkleMaker_I()
  File "/home/icreator/pools/eloipool-3/merklemaker.py", line 722, in merkleMaker_I
    self.merkleMaker_II()
  File "/home/icreator/pools/eloipool-3/merklemaker.py", line 688, in merkleMaker_II
    return self._updateMerkleTree()
  File "/home/icreator/pools/eloipool-3/merklemaker.py", line 588, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/home/icreator/pools/eloipool-3/merklemaker.py", line 574, in _updateMerkleTree_I
    raise RuntimeError('Failed to create usable template')
RuntimeError: Failed to create usable template

and how use  jsonrpc_getblocktemplate.py ?? here may  be right code?

Erachain Blockchain is fully ready for use Digital Ecosystem based on blockchain technology for business and government with low transaction costs, identification and built-in functions.
+Decentralized exchange of tokens in Erachain
goozman96
Hero Member
*****
Offline Offline

Activity: 728
Merit: 500



View Profile
September 05, 2013, 07:59:52 PM
 #186

Hey, I'm considering switching from BTC Guild to eligius. Can you answer some questions for me?
1. Why doesn't your site support https
2. Why does Web Of Trust show a yellow rating for your site. See:


Thanks

BTC: 19DKtsdGfQyFzNiEze9KuFQrWGiLDvg6F1 | LTC: LbV6UGyjYbVP49NvQFmuAnkADcaFYvNagK | NMC: NDCdMJmTmGH54Cezmo3CwSxAC7grAoZJbj
DopeLabs
Newbie
*
Offline Offline

Activity: 18
Merit: 0



View Profile WWW
September 12, 2013, 02:08:46 PM
 #187

this seems to be repeating in the logfile.... any ideas as to what i need to do to fix?

Code:
2013-09-12 07:07:32,607 merkleMaker     CRITICAL        Traceback (most recent call last):
  File "/home/dopelabs/eloipool/merklemaker.py", line 692, in run
    self.merkleMaker_I()
  File "/home/dopelabs/eloipool/merklemaker.py", line 682, in merkleMaker_I
    self.merkleMaker_II()
  File "/home/dopelabs/eloipool/merklemaker.py", line 660, in merkleMaker_II
    return self._updateMerkleTree()
  File "/home/dopelabs/eloipool/merklemaker.py", line 548, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/home/dopelabs/eloipool/merklemaker.py", line 512, in _updateMerkleTree_I
    r = self._updateMerkleTree_fromTS(TS)
  File "/home/dopelabs/eloipool/merklemaker.py", line 477, in _updateMerkleTree_fromTS
    MP = self._CallGBT(TS)
  File "/home/dopelabs/eloipool/merklemaker.py", line 327, in _CallGBT
    MP = access.getblocktemplate(self.GBTReq)
  File "/home/dopelabs/eloipool/bitcoinrpc/authproxy.py", line 112, in __call__
    'Content-type': 'application/json'})
  File "/usr/lib/python3.2/http/client.py", line 967, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python3.2/http/client.py", line 995, in _send_request
    self.putrequest(method, url, **skips)
  File "/usr/lib/python3.2/http/client.py", line 850, in putrequest
    raise CannotSendRequest(self.__state)
http.client.CannotSendRequest: Request-sent
EvgenijM86
Newbie
*
Offline Offline

Activity: 15
Merit: 0


View Profile
October 01, 2013, 02:45:36 PM
 #188

How do i install the python-bitcoinrpc and python-base58 ?
Thx
It's usually sufficient to just get the git checkout linked under your eloipool directory.

What does "linked" mean exactly? Should I just git clone them while inside eloipool directory?
greatbotboy
Newbie
*
Offline Offline

Activity: 37
Merit: 0



View Profile WWW
October 12, 2013, 05:26:56 AM
 #189

"Interactive Python 3 console so you can inspect and modify the pool while it's running."

interesting... where can I find this?
greatbotboy
Newbie
*
Offline Offline

Activity: 37
Merit: 0



View Profile WWW
October 12, 2013, 06:46:09 PM
 #190

this seems to be repeating in the logfile.... any ideas as to what i need to do to fix?

Code:
2013-09-12 07:07:32,607 merkleMaker     CRITICAL        Traceback (most recent call last):
  File "/home/dopelabs/eloipool/merklemaker.py", line 692, in run
    self.merkleMaker_I()
  File "/home/dopelabs/eloipool/merklemaker.py", line 682, in merkleMaker_I
    self.merkleMaker_II()
  File "/home/dopelabs/eloipool/merklemaker.py", line 660, in merkleMaker_II
    return self._updateMerkleTree()
  File "/home/dopelabs/eloipool/merklemaker.py", line 548, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/home/dopelabs/eloipool/merklemaker.py", line 512, in _updateMerkleTree_I
    r = self._updateMerkleTree_fromTS(TS)
  File "/home/dopelabs/eloipool/merklemaker.py", line 477, in _updateMerkleTree_fromTS
    MP = self._CallGBT(TS)
  File "/home/dopelabs/eloipool/merklemaker.py", line 327, in _CallGBT
    MP = access.getblocktemplate(self.GBTReq)
  File "/home/dopelabs/eloipool/bitcoinrpc/authproxy.py", line 112, in __call__
    'Content-type': 'application/json'})
  File "/usr/lib/python3.2/http/client.py", line 967, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python3.2/http/client.py", line 995, in _send_request
    self.putrequest(method, url, **skips)
  File "/usr/lib/python3.2/http/client.py", line 850, in putrequest
    raise CannotSendRequest(self.__state)
http.client.CannotSendRequest: Request-sent

I seem to get that quite a bit as well.
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
October 12, 2013, 06:48:56 PM
 #191

That's a recent bug in bitcoinrpc. Please report it to that project.

Groc
Sr. Member
****
Offline Offline

Activity: 560
Merit: 250


Bounty manager (https://t.me/Gudwinn)


View Profile
October 16, 2013, 06:08:00 PM
 #192

Anyone using Eloipool with a Raspberry Pi?
Trongersoll
Hero Member
*****
Offline Offline

Activity: 490
Merit: 501



View Profile
October 16, 2013, 06:48:38 PM
 #193

What would be the minimum hardware requirements for running this as a private pool? assume ubuntu 12.4 server as a host. Could a 10 year old pentium dual core 2.0Ghz run this? would extra RAM help?
Inaba
Legendary
*
Offline Offline

Activity: 1260
Merit: 1000



View Profile WWW
October 16, 2013, 06:57:27 PM
 #194

Depends on how big your pool is.  I would say a dual core with 8 GB of RAM would work for a small pool.   It's very ram hungry.


If you're searching these lines for a point, you've probably missed it.  There was never anything there in the first place.
greatbotboy
Newbie
*
Offline Offline

Activity: 37
Merit: 0



View Profile WWW
October 22, 2013, 06:07:21 PM
 #195

"Interactive Python 3 console so you can inspect and modify the pool while it's running."

interesting... where can I find this?

Seriously where do i find this?
agibby5
Sr. Member
****
Offline Offline

Activity: 267
Merit: 250


View Profile
October 23, 2013, 06:18:16 AM
 #196

What does "Nobody to longpoll" mean?
Inaba
Legendary
*
Offline Offline

Activity: 1260
Merit: 1000



View Profile WWW
October 23, 2013, 11:08:41 PM
 #197

"Interactive Python 3 console so you can inspect and modify the pool while it's running."

interesting... where can I find this?

Seriously where do i find this?

Hit return... that >>> prompt is your console.

What does "Nobody to longpoll" mean?

Means nobody is connected to your pool.

If you're searching these lines for a point, you've probably missed it.  There was never anything there in the first place.
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
October 23, 2013, 11:34:22 PM
 #198

What does "Nobody to longpoll" mean?
Means nobody is connected to your pool.
...with GBT/getwork longpolling.

agibby5
Sr. Member
****
Offline Offline

Activity: 267
Merit: 250


View Profile
October 24, 2013, 03:11:52 PM
 #199


What does "Nobody to longpoll" mean?

Means nobody is connected to your pool.


I was worried about that.  I am using cgminer to connect via stratum.  I am showing shares being logged to my share log file.  I am connecting from two different machines.  My log file is kind of repetitive... here's an excerpt:
Quote
2013-10-23 23:39:03,067   JSONRPCServer   INFO   Nobody to longpoll
2013-10-23 23:39:04,295   JSONRPCServer   INFO   Nobody to longpoll
2013-10-23 23:43:05,339   merkleMaker   INFO   New block: 000000000000000f733d4d33d9d0b31acec6e4131795d41bc5bf5d8d70e99de2 (height: 265667; bits: 19100ab6)
2013-10-23 23:43:05,341   JSONRPCServer   INFO   Nobody to longpoll
2013-10-23 23:43:06,613   JSONRPCServer   INFO   Nobody to longpoll
2013-10-23 23:46:07,044   merkleMaker   INFO   New block: 0000000000000002187246b45974f1feacbb3cdc57335b3b8f311181b5606aee (height: 265668; bits: 19100ab6)
2013-10-23 23:46:07,047   JSONRPCServer   INFO   Nobody to longpoll
2013-10-23 23:46:08,318   JSONRPCServer   INFO   Nobody to longpoll
2013-10-23 23:47:52,909   merkleMaker   INFO   New block: 000000000000000433d7645b726bb6f734643e9a7883c40459d903bd9fe76779 (height: 265669; bits: 19100ab6)
2013-10-23 23:47:52,910   JSONRPCServer   INFO   Nobody to longpoll
2013-10-23 23:47:54,091   JSONRPCServer   INFO   Nobody to longpoll
2013-10-23 23:59:24,201   merkleMaker   INFO   New block: 0000000000000004bed61203007b92c4d07e8066ef3feaa4ac67a38cd29cf04b (height: 265670; bits: 19100ab6)
2013-10-23 23:59:24,208   JSONRPCServer   INFO   Nobody to longpoll
2013-10-23 23:59:25,481   JSONRPCServer   INFO   Nobody to longpoll
2013-10-23 23:59:39,346   merkleMaker   INFO   New block: 000000000000000f101af970586963aadf934dfd043fd8f19cc23ce7478618d4 (height: 265671; bits: 19100ab6)
2013-10-23 23:59:39,352   JSONRPCServer   INFO   Nobody to longpoll
2013-10-23 23:59:40,566   JSONRPCServer   INFO   Nobody to longpoll
jgarzik
Legendary
*
Offline Offline

Activity: 1596
Merit: 1091


View Profile
October 24, 2013, 03:19:26 PM
 #200

As Luke indicated, "nobody to longpoll" is normal for pools without getwork/getblocktemplate (GBT) users.

Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own.
Visit bloq.com / metronome.io
Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
agibby5
Sr. Member
****
Offline Offline

Activity: 267
Merit: 250


View Profile
October 24, 2013, 03:40:29 PM
 #201

As Luke indicated, "nobody to longpoll" is normal for pools without getwork/getblocktemplate (GBT) users.


I just realized Luke responded. The first reply confused me, but Luke's cleared it up. Sorry. Thanks again!
agibby5
Sr. Member
****
Offline Offline

Activity: 267
Merit: 250


View Profile
October 25, 2013, 10:50:13 PM
 #202

I keep getting the following error repeatedly.

Ideas?

Quote
2013-10-25 12:38:04,438   StratumHandler   DEBUG   Traceback (most recent call last):
  File "../eloipool/eloipool.py", line 668, in receiveShare
    checkShare(share)
  File "../eloipool/eloipool.py", line 506, in checkShare
    MWL = workLog[None]
KeyError: None

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/media/raid5/working/mining/eloipool-server/eloipool/stratumserver.py", line 91, in found_terminator
    rv = getattr(self, funcname)(*rpc['params'])
  File "/media/raid5/working/mining/eloipool-server/eloipool/stratumserver.py", line 199, in _stratum_mining_submit
    self.server.receiveShare(share)
  File "../eloipool/eloipool.py", line 677, in receiveShare
    logShare(share)
  File "../eloipool/eloipool.py", line 651, in logShare
    share['solution'] = b2a_hex(swap32(share['data'])).decode('utf8')
KeyError: 'data'
golonka
Newbie
*
Offline Offline

Activity: 12
Merit: 0


View Profile
October 28, 2013, 07:31:59 AM
 #203

is is possible to sig generated blocks with additional message eg. 'block generated by ...'
whichh command should i use ?
juhakall
Sr. Member
****
Offline Offline

Activity: 657
Merit: 250


View Profile WWW
October 31, 2013, 01:47:25 AM
 #204

What could be causing these errors? I've been using eloipool without encountering this before.

Quote
2013-10-31 03:34:54,429   newBlockNotification   INFO   Received new block notification
2013-10-31 03:34:54,432   merkleMaker   INFO   New block: 000000000000e96483898230fc2b79ef42d1894391214abe45d37a5e3e24ade5 (height: 21821; bits: 1b00ff4b)
2013-10-31 03:34:54,435   JSONRPCServer   INFO   Nobody to longpoll
2013-10-31 03:34:54,525   BitcoinLink   DEBUG   Received block inv over p2p for 000000000000e96483898230fc2b79ef42d1894391214abe45d37a5e3e24ade5
2013-10-31 03:34:54,849   JSONRPCServer   INFO   Nobody to longpoll
2013-10-31 03:38:33,235   BitcoinLink   DEBUG   Received block inv over p2p for 0000000000007e562f51f86f48082895e82492d56774a62d3d6a3e7ec11fe6a5
2013-10-31 03:38:33,251   newBlockNotification   INFO   Received new block notification
Exception in thread newBlockNotification via signal 10:
Traceback (most recent call last):
  File "/usr/lib/python3.2/threading.py", line 740, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.2/threading.py", line 693, in run
    self._target(*self._args, **self._kwargs)
  File "./eloipool.py", line 681, in newBlockNotification
    MM.updateMerkleTree()
  File "/home/juhakall/src/eloipool/merklemaker.py", line 560, in updateMerkleTree
    self._updateMerkleTree()
  File "/home/juhakall/src/eloipool/merklemaker.py", line 548, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/home/juhakall/src/eloipool/merklemaker.py", line 512, in _updateMerkleTree_I
    r = self._updateMerkleTree_fromTS(TS)
  File "/home/juhakall/src/eloipool/merklemaker.py", line 477, in _updateMerkleTree_fromTS
    MP = self._CallGBT(TS)
  File "/home/juhakall/src/eloipool/merklemaker.py", line 327, in _CallGBT
    MP = access.getblocktemplate(self.GBTReq)
  File "/home/juhakall/src/eloipool/bitcoinrpc/authproxy.py", line 112, in __call__
    'Content-type': 'application/json'})
  File "/usr/lib/python3.2/http/client.py", line 967, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python3.2/http/client.py", line 995, in _send_request
    self.putrequest(method, url, **skips)
  File "/usr/lib/python3.2/http/client.py", line 850, in putrequest
    raise CannotSendRequest(self.__state)
http.client.CannotSendRequest: Request-sent

2013-10-31 03:38:33,257   merkleMaker   INFO   New block: 0000000000007e562f51f86f48082895e82492d56774a62d3d6a3e7ec11fe6a5 (height: 21822; bits: 1b01325a)
2013-10-31 03:38:33,258   JSONRPCServer   INFO   Nobody to longpoll
2013-10-31 03:38:33,658   JSONRPCServer   INFO   Nobody to longpoll
2013-10-31 03:40:05,491   newBlockNotification   INFO   Received new block notification
2013-10-31 03:40:05,558   merkleMaker   INFO   New block: 000000000000d7cd0a17d0d7b271a2ec6e1d02f5256b65b7b4ca0699b054ccda (height: 21823; bits: 1b01325a)
2013-10-31 03:40:05,560   JSONRPCServer   INFO   Nobody to longpoll
2013-10-31 03:40:05,584   BitcoinLink   DEBUG   Received block inv over p2p for 000000000000d7cd0a17d0d7b271a2ec6e1d02f5256b65b7b4ca0699b054ccda
2013-10-31 03:40:05,911   JSONRPCServer   INFO   Nobody to longpoll
2013-10-31 03:40:47,580   newBlockNotification   INFO   Received new block notification
2013-10-31 03:40:47,583   merkleMaker   INFO   New block: 0000000000008bf8bbb1c66bbfb4898cc96af99e2a1c6c1543b410b80650af98 (height: 21824; bits: 1b01325a)
2013-10-31 03:40:47,586   JSONRPCServer   INFO   Nobody to longpoll
2013-10-31 03:40:47,679   BitcoinLink   DEBUG   Received block inv over p2p for 0000000000008bf8bbb1c66bbfb4898cc96af99e2a1c6c1543b410b80650af98
2013-10-31 03:40:47,974   JSONRPCServer   INFO   Nobody to longpoll
2013-10-31 03:40:51,674   newBlockNotification   INFO   Received new block notification
2013-10-31 03:40:51,678   merkleMaker   INFO   New block: 00000000000031ac074f8fb95c0a60f844095b25a7c8e23afa0503f201d78c89 (height: 21825; bits: 1b016f9f)
2013-10-31 03:40:51,680   JSONRPCServer   INFO   Nobody to longpoll
2013-10-31 03:40:51,770   BitcoinLink   DEBUG   Received block inv over p2p for 00000000000031ac074f8fb95c0a60f844095b25a7c8e23afa0503f201d78c89
2013-10-31 03:40:52,064   JSONRPCServer   INFO   Nobody to longpoll
2013-10-31 03:42:50,851   checkShare   INFO   BLKHASH:             a410d33380efba2a037e7e7f0c7cebcc3ac9e845d00b2e8bd1d6
2013-10-31 03:42:50,852   checkShare   INFO    TARGET:            16f9f000000000000000000000000000000000000000000000000
2013-10-31 03:42:50,853   checkShare   INFO   Submitting upstream
2013-10-31 03:42:50,853   checkShare   INFO   Real block payload: 02000000898cd701f20305fa3ae2c8a7255b0944f8600a5cb98f4f07ac31000000000000bf7e467 c046ee191017e71cfc1dad3a5521678b8eba78f79de57bf2a7cf7a54f98b571529f6f011bb19127 c00101000000010000000000000000000000000000000000000000000000000000000000000000f fffffff10024155045271b59201000000e0010000ffffffff0100e1f505000000001976a9145590 411c5385c0afc54dc09235ee52db575719f788ac00000000
2013-10-31 03:42:50,855   merkleMaker   INFO   New block: 000000000000a410d33380efba2a037e7e7f0c7cebcc3ac9e845d00b2e8bd1d6 (height: 21826; bits: 1b016f9f)
2013-10-31 03:42:50,856   Waker for BitcoinNode   DEBUG   Read wakeup
2013-10-31 03:42:50,857   JSONRPCServer   INFO   Nobody to longpoll
2013-10-31 03:42:50,861   BitcoinNode   INFO   Sent `block' to 1 nodes
2013-10-31 03:42:50,879   blockSubmission   DEBUG   Upstream 'primary' accepted block
2013-10-31 03:42:50,889   newBlockNotification   INFO   Received new block notification
2013-10-31 03:42:51,282   JSONRPCServer   INFO   Nobody to longpoll

As you can see, it doesn't happen on every block notify.

I'm currently developing an experimental social AI platform
greatbotboy
Newbie
*
Offline Offline

Activity: 37
Merit: 0



View Profile WWW
October 31, 2013, 09:55:26 PM
Last edit: November 01, 2013, 12:36:27 PM by greatbotboy
 #205

I think have set the proper variables to use varrdiff however the pool still asks for diff 1 shares. I have a 30Gh/s BFL with it's own username and the pool runs nearly at 50Gh/s the rest of the hashes are on 5 Erupter sets ~8 Erupters per block each hub with it's own username. I think I should be producing enough shares to change the diff for most usernames. but it is steady at diff 1.  any ideas?

 Huh Huh

Code:
### Settings relating to server scaling/load

# Share hashes must be below this to be valid shares
# If dynamic targetting is enabled, this is a minimum
# diff 1: ShareTarget = 0x00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff
# diff 2: ShareTarget = 0x000000005fffffffffffffffffffffffffffffffffffffffffffffffffffffff
# diff 3: ShareTarget = 0x000000004fffffffffffffffffffffffffffffffffffffffffffffffffffffff
ShareTarget = 0x00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff

# Automatically adjust targets per username
# 0 = disabled
# 1 = arbitrary targets
# 2 = power of two difficulties (zero bit counts)
DynamicTargetting = 2

# How many shares per minute to try to achieve on average
DynamicTargetGoal = 8

# Number of seconds hashrate is measured over
DynamicTargetWindow = 120
Marty19
Hero Member
*****
Offline Offline

Activity: 725
Merit: 500



View Profile WWW
November 01, 2013, 12:38:46 PM
 #206

What am I doing wrong (or is it environmental!) ?

Code:
2013-11-01 05:26:43,567	SocketListener	ERROR	('', 1000)
Traceback (most recent call last):
  File "/home/marty19/Eloipool/eloipool/util.py", line 144, in tryErr
    return func(*a, **kw)
  File "/home/marty19/Eloipool/eloipool/networkserver.py", line 254, in setup_socket
    sock = self._makebind(server_address)
  File "/home/marty19/Eloipool/eloipool/networkserver.py", line 245, in _makebind
    return self._makebind_py(*a, **ka)
  File "/home/marty19/Eloipool/eloipool/networkserver.py", line 227, in _makebind_py
    sock.bind(server_address)
socket.error: getsockaddrarg: bad family

Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
November 01, 2013, 01:26:05 PM
 #207

What am I doing wrong (or is it environmental!) ?
OS issue, missing IPv6 support.

greatbotboy
Newbie
*
Offline Offline

Activity: 37
Merit: 0



View Profile WWW
November 05, 2013, 06:14:19 PM
 #208

I think have set the proper variables to use varrdiff however the pool still asks for diff 1 shares. I have a 30Gh/s BFL with it's own username and the pool runs nearly at 50Gh/s the rest of the hashes are on 5 Erupter sets ~8 Erupters per block each hub with it's own username. I think I should be producing enough shares to change the diff for most usernames. but it is steady at diff 1.  any ideas?

 Huh Huh

Code:
### Settings relating to server scaling/load

# Share hashes must be below this to be valid shares
# If dynamic targetting is enabled, this is a minimum
# diff 1: ShareTarget = 0x00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff
# diff 2: ShareTarget = 0x000000005fffffffffffffffffffffffffffffffffffffffffffffffffffffff
# diff 3: ShareTarget = 0x000000004fffffffffffffffffffffffffffffffffffffffffffffffffffffff
ShareTarget = 0x00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff

# Automatically adjust targets per username
# 0 = disabled
# 1 = arbitrary targets
# 2 = power of two difficulties (zero bit counts)
DynamicTargetting = 2

# How many shares per minute to try to achieve on average
DynamicTargetGoal = 8

# Number of seconds hashrate is measured over
DynamicTargetWindow = 120

any help?
volosator
Sr. Member
****
Offline Offline

Activity: 272
Merit: 250



View Profile
November 08, 2013, 11:14:00 PM
 #209

Same problem here.

My miner connects to the pool, pool sets diff to 64. After a minute or so diff drops down to 1.

Please advice!

greatbotboy
Newbie
*
Offline Offline

Activity: 37
Merit: 0



View Profile WWW
November 09, 2013, 09:26:54 PM
 #210

Same problem here.

My miner connects to the pool, pool sets diff to 64. After a minute or so diff drops down to 1.

Please advice!



I don't even get the initial jump... shares are always diff 1
jspielberg
Sr. Member
****
Offline Offline

Activity: 490
Merit: 255



View Profile
November 12, 2013, 04:19:07 AM
Last edit: November 13, 2013, 10:15:24 AM by jspielberg
 #211

I keep getting the following error repeatedly.

Ideas?

Quote
2013-10-25 12:38:04,438   StratumHandler   DEBUG   Traceback (most recent call last):
  File "../eloipool/eloipool.py", line 668, in receiveShare
    checkShare(share)
  File "../eloipool/eloipool.py", line 506, in checkShare
    MWL = workLog[None]
KeyError: None

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/media/raid5/working/mining/eloipool-server/eloipool/stratumserver.py", line 91, in found_terminator
    rv = getattr(self, funcname)(*rpc['params'])
  File "/media/raid5/working/mining/eloipool-server/eloipool/stratumserver.py", line 199, in _stratum_mining_submit
    self.server.receiveShare(share)
  File "../eloipool/eloipool.py", line 677, in receiveShare
    logShare(share)
  File "../eloipool/eloipool.py", line 651, in logShare
    share['solution'] = b2a_hex(swap32(share['data'])).decode('utf8')
KeyError: 'data'

I have seen the same error in my debug log.  Not sure if I should be concerned or not, though 'checkshare' is how I was planning on tracking the status of my micro-pool.  It looks like checkshare logs when a submitted hash looks like a winner.

In a semi-related note.
Anyone know if there are any issues with swallowing the authproxy generated CannotSendRequest exception?

Code:
[bitcoinrpc]$ git diff
diff --git a/bitcoinrpc/authproxy.py b/bitcoinrpc/authproxy.py
index 2914477..cfad7fb 100644
--- a/bitcoinrpc/authproxy.py
+++ b/bitcoinrpc/authproxy.py
@@ -105,11 +105,15 @@ class AuthServiceProxy(object):
                                'method': self.__service_name,
                                'params': args,
                                'id': self.__id_count})
-        self.__conn.request('POST', self.__url.path, postdata,
+        try:
+            self.__conn.request('POST', self.__url.path, postdata,
                             {'Host': self.__url.hostname,
                              'User-Agent': USER_AGENT,
                              'Authorization': self.__auth_header,
                              'Content-type': 'application/json'})
+        except http.client.CannotSendRequest:
+            ## swallow exception
+            pass
 
         response = self._get_response()
         if response['error'] is not None:

It looks like the exception message to the cannot send request exception is "request-sent" which seems like the exception isn't valid. It also looks like there is some defensive code after this block to check the response state.  Anyway... I am going to see if anything blows up I guess with this change.   My python skills are currently pretty poor, but if someone knows better... would be glad to hear it.   (I guess this is a question really for Garzik).

Marty19
Hero Member
*****
Offline Offline

Activity: 725
Merit: 500



View Profile WWW
November 15, 2013, 01:18:00 PM
 #212

Any idea's what I'm missing now :

Code:
Traceback (most recent call last):
  File "eloipool.py", line 77, in <module>
    bcnode = BitcoinNode(config.UpstreamNetworkId)
  File "/eloipool/bitcoin/node.py", line 146, in __init__
    super().__init__(*a, **ka)
TypeError: super() takes at least 1 argument (0 given)

greatbotboy
Newbie
*
Offline Offline

Activity: 37
Merit: 0



View Profile WWW
November 16, 2013, 02:38:33 AM
 #213

I don't know if it was the git reset or that I commented out the ShareTarget, and GotWorkTarget. but it seems to be working
SpAcEDeViL
Legendary
*
Offline Offline

Activity: 986
Merit: 1027


Miner-Control.de Pooler


View Profile WWW
November 20, 2013, 09:34:33 PM
Last edit: November 20, 2013, 10:33:31 PM by SpAcEDeViL
 #214

Dont work on CentOS:

Code:
# python3 eloipool.py
Traceback (most recent call last):
  File "eloipool.py", line 81, in <module>
    import jsonrpc
  File "/opt/python3/lib/python3.3/site-packages/jsonrpc/__init__.py", line 24, in <module>
    from jsonrpc.serviceHandler import ServiceMethod, ServiceHandler, ServiceMethodNotFound, ServiceException
  File "/opt/python3/lib/python3.3/site-packages/jsonrpc/serviceHandler.py", line 54
    except ServiceRequestNotTranslatable, e:
                                        ^
SyntaxError: invalid syntax
 

BUT WHAT IS WRONG HERE?!

jspielberg
Sr. Member
****
Offline Offline

Activity: 490
Merit: 255



View Profile
November 23, 2013, 06:04:44 PM
 #215

The exception I was getting with bitcoinrpc was addressed by following jgarzik's steps in the avalon/eloipool thread... https://bitcointalk.org/index.php?topic=158105.0

Quote

eloipool setup
...
python-bitcoinrpc       https://github.com/jgarzik/python-bitcoinrpc
...
2) For python-bitcoinrpc, check out an older release,

Code:
$ cd /repo/python-bitcoinrpc
$ git checkout -b solo-mining 770881c8bd9b1f92427290270b37a28751cf9df0

So... that part is good. I keep getting the following exception though.

Code:
2013-11-23 03:58:18,716 StratumHandler  DEBUG   Traceback (most recent call last):
  File "./eloipool.py", line 668, in receiveShare
    checkShare(share)
  File "./eloipool.py", line 506, in checkShare
    MWL = workLog[None]
KeyError: None

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/foo/build/eloipool/stratumserver.py", line 91, in found_terminator
    rv = getattr(self, funcname)(*rpc['params'])
  File "/home/foo/build/eloipool/stratumserver.py", line 199, in _stratum_mining_submit
    self.server.receiveShare(share)
  File "./eloipool.py", line 677, in receiveShare
    logShare(share)
  File "./eloipool.py", line 651, in logShare
    share['solution'] = b2a_hex(swap32(share['data'])).decode('utf8')
KeyError: 'data'

2013-11-23 03:58:18,720 JSONRPCServer   INFO    Nobody to longpoll


I am wondering if I should be concerned that eloipool won't be handling winning shares correctly.

Anyone work around this?
FoldingTime
Full Member
***
Offline Offline

Activity: 162
Merit: 100


View Profile
November 24, 2013, 01:22:07 PM
 #216

I don't know if it was the git reset or that I commented out the ShareTarget, and GotWorkTarget. but it seems to be working
I was getting the same error and commented out ShareTarget and GotWorkTarget and now working correctly.

Thanks for posting your work around.
agibby5
Sr. Member
****
Offline Offline

Activity: 267
Merit: 250


View Profile
December 01, 2013, 06:40:37 AM
 #217

How would I go about setting up multiple instances of eloipool on one server for multiple crypto coins?  I'm guessing there is a problem with sending signals to the eloipool process if there are many running... for example.
agibby5
Sr. Member
****
Offline Offline

Activity: 267
Merit: 250


View Profile
December 01, 2013, 05:58:14 PM
Last edit: December 01, 2013, 06:30:46 PM by agibby5
 #218

I keep getting the following error repeatedly.

Ideas?

Quote
2013-10-25 12:38:04,438   StratumHandler   DEBUG   Traceback (most recent call last):
  File "../eloipool/eloipool.py", line 668, in receiveShare
    checkShare(share)
  File "../eloipool/eloipool.py", line 506, in checkShare
    MWL = workLog[None]
KeyError: None

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/media/raid5/working/mining/eloipool-server/eloipool/stratumserver.py", line 91, in found_terminator
    rv = getattr(self, funcname)(*rpc['params'])
  File "/media/raid5/working/mining/eloipool-server/eloipool/stratumserver.py", line 199, in _stratum_mining_submit
    self.server.receiveShare(share)
  File "../eloipool/eloipool.py", line 677, in receiveShare
    logShare(share)
  File "../eloipool/eloipool.py", line 651, in logShare
    share['solution'] = b2a_hex(swap32(share['data'])).decode('utf8')
KeyError: 'data'

Is this a setup issue? Or is this a code issue?  Has anyone else seen his?  Everything else seems to work properly, but then I get this error all the time. I'm not sure if I'm getting blocks or not.  I'm using this pool software for Alt-SHA256 coins... I just started this up again yesterday and I haven't seen any payouts yet.  This makes me worried.


EDIT: looks like someone else has seen this...
I keep getting the following exception though.

Code:
2013-11-23 03:58:18,716 StratumHandler  DEBUG   Traceback (most recent call last):
  File "./eloipool.py", line 668, in receiveShare
    checkShare(share)
  File "./eloipool.py", line 506, in checkShare
    MWL = workLog[None]
KeyError: None

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/foo/build/eloipool/stratumserver.py", line 91, in found_terminator
    rv = getattr(self, funcname)(*rpc['params'])
  File "/home/foo/build/eloipool/stratumserver.py", line 199, in _stratum_mining_submit
    self.server.receiveShare(share)
  File "./eloipool.py", line 677, in receiveShare
    logShare(share)
  File "./eloipool.py", line 651, in logShare
    share['solution'] = b2a_hex(swap32(share['data'])).decode('utf8')
KeyError: 'data'

2013-11-23 03:58:18,720 JSONRPCServer   INFO    Nobody to longpoll


I am wondering if I should be concerned that eloipool won't be handling winning shares correctly.

Anyone work around this?

Is this a known issue?
agibby5
Sr. Member
****
Offline Offline

Activity: 267
Merit: 250


View Profile
December 02, 2013, 06:38:17 AM
 #219

Also, how hard would it be to add share log file rotation? Mine grows out of control.
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
December 02, 2013, 11:29:33 AM
 #220

Also, how hard would it be to add share log file rotation? Mine grows out of control.
Already supported.

agibby5
Sr. Member
****
Offline Offline

Activity: 267
Merit: 250


View Profile
December 03, 2013, 02:46:40 PM
 #221

Also, how hard would it be to add share log file rotation? Mine grows out of control.
Already supported.

I tried to use the same mechanism as I use for the regular log file and it doesn't appear to be working...


I keep getting the following error repeatedly.

Ideas?

Quote
2013-10-25 12:38:04,438   StratumHandler   DEBUG   Traceback (most recent call last):
  File "../eloipool/eloipool.py", line 668, in receiveShare
    checkShare(share)
  File "../eloipool/eloipool.py", line 506, in checkShare
    MWL = workLog[None]
KeyError: None

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/media/raid5/working/mining/eloipool-server/eloipool/stratumserver.py", line 91, in found_terminator
    rv = getattr(self, funcname)(*rpc['params'])
  File "/media/raid5/working/mining/eloipool-server/eloipool/stratumserver.py", line 199, in _stratum_mining_submit
    self.server.receiveShare(share)
  File "../eloipool/eloipool.py", line 677, in receiveShare
    logShare(share)
  File "../eloipool/eloipool.py", line 651, in logShare
    share['solution'] = b2a_hex(swap32(share['data'])).decode('utf8')
KeyError: 'data'

Is this a setup issue? Or is this a code issue?  Has anyone else seen his?  Everything else seems to work properly, but then I get this error all the time. I'm not sure if I'm getting blocks or not.  I'm using this pool software for Alt-SHA256 coins... I just started this up again yesterday and I haven't seen any payouts yet.  This makes me worried.


EDIT: looks like someone else has seen this...
I keep getting the following exception though.

Code:
2013-11-23 03:58:18,716 StratumHandler  DEBUG   Traceback (most recent call last):
  File "./eloipool.py", line 668, in receiveShare
    checkShare(share)
  File "./eloipool.py", line 506, in checkShare
    MWL = workLog[None]
KeyError: None

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/foo/build/eloipool/stratumserver.py", line 91, in found_terminator
    rv = getattr(self, funcname)(*rpc['params'])
  File "/home/foo/build/eloipool/stratumserver.py", line 199, in _stratum_mining_submit
    self.server.receiveShare(share)
  File "./eloipool.py", line 677, in receiveShare
    logShare(share)
  File "./eloipool.py", line 651, in logShare
    share['solution'] = b2a_hex(swap32(share['data'])).decode('utf8')
KeyError: 'data'

2013-11-23 03:58:18,720 JSONRPCServer   INFO    Nobody to longpoll


I am wondering if I should be concerned that eloipool won't be handling winning shares correctly.

Anyone work around this?

Is this a known issue?

I had this four times overnight.
agibby5
Sr. Member
****
Offline Offline

Activity: 267
Merit: 250


View Profile
December 03, 2013, 02:48:22 PM
 #222

How would I go about setting up multiple instances of eloipool on one server for multiple crypto coins?  I'm guessing there is a problem with sending signals to the eloipool process if there are many running... for example.

I figured this out on my own.  I don't know if this is the right way, but I copied and renamed my eloipool-server folder and changed the name of the eloipool.py file and made sure my newblock script was sending the message to the right process name and it workes fine!
aTg
Legendary
*
Offline Offline

Activity: 1358
Merit: 1000



View Profile
December 10, 2013, 08:01:09 PM
 #223

Hi Luke, I installed eloi and it works perfectly, my question is, how can I make the rewards go only to the user who submitted the winning hash, I understand it has to be configured in diff1 to two different people not working in the same hash but how?
Thanks in advance.
danny1987
Member
**
Offline Offline

Activity: 85
Merit: 11


View Profile
December 10, 2013, 08:48:34 PM
 #224

Hello,

I've installed eloipool and everything is working fine except for one thing, my miner stays at difficulty 0. Is there some setting I did wrong or is there some extra configuration needed for vardiff to work ?

Thanks for the reply!

Regards,

Danny
FoldingTime
Full Member
***
Offline Offline

Activity: 162
Merit: 100


View Profile
December 12, 2013, 02:02:19 PM
Last edit: December 12, 2013, 05:34:56 PM by FoldingTime
 #225

Restart pool server (including upgrades) without miners losing work.

Can someone let me know how to restart the pool server without miners losing work?

Many thanks.
FoldingTime
Full Member
***
Offline Offline

Activity: 162
Merit: 100


View Profile
December 12, 2013, 02:04:07 PM
 #226

Hello,

I've installed eloipool and everything is working fine except for one thing, my miner stays at difficulty 0. Is there some setting I did wrong or is there some extra configuration needed for vardiff to work ?

Thanks for the reply!

Regards,

Danny
There is a workaround at https://bitcointalk.org/index.php?topic=61731.msg3598140#msg3598140

FoldingTime
Full Member
***
Offline Offline

Activity: 162
Merit: 100


View Profile
December 13, 2013, 04:41:10 PM
 #227

I occasionally get this error. any ideas what it could be?

Code:
  File "./eloipool.py", line 668, in receiveShare
    checkShare(share)
  File "./eloipool.py", line 506, in checkShare
    MWL = workLog[None]
KeyError: None

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/bitcoin/eloipool/stratumserver.py", line 91, in found_terminator
    rv = getattr(self, funcname)(*rpc['params'])
  File "/home/bitcoin/eloipool/stratumserver.py", line 199, in _stratum_mining_submit
    self.server.receiveShare(share)
  File "./eloipool.py", line 677, in receiveShare
    logShare(share)
  File "./eloipool.py", line 651, in logShare
    share['solution'] = b2a_hex(swap32(share['data'])).decode('utf8')
KeyError: 'data'

From what I can make out the checkShare fails to handle the share being passed but not sure other than that.
agibby5
Sr. Member
****
Offline Offline

Activity: 267
Merit: 250


View Profile
December 16, 2013, 05:26:57 AM
 #228

I occasionally get this error. any ideas what it could be?

Code:
  File "./eloipool.py", line 668, in receiveShare
    checkShare(share)
  File "./eloipool.py", line 506, in checkShare
    MWL = workLog[None]
KeyError: None

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/bitcoin/eloipool/stratumserver.py", line 91, in found_terminator
    rv = getattr(self, funcname)(*rpc['params'])
  File "/home/bitcoin/eloipool/stratumserver.py", line 199, in _stratum_mining_submit
    self.server.receiveShare(share)
  File "./eloipool.py", line 677, in receiveShare
    logShare(share)
  File "./eloipool.py", line 651, in logShare
    share['solution'] = b2a_hex(swap32(share['data'])).decode('utf8')
KeyError: 'data'

From what I can make out the checkShare fails to handle the share being passed but not sure other than that.

This is a very mysterious problem, apparently.

littlemc
Member
**
Offline Offline

Activity: 98
Merit: 10


View Profile
December 26, 2013, 05:56:32 AM
 #229

so... no scrypt support?

koosBR
Newbie
*
Offline Offline

Activity: 7
Merit: 0


View Profile
January 04, 2014, 12:01:21 AM
 #230

need support to create a pool for a new currency. Who can help me send PM and reward in the currency in question
wuzamarine
Sr. Member
****
Offline Offline

Activity: 264
Merit: 250

derp


View Profile
January 19, 2014, 12:58:08 AM
 #231

I am trying to get eloipool up and running in a solo mining configuration using this installation https://bitcointalk.org/index.php?topic=158105.0 eolipool starts up error free but clients cannot connect. The port is up and no visual errors in any log. tcpdump does show the packets hitting the port.

I followed the directions and I get no errors. Port 8338 comes live and can be seen via netstat.

tcp6      15      0 :::8338                 :::*                    LISTEN
tcp6       0      0 :::22                   :::*                    LISTEN
tcp6      70      0 192.168.1.8:8338        192.168.1.8:33885       CLOSE_WAIT
tcp6      71      0 192.168.1.8:8338        192.168.1.8:33896       CLOSE_WAIT
tcp6      71      0 192.168.1.8:8338        192.168.1.8:33890       CLOSE_WAIT
tcp6      71      0 192.168.1.8:8338        192.168.1.8:33897       CLOSE_WAIT
tcp6      71      0 192.168.1.8:8338        192.168.1.8:33899       CLOSE_WAIT
tcp6      70      0 192.168.1.8:8338        192.168.1.8:33892       CLOSE_WAIT
tcp6      71      0 192.168.1.8:8338        192.168.1.8:33895       CLOSE_WAIT
tcp6      71      0 192.168.1.8:8338        192.168.1.8:33891       CLOSE_WAIT
tcp6      71      0 192.168.1.8:8338        192.168.1.8:33900       CLOSE_WAIT
tcp6      71      0 192.168.1.8:8338        192.168.1.8:33889       CLOSE_WAIT
tcp6      71      0 192.168.1.8:8338        192.168.1.8:33894       CLOSE_WAIT
tcp6      71      0 192.168.1.8:8338        192.168.1.8:33898       CLOSE_WAIT
tcp6      70      0 192.168.1.8:8338        192.168.1.8:33887       CLOSE_WAIT
tcp6      70      0 192.168.1.8:8338        192.168.1.8:33884       CLOSE_WAIT
tcp6      70      0 127.0.0.1:8338          127.0.0.1:49649         CLOSE_WAIT



gentoo001 home # ./minerd -o stratum+tcp://192.168.1.8:8338 -u admin -p butthole -q
[2014-01-18 22:51:19] 1 miner threads started, using 'scrypt' algorithm.
[2014-01-18 22:51:19] Starting Stratum on stratum+tcp://192.168.1.8:8338
[2014-01-18 22:51:49] stratum_subscribe timed out
[2014-01-18 22:51:49] ...retry after 30 seconds
[2014-01-18 22:52:49] stratum_subscribe timed out
[2014-01-18 22:52:49] ...retry after 30 seconds





gentoo001 eloipool # cat config.py
# Please note that config files are Python source code!
# A common mistake is to put an option list (such as TemplateChecks,
# JSONRPCAddresses, etc) excluding the final comma.
# For example (this is WRONG):
#     JSONRPCAddresses = (
#         ('', 8337)  # <-- there must be a comma after EVERY item, even last
#     )
# Without the final comma, should the option list ever have only one item in
# it, Python would interpret the "main" parenthesis as a mere sub-expression
# instead of a list of values. If that occurs, you might get crazy errors, or
# things might just not work correctly. Be careful to not miss the commas.

### Settings relating to server identity

# Name of the server
ServerName = 'Whirpools'

### Settings relating to server scaling/load

# Share hashes must be below this to be valid shares
# If dynamic targetting is enabled, this is a minimum
ShareTarget = 0x000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffff

# Automatically adjust targets per username
# 0 = disabled
# 1 = arbitrary targets
# 2 = power of two difficulties (zero bit counts)
DynamicTargetting = 2

# How many shares per minute to try to achieve on average
DynamicTargetGoal = 6

# Number of seconds hashrate is measured over
DynamicTargetWindow = 120

# Minimum and maximum of merkle roots to keep queued
WorkQueueSizeRegular = (0x100, 0x1000)

# Minimum and maximum of BLANK merkle roots to keep queued
# (used if we run out of populated ones)
WorkQueueSizeClear = (0x1000, 0x2000)

# Minimum and maximum of BLANK merkle roots to keep queued, one height up
# (used for longpolls)
WorkQueueSizeLongpoll = (0x1000, 0x2000)

# How long to wait between getmemorypool updates normally
MinimumTxnUpdateWait = 5

# How long to wait between retries if getmemorypool fails
TxnUpdateRetryWait = 1

# How long to sleep in idle loops (temporary!)
IdleSleepTime = 0.1

### Settings relating to reward generation

# Address to generate rewards to
TrackerAddr = '13siH3VpL4nwJCXpWnMMAaSZCAz9EVsNCv'  # testnet

# Coinbaser command to control reward delegation
# %d is replaced with the total value of the block reward (in satoshis)
# %p is replaced with the previous block hash in hexadecimal
# NOTE: This example donates 1% of block rewards to Luke-Jr for Eloipool development
#CoinbaserCmd = 'echo -e "1\\n$((%d / 100))\\n1579aXhdwvKZEMrAKoCZhzGuqMa8EonuXU"'

### Settings relating to upstream data providers

# JSON-RPC servers to get block templates from
# See https://en.bitcoin.it/wiki/BIP_0023#Logical_Services for key details
TemplateSources = (
        {
                'name': 'primary',
                'uri': 'http://admin:"bunghole"@localhost:8332',
                'priority': 0,
                'weight': 1,
        },
        {
                'name': 'secondary',
                'uri': 'http://admin:"bunghole"@localhost:18332',
                'priority': 1,
                'weight': 1,
        },
)

# JSON-RPC servers to check block proposals with
# If none provided, and selected source supports proposals, it alone will also
# be used for checking
# NOTE: Any servers listed here MUST support BIP 23 Block Proposals
# NOTE: Mainline bitcoind (as of 0.Cool does NOT support this (though the 0.8.0.eligius branch does)
TemplateChecks = (
#       {
#               'name': 'primary',
#               'uri': 'http://admin:"bunghole"@localhost:8332',
#
#               # If 'unanimous' is true, no template will be used if this node
#               # rejects it
#               'unanimous': False,
#
#               # If check servers disagree on all templates, they will be scored and
#               # the highest score will be used; 'weight' can be used to control the
#               # scoring per-server
#               'weight': 1.1,
#       },
#       {
#               'name': 'secondary',
#               'uri': 'http://admin:"bunghole"@localhost:18332',
#               'unanimous': False,
#               'weight': 1,
#       },
)

# JSON-RPC servers to submit found blocks to (when they meet the full target)
# The specific TemplateSource that the block was based on will always be sent
# the block first.
# If setting is not specified, or None, full TemplateSources list will be used.
# If an empty list, no extra submissions will be attempted.
# If an empty list, and the block was found on a "clear" merkle root (not based
# on any TemplateSource), the full TemplateSources list will be used.
BlockSubmissions = (
        {
                'name': 'primary',
                'uri': 'http://admin:"bunghole"@localhost:8332',
        },
        {
                'name': 'secondary',
                'uri': 'http://admin:"bunghole"@localhost:18332',
        }
)

# Templates will not be used unless they have an acceptance ratio above this
# Range: 0.00 - 1.00
MinimumTemplateAcceptanceRatio = 0

# No template with a combined total score below this will be used
MinimumTemplateScore = 1

# Set to True if you want shares meeting the upstream target to wait for a
# response from an upstream server before logging them. Otherwise, for such
# shares, upstreamResult will always be True and upstreamRejectReason will
# always be None. Note that enabling this may cause shares to be logged out of
# order, or with the wrong timestamp (if your share logger uses the log-time
# rather than share-time).
DelayLogForUpstream = True

# Bitcoin p2p server for announcing blocks found
UpstreamBitcoindNode = ('127.0.0.1', 8333)  # mainnet

# 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'\x0b\x11\x09\x07'  # testnet3
UpstreamNetworkId = b'\xF9\xBE\xB4\xD9'

# Secret username allowed to use setworkaux
#SecretUser = ""

# URI to send gotwork with info for every share submission
#GotWorkURI = ''

# Share hashes must be below this to be submitted to gotwork
GotWorkTarget = 0x00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff

# Aim to produce blocks with transaction counts that are a power of two
# This helps avoid any chance of someone abusing CVE-2012-2459 with them
# 1 = cut out feeless transactions; 2 = cut out even fee-included transactions (if possible)
#POT = 2

# Avoid mining feeless transactions except to satisfy POT
# Note this only works if POT is in fact enabled in the first place
Greedy = False

### Settings relating to network services
# Note that Eloipool only supports IPv6 sockets, and if you want to bind to an
# IPv4 address you will need to prepend it with ::ffff: eg ::ffff:192.168.1.2

# Addresses to listen on for JSON-RPC GBT/getwork server
JSONRPCAddresses = (
        ('', 8337),
)

# Addresses to listen on for Stratum mining server
StratumAddresses = (
        ('', 3334),
)

# Addresses to listen on for Bitcoin node
# Note this will only be used to distribute blocks the pool finds, nothing else
BitcoinNodeAddresses = (
        ('', 8338),
)

# Addresses that are allowed to "spoof" from address with the X-Forwarded-For header
TrustedForwarders = ('::ffff:127.0.0.1',)


# Logging of shares:
ShareLogging = (
        {
                'type': 'logfile',
                'filename': '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': 'pools',
                        'user': 'admin',
                        'password': 'bunghole',
                },
                '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}))",
#       },
#       {
#               'type': 'sql',
#               'engine': 'sqlite',
#               'dbopts': {
#                       'database': 'share.db',
#               },
#               'statement': "insert into shares (remoteHost, username, rejectReason, upstreamResult, solution) values ({remoteHost}, {username}, {rejectReason}, {upstreamResult}, {solution})",
        },
)

# Authentication
# There currently are 2 modules.
# - allowall will allow every username/password combination
# - simplefile will use the username/passwords from a file, which contains username<tab>password\n with no \n on the last line.
Authentication =  (
        {
                'module': 'allowall',
        },
#       {
#               'module': 'simplefile',
#               'filename': 'userdatabase',
#       },
)

### Settings related to poolserver logging

# By default, significant events will be printed to the interactive console
# You can customize your logging using either simple parameters, or Python's advanced logging framework
# Note that using Python's logging framework will override the default console logging!

# To simply log everything to the system log (syslog) as well:
# LogToSysLog = True

# To make a log file:
# LogFile = 'filename.log'

# For a rotating log file:
LogFile = {
        'filename': 'eolipool.log',
        'when': 'midnight',
        'backupCount': 7,
}
# For details, see:
# http://docs.python.org/3/library/logging.handlers.html#logging.handlers.TimedRotatingFileHandler

kinlo
Sr. Member
****
Offline Offline

Activity: 263
Merit: 250


Pool operator of Triplemining.com


View Profile
January 19, 2014, 03:11:26 PM
 #232

On which network are you trying to mine?

eloipool only supports sha256, basically only bitcoin is supported.

Your miner is configured to use scrypt, which is used by litecoin and various other crypotcoins.  eloi does NOT support scrypt...

Perhaps you want to correctly configure your miner?
wuzamarine
Sr. Member
****
Offline Offline

Activity: 264
Merit: 250

derp


View Profile
January 19, 2014, 09:45:47 PM
 #233

On which network are you trying to mine?

eloipool only supports sha256, basically only bitcoin is supported.

Your miner is configured to use scrypt, which is used by litecoin and various other crypotcoins.  eloi does NOT support scrypt...

Perhaps you want to correctly configure your miner?

Its running on bitcoind, though once I figure it out I will be hotwiring it for other coins.
I am not sure about how it is configure for the network, none of the tutorials referenced that specifically.
greatbotboy
Newbie
*
Offline Offline

Activity: 37
Merit: 0



View Profile WWW
January 22, 2014, 11:05:47 PM
 #234

I followed the directions and I get no errors. Port 8338 comes live and can be seen via netstat.

gentoo001 home # ./minerd -o stratum+tcp://192.168.1.8:8338 -u admin -p butthole -q

Given your configuration:

# Addresses to listen on for JSON-RPC GBT/getwork server
JSONRPCAddresses = (
        ('', 8337),
)

# Addresses to listen on for Stratum mining server
StratumAddresses = (
        ('', 3334),
)

# Addresses to listen on for Bitcoin node
# Note this will only be used to distribute blocks the pool finds, nothing else
BitcoinNodeAddresses = (
        ('', 8338),
)

Your miners should connect to:
8337 for GBT/Getwork
3334 for stratum

You miner should be something like (sorry not too familiar with minerd):

./minerd -o http://192.168.1.8:8337 -u admin -p butthole -q
or
./minerd -o stratum+tcp://192.168.1.8:3334 -u admin -p butthole -q


8338 is a listening port for your bitcoind to connect to. You need to add a line to the configuration file for bitcoind. If eloipool and bitcoind are not on the same server you need to put the IP of the box running eloipool.
addnode=127.0.0.1:8338
smoothrunnings
Hero Member
*****
Offline Offline

Activity: 616
Merit: 500


View Profile
February 01, 2014, 09:53:06 PM
 #235

Is there a complete guide some where to installing Eloipool from scratch? And is there any kind of support site like P2pool has?

Thanks,
greatbotboy
Newbie
*
Offline Offline

Activity: 37
Merit: 0



View Profile WWW
February 05, 2014, 02:39:55 PM
 #236

Is there a complete guide some where to installing Eloipool from scratch? And is there any kind of support site like P2pool has?

Thanks,


jgarzik did a little step-by-step guide here. I've used it, it works.
https://bitcointalk.org/index.php?topic=158105.0

Or you can use zero-asic's Install script. I've used it as well it also works.
https://bitcointalk.org/index.php?topic=171782.0

As for a support site, bitcointalk.org is as good as it gets.
ShurikAg
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
February 16, 2014, 11:04:55 AM
 #237

I am getting a warning in eloipool.log file

Code:
2014-02-16 02:48:08,360	merkleMaker	CRITICAL	Traceback (most recent call last):
  File "/opt/eloipool-server/eloipool/merklemaker.py", line 692, in run
    self.merkleMaker_I()
  File "/opt/eloipool-server/eloipool/merklemaker.py", line 682, in merkleMaker_I
    self.merkleMaker_II()
  File "/opt/eloipool-server/eloipool/merklemaker.py", line 648, in merkleMaker_II
    return self._updateMerkleTree()
  File "/opt/eloipool-server/eloipool/merklemaker.py", line 548, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/opt/eloipool-server/eloipool/merklemaker.py", line 512, in _updateMerkleTree_I
    r = self._updateMerkleTree_fromTS(TS)
  File "/opt/eloipool-server/eloipool/merklemaker.py", line 477, in _updateMerkleTree_fromTS
    MP = self._CallGBT(TS)
  File "/opt/eloipool-server/eloipool/merklemaker.py", line 327, in _CallGBT
    MP = access.getblocktemplate(self.GBTReq)
  File "/opt/eloipool-server/eloipool/bitcoinrpc/authproxy.py", line 112, in __call__
    'Content-type': 'application/json'})
  File "/usr/lib/python3.2/http/client.py", line 967, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python3.2/http/client.py", line 995, in _send_request
    self.putrequest(method, url, **skips)
  File "/usr/lib/python3.2/http/client.py", line 850, in putrequest
    raise CannotSendRequest(self.__state)
http.client.CannotSendRequest: Request-sent

What is it and how to get read of it?

Thanks,
greatbotboy
Newbie
*
Offline Offline

Activity: 37
Merit: 0



View Profile WWW
February 16, 2014, 03:39:09 PM
 #238

I am getting a warning in eloipool.log file

Code:
2014-02-16 02:48:08,360	merkleMaker	CRITICAL	Traceback (most recent call last):
  File "/opt/eloipool-server/eloipool/merklemaker.py", line 692, in run
    self.merkleMaker_I()
  File "/opt/eloipool-server/eloipool/merklemaker.py", line 682, in merkleMaker_I
    self.merkleMaker_II()
  File "/opt/eloipool-server/eloipool/merklemaker.py", line 648, in merkleMaker_II
    return self._updateMerkleTree()
  File "/opt/eloipool-server/eloipool/merklemaker.py", line 548, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/opt/eloipool-server/eloipool/merklemaker.py", line 512, in _updateMerkleTree_I
    r = self._updateMerkleTree_fromTS(TS)
  File "/opt/eloipool-server/eloipool/merklemaker.py", line 477, in _updateMerkleTree_fromTS
    MP = self._CallGBT(TS)
  File "/opt/eloipool-server/eloipool/merklemaker.py", line 327, in _CallGBT
    MP = access.getblocktemplate(self.GBTReq)
  File "/opt/eloipool-server/eloipool/bitcoinrpc/authproxy.py", line 112, in __call__
    'Content-type': 'application/json'})
  File "/usr/lib/python3.2/http/client.py", line 967, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python3.2/http/client.py", line 995, in _send_request
    self.putrequest(method, url, **skips)
  File "/usr/lib/python3.2/http/client.py", line 850, in putrequest
    raise CannotSendRequest(self.__state)
http.client.CannotSendRequest: Request-sent

What is it and how to get read of it?

Thanks,

I usually get this when I restart my pool server, eloipool starts and bitcoind hasn't finished starting up.  Is your bitcoind still downloading blocks?
ShurikAg
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
February 17, 2014, 06:57:24 AM
 #239

I am getting a warning in eloipool.log file

Code:
2014-02-16 02:48:08,360	merkleMaker	CRITICAL	Traceback (most recent call last):
  File "/opt/eloipool-server/eloipool/merklemaker.py", line 692, in run
    self.merkleMaker_I()
  File "/opt/eloipool-server/eloipool/merklemaker.py", line 682, in merkleMaker_I
    self.merkleMaker_II()
  File "/opt/eloipool-server/eloipool/merklemaker.py", line 648, in merkleMaker_II
    return self._updateMerkleTree()
  File "/opt/eloipool-server/eloipool/merklemaker.py", line 548, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/opt/eloipool-server/eloipool/merklemaker.py", line 512, in _updateMerkleTree_I
    r = self._updateMerkleTree_fromTS(TS)
  File "/opt/eloipool-server/eloipool/merklemaker.py", line 477, in _updateMerkleTree_fromTS
    MP = self._CallGBT(TS)
  File "/opt/eloipool-server/eloipool/merklemaker.py", line 327, in _CallGBT
    MP = access.getblocktemplate(self.GBTReq)
  File "/opt/eloipool-server/eloipool/bitcoinrpc/authproxy.py", line 112, in __call__
    'Content-type': 'application/json'})
  File "/usr/lib/python3.2/http/client.py", line 967, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python3.2/http/client.py", line 995, in _send_request
    self.putrequest(method, url, **skips)
  File "/usr/lib/python3.2/http/client.py", line 850, in putrequest
    raise CannotSendRequest(self.__state)
http.client.CannotSendRequest: Request-sent

What is it and how to get read of it?

Thanks,

I usually get this when I restart my pool server, eloipool starts and bitcoind hasn't finished starting up.  Is your bitcoind still downloading blocks?


I tried different scenarios. Waited for bitcoin to finish syncing. Tried to restart. Start bitcoin wait for a while and start eloipool.
Everything behaves the same way.
ShurikAg
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
February 17, 2014, 07:14:20 AM
 #240

...

I usually get this when I restart my pool server, eloipool starts and bitcoind hasn't finished starting up.  Is your bitcoind still downloading blocks?


Hmm, all of a sudden started to work. And I think I am very sad... I just missed a block Sad
ShurikAg
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
February 17, 2014, 07:31:59 AM
 #241

I am getting this in the logs:
Code:
2014-02-16 23:15:09,278	BitcoinLink	DEBUG	Received block inv over p2p for 00000000000000002eb4caf6eabc94dbaafb569427b6b0a414aa363dd9ee07dc
eloipool.py: no process found
2014-02-16 23:15:09,471 merkleMaker INFO New block: 00000000000000002eb4caf6eabc94dbaafb569427b6b0a414aa363dd9ee07dc (height: 286323; bits: 19015f53)
2014-02-16 23:15:09,474 JSONRPCServer INFO Nobody to longpoll
2014-02-16 23:15:10,191 JSONRPCServer INFO Nobody to longpoll
eloipool.py: no process found
2014-02-16 23:18:32,053 BitcoinLink DEBUG Received block inv over p2p for 00000000000000004b86d9bc749093ddaa11156fb007a3735125898df92f654a
2014-02-16 23:18:32,215 merkleMaker INFO New block: 00000000000000004b86d9bc749093ddaa11156fb007a3735125898df92f654a (height: 286324; bits: 19015f53)
2014-02-16 23:18:32,216 JSONRPCServer INFO Nobody to longpoll
2014-02-16 23:18:32,828 JSONRPCServer INFO Nobody to longpoll
2014-02-16 23:23:42,376 BitcoinLink DEBUG Received block inv over p2p for 0000000000000001337babf9df90a713cc1abfac2bb63b00b8d336a7b9017e5e
eloipool.py: no process found
2014-02-16 23:23:42,570 merkleMaker INFO New block: 0000000000000001337babf9df90a713cc1abfac2bb63b00b8d336a7b9017e5e (height: 286325; bits: 19015f53)
2014-02-16 23:23:42,573 JSONRPCServer INFO Nobody to longpoll
2014-02-16 23:23:43,220 JSONRPCServer INFO Nobody to longpoll
2014-02-16 23:28:11,354 BitcoinLink DEBUG Received block inv over p2p for 0000000000000000479bceaf71cf63741e9bf2905415d46cdf9c33d09b3aa9ee
eloipool.py: no process found
2014-02-16 23:28:11,548 merkleMaker INFO New block: 0000000000000000479bceaf71cf63741e9bf2905415d46cdf9c33d09b3aa9ee (height: 286326; bits: 19015f53)
2014-02-16 23:28:11,558 JSONRPCServer INFO Nobody to longpoll
2014-02-16 23:28:12,292 JSONRPCServer INFO Nobody to longpoll

Does it mean that there is a block available for the pool? The miner is running, why is it not picking up tje block?
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
February 17, 2014, 03:24:41 PM
 #242

I am getting a warning in eloipool.log file

Code:
2014-02-16 02:48:08,360	merkleMaker	CRITICAL	Traceback (most recent call last):
  File "/opt/eloipool-server/eloipool/merklemaker.py", line 692, in run
    self.merkleMaker_I()
  File "/opt/eloipool-server/eloipool/merklemaker.py", line 682, in merkleMaker_I
    self.merkleMaker_II()
  File "/opt/eloipool-server/eloipool/merklemaker.py", line 648, in merkleMaker_II
    return self._updateMerkleTree()
  File "/opt/eloipool-server/eloipool/merklemaker.py", line 548, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/opt/eloipool-server/eloipool/merklemaker.py", line 512, in _updateMerkleTree_I
    r = self._updateMerkleTree_fromTS(TS)
  File "/opt/eloipool-server/eloipool/merklemaker.py", line 477, in _updateMerkleTree_fromTS
    MP = self._CallGBT(TS)
  File "/opt/eloipool-server/eloipool/merklemaker.py", line 327, in _CallGBT
    MP = access.getblocktemplate(self.GBTReq)
  File "/opt/eloipool-server/eloipool/bitcoinrpc/authproxy.py", line 112, in __call__
    'Content-type': 'application/json'})
  File "/usr/lib/python3.2/http/client.py", line 967, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python3.2/http/client.py", line 995, in _send_request
    self.putrequest(method, url, **skips)
  File "/usr/lib/python3.2/http/client.py", line 850, in putrequest
    raise CannotSendRequest(self.__state)
http.client.CannotSendRequest: Request-sent

What is it and how to get read of it?

Thanks,
This seems to be yet another bug in the latest bitcoinrpc.
Eligius runs 22e290b0bcabf6bc88b4d3f5a7d074677e8fe7b9

greatbotboy
Newbie
*
Offline Offline

Activity: 37
Merit: 0



View Profile WWW
February 17, 2014, 05:37:03 PM
 #243

I am getting this in the logs:
Code:
2014-02-16 23:15:09,278	BitcoinLink	DEBUG	Received block inv over p2p for 0000000000000002eb4caf6eabc94dbaafb569427b6b0a414aa363dd9ee07dc

Does it mean that there is a block available for the pool? The miner is running, why is it not picking up tje block?


I'm assuming you are referring to this.  This just means there has been a new block found by the network, not your pool. bitcoind is notifying eloipool of the new block.
ShurikAg
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
February 18, 2014, 06:21:48 AM
 #244

I am getting this in the logs:
Code:
2014-02-16 23:15:09,278	BitcoinLink	DEBUG	Received block inv over p2p for 0000000000000002eb4caf6eabc94dbaafb569427b6b0a414aa363dd9ee07dc

Does it mean that there is a block available for the pool? The miner is running, why is it not picking up tje block?


I'm assuming you are referring to this.  This just means there has been a new block found by the network, not your pool. bitcoind is notifying eloipool of the new block.
Understood, thanks
valsha
Jr. Member
*
Offline Offline

Activity: 66
Merit: 6


View Profile
February 18, 2014, 11:53:21 AM
 #245


Your miner is configured to use scrypt, which is used by litecoin and various other crypotcoins.  eloi does NOT support scrypt...

Hi, is this patch helps me to support scrypt https://gitorious.org/bitcoin/luke-jr-bitcoin/source/8f3f29550c2ad33f5635799ba835276eaebb4a2e:contrib/merged-mine-proxy ??

eloipool only supports sha256, basically only bitcoin is supported.
all cryptocurrency sha256 is supported ? or ONLY bitcoin ??
Thank you.
agibby5
Sr. Member
****
Offline Offline

Activity: 267
Merit: 250


View Profile
February 18, 2014, 03:31:28 PM
 #246

eloipool only supports sha256, basically only bitcoin is supported.
all cryptocurrency sha256 is supported ? or ONLY bitcoin ??
Thank you.

alt sha256s work well too. you need to change the UpstreamNetworkId in the config though to match the alt.

Code:
# 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'\x0b\x11\x09\x07'  # testnet3
valsha
Jr. Member
*
Offline Offline

Activity: 66
Merit: 6


View Profile
February 18, 2014, 06:41:49 PM
 #247

eloipool only supports sha256, basically only bitcoin is supported.
all cryptocurrency sha256 is supported ? or ONLY bitcoin ??
Thank you.

alt sha256s work well too. you need to change the UpstreamNetworkId in the config though to match the alt.

Code:
# 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'\x0b\x11\x09\x07'  # testnet3
Thank you.
Let say i need to run bitcoin and continuum, all sha256 based.
I need to run 2 separate copies Eloipool?
agibby5
Sr. Member
****
Offline Offline

Activity: 267
Merit: 250


View Profile
February 18, 2014, 09:37:39 PM
 #248

eloipool only supports sha256, basically only bitcoin is supported.
all cryptocurrency sha256 is supported ? or ONLY bitcoin ??
Thank you.

alt sha256s work well too. you need to change the UpstreamNetworkId in the config though to match the alt.

Code:
# 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'\x0b\x11\x09\x07'  # testnet3
Thank you.
Let say i need to run bitcoin and continuum, all sha256 based.
I need to run 2 separate copies Eloipool?

https://bitcointalk.org/index.php?topic=61731.msg3807307#msg3807307
mydjuu
Newbie
*
Offline Offline

Activity: 2
Merit: 0


View Profile
February 19, 2014, 09:53:06 PM
 #249

I installed Eloipool and all its required dependencies. I tried eloipool on two different machines with the same problem. I get two errors.

The first error is when bfgminer connects over straturm on port 3334:

Code:

2014-02-19 16:43:02,707 StratumServer ERROR Traceback (most recent call last):
  File "/home/xxx/eloipool-server-master/eloipool/networkserver.py", line 392, in serve_forever
    f()
  File "/home/xxx/eloipool-server-master/eloipool/stratumserver.py", line 135, in sendJob
    self.push(self.server.JobBytes)
AttributeError: 'StratumServer' object has no attribute 'JobBytes'




The second type of error that appears whenever I Start the server and floods my screen repetitively is

Code:
2014-02-19 16:51:50,480	merkleMaker	CRITICAL	Traceback (most recent call last):
  File "/home/xxx/eloipool-server-master/eloipool/merklemaker.py", line 692, in run
    self.merkleMaker_I()
  File "/home/xxx/eloipool-server-master/eloipool/merklemaker.py", line 682, in merkleMaker_I
    self.merkleMaker_II()
  File "/home/xxx/eloipool-server-master/eloipool/merklemaker.py", line 648, in merkleMaker_II
    return self._updateMerkleTree()
  File "/home/xxx/eloipool-server-master/eloipool/merklemaker.py", line 553, in _updateMerkleTree
    if self.needMerkle == 2:
AttributeError: 'merkleMaker' object has no attribute 'needMerkle'

I have been trying to fix this problem for two days before I come here and appreciate any help!

greatbotboy
Newbie
*
Offline Offline

Activity: 37
Merit: 0



View Profile WWW
February 21, 2014, 02:14:41 AM
 #250

Is the TrackerAddr a valid Bitcoin address.
Do 25 BTC of a solved block go on that address?

Yes, put your BTC address in there.
whitehathacker
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
February 27, 2014, 03:27:14 PM
 #251

Greetings! New poster, solved MOST problems. The only problems I have now are:

Code:
2014-02-26 20:43:30,962 StratumHandler  DEBUG   Traceback (most recent call last):
  File "/var/www/eloipool/networkserver.py", line 47, in handle_read
    data = self.recv (self.ac_in_buffer_size)
  File "/usr/lib/python3.2/asyncore.py", line 384, in recv
    data = self.socket.recv(buffer_size)
socket.error: [Errno 110] Connection timed out

and

Code:
2014-02-26 20:43:30,962 StratumHandler  DEBUG   Traceback (most recent call last                                                                                        ):
  File "/var/www/eloipool/networkserver.py", line 47, in handle_read
    data = self.recv (self.ac_in_buffer_size)
  File "/usr/lib/python3.2/asyncore.py", line 384, in recv
    data = self.socket.recv(buffer_size)
socket.error: [Errno 110] Connection timed out

    bcnode.newBlock = lambda blkhash: MM.updateMerkleTree()
  File "/var/www/eloipool/merklemaker.py", line 561, in updateMerkleTree
    self._updateMerkleTree()
  File "/var/www/eloipool/merklemaker.py", line 549, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/var/www/eloipool/merklemaker.py", line 513, in _updateMerkleTree_I
    r = self._updateMerkleTree_fromTS(TS)
  File "/var/www/eloipool/merklemaker.py", line 478, in _updateMerkleTree_fromTS
    MP = self._CallGBT(TS)
  File "/var/www/eloipool/merklemaker.py", line 328, in _CallGBT
    MP = access.getblocktemplate(self.GBTReq)
  File "/var/www/eloipool/python-bitcoinrpc/bitcoinrpc/authproxy.py", line 112, in __call__
    'Content-type': 'application/json'})
  File "/usr/lib/python3.2/http/client.py", line 967, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python3.2/http/client.py", line 995, in _send_request
    self.putrequest(method, url, **skips)
  File "/usr/lib/python3.2/http/client.py", line 850, in putrequest
    raise CannotSendRequest(self.__state)
http.client.CannotSendRequest: Request-sent

I've solved some of the issues I had already with this thread (thank you very much guys).

Once I get this sucker running without errors I plan on helping out (if thats alright with you luke-jr) by documenting the whole process thoroughly. Also eventually working on a basic frontend.

~WHH
greatbotboy
Newbie
*
Offline Offline

Activity: 37
Merit: 0



View Profile WWW
February 27, 2014, 04:16:54 PM
 #252


Code:
2014-02-26 20:43:30,962 StratumHandler  DEBUG   Traceback (most recent call last                                                                                        ):
  File "/var/www/eloipool/networkserver.py", line 47, in handle_read
    data = self.recv (self.ac_in_buffer_size)
  File "/usr/lib/python3.2/asyncore.py", line 384, in recv
    data = self.socket.recv(buffer_size)
socket.error: [Errno 110] Connection timed out

    bcnode.newBlock = lambda blkhash: MM.updateMerkleTree()
  File "/var/www/eloipool/merklemaker.py", line 561, in updateMerkleTree
    self._updateMerkleTree()
  File "/var/www/eloipool/merklemaker.py", line 549, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/var/www/eloipool/merklemaker.py", line 513, in _updateMerkleTree_I
    r = self._updateMerkleTree_fromTS(TS)
  File "/var/www/eloipool/merklemaker.py", line 478, in _updateMerkleTree_fromTS
    MP = self._CallGBT(TS)
  File "/var/www/eloipool/merklemaker.py", line 328, in _CallGBT
    MP = access.getblocktemplate(self.GBTReq)
  File "/var/www/eloipool/python-bitcoinrpc/bitcoinrpc/authproxy.py", line 112, in __call__
    'Content-type': 'application/json'})
  File "/usr/lib/python3.2/http/client.py", line 967, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python3.2/http/client.py", line 995, in _send_request
    self.putrequest(method, url, **skips)
  File "/usr/lib/python3.2/http/client.py", line 850, in putrequest
    raise CannotSendRequest(self.__state)
http.client.CannotSendRequest: Request-sent

Luke-Jr seems to think this is a problem with the bitcoind rpc.  I see this error when bitcoin isn't up to date or still starting.  the first error I've not seen before.
whitehathacker
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
February 27, 2014, 04:26:44 PM
 #253


Code:
2014-02-26 20:43:30,962 StratumHandler  DEBUG   Traceback (most recent call last                                                                                        ):
  File "/var/www/eloipool/networkserver.py", line 47, in handle_read
    data = self.recv (self.ac_in_buffer_size)
  File "/usr/lib/python3.2/asyncore.py", line 384, in recv
    data = self.socket.recv(buffer_size)
socket.error: [Errno 110] Connection timed out

    bcnode.newBlock = lambda blkhash: MM.updateMerkleTree()
  File "/var/www/eloipool/merklemaker.py", line 561, in updateMerkleTree
    self._updateMerkleTree()
  File "/var/www/eloipool/merklemaker.py", line 549, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/var/www/eloipool/merklemaker.py", line 513, in _updateMerkleTree_I
    r = self._updateMerkleTree_fromTS(TS)
  File "/var/www/eloipool/merklemaker.py", line 478, in _updateMerkleTree_fromTS
    MP = self._CallGBT(TS)
  File "/var/www/eloipool/merklemaker.py", line 328, in _CallGBT
    MP = access.getblocktemplate(self.GBTReq)
  File "/var/www/eloipool/python-bitcoinrpc/bitcoinrpc/authproxy.py", line 112, in __call__
    'Content-type': 'application/json'})
  File "/usr/lib/python3.2/http/client.py", line 967, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python3.2/http/client.py", line 995, in _send_request
    self.putrequest(method, url, **skips)
  File "/usr/lib/python3.2/http/client.py", line 850, in putrequest
    raise CannotSendRequest(self.__state)
http.client.CannotSendRequest: Request-sent

Luke-Jr seems to think this is a problem with the bitcoind rpc.  I see this error when bitcoin isn't up to date or still starting.  the first error I've not seen before.

So is there a specific build of the bitcoind rpc that works works?
greatbotboy
Newbie
*
Offline Offline

Activity: 37
Merit: 0



View Profile WWW
February 27, 2014, 04:31:12 PM
 #254


Code:
2014-02-26 20:43:30,962 StratumHandler  DEBUG   Traceback (most recent call last                                                                                        ):
  File "/var/www/eloipool/networkserver.py", line 47, in handle_read
    data = self.recv (self.ac_in_buffer_size)
  File "/usr/lib/python3.2/asyncore.py", line 384, in recv
    data = self.socket.recv(buffer_size)
socket.error: [Errno 110] Connection timed out

    bcnode.newBlock = lambda blkhash: MM.updateMerkleTree()
  File "/var/www/eloipool/merklemaker.py", line 561, in updateMerkleTree
    self._updateMerkleTree()
  File "/var/www/eloipool/merklemaker.py", line 549, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/var/www/eloipool/merklemaker.py", line 513, in _updateMerkleTree_I
    r = self._updateMerkleTree_fromTS(TS)
  File "/var/www/eloipool/merklemaker.py", line 478, in _updateMerkleTree_fromTS
    MP = self._CallGBT(TS)
  File "/var/www/eloipool/merklemaker.py", line 328, in _CallGBT
    MP = access.getblocktemplate(self.GBTReq)
  File "/var/www/eloipool/python-bitcoinrpc/bitcoinrpc/authproxy.py", line 112, in __call__
    'Content-type': 'application/json'})
  File "/usr/lib/python3.2/http/client.py", line 967, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python3.2/http/client.py", line 995, in _send_request
    self.putrequest(method, url, **skips)
  File "/usr/lib/python3.2/http/client.py", line 850, in putrequest
    raise CannotSendRequest(self.__state)
http.client.CannotSendRequest: Request-sent

Luke-Jr seems to think this is a problem with the bitcoind rpc.  I see this error when bitcoin isn't up to date or still starting.  the first error I've not seen before.

So is there a specific build of the bitcoind rpc that works works?

I use this PPA, for my ubuntu box. It doesn't produce any errors for me.
whitehathacker
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
February 27, 2014, 04:50:15 PM
 #255


Code:
2014-02-26 20:43:30,962 StratumHandler  DEBUG   Traceback (most recent call last                                                                                        ):
  File "/var/www/eloipool/networkserver.py", line 47, in handle_read
    data = self.recv (self.ac_in_buffer_size)
  File "/usr/lib/python3.2/asyncore.py", line 384, in recv
    data = self.socket.recv(buffer_size)
socket.error: [Errno 110] Connection timed out

    bcnode.newBlock = lambda blkhash: MM.updateMerkleTree()
  File "/var/www/eloipool/merklemaker.py", line 561, in updateMerkleTree
    self._updateMerkleTree()
  File "/var/www/eloipool/merklemaker.py", line 549, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/var/www/eloipool/merklemaker.py", line 513, in _updateMerkleTree_I
    r = self._updateMerkleTree_fromTS(TS)
  File "/var/www/eloipool/merklemaker.py", line 478, in _updateMerkleTree_fromTS
    MP = self._CallGBT(TS)
  File "/var/www/eloipool/merklemaker.py", line 328, in _CallGBT
    MP = access.getblocktemplate(self.GBTReq)
  File "/var/www/eloipool/python-bitcoinrpc/bitcoinrpc/authproxy.py", line 112, in __call__
    'Content-type': 'application/json'})
  File "/usr/lib/python3.2/http/client.py", line 967, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python3.2/http/client.py", line 995, in _send_request
    self.putrequest(method, url, **skips)
  File "/usr/lib/python3.2/http/client.py", line 850, in putrequest
    raise CannotSendRequest(self.__state)
http.client.CannotSendRequest: Request-sent

Luke-Jr seems to think this is a problem with the bitcoind rpc.  I see this error when bitcoin isn't up to date or still starting.  the first error I've not seen before.

So is there a specific build of the bitcoind rpc that works works?

I use this PPA, for my ubuntu box. It doesn't produce any errors for me.

Interesting, I just checked my repo and I'm using the same one you are (Also ubuntu user)
greatbotboy
Newbie
*
Offline Offline

Activity: 37
Merit: 0



View Profile WWW
February 27, 2014, 04:56:30 PM
 #256

Weird.. Other than a couple extra signals, for restarting and stopping, my eloipool is unmolested.

Code:
2014-02-27 10:44:50,958	BitcoinLink	DEBUG	Received block inv over p2p for 0000000000000000fff2604f9110d1af25e302ae2c3bdd8fe4be10dc37c788ac
2014-02-27 10:44:51,046 newBlockNotification INFO Received new block notification
2014-02-27 10:44:51,734 merkleMaker INFO New block: 0000000000000000fff2604f9110d1af25e302ae2c3bdd8fe4be10dc37c788ac (height: 288136; bits: 19015f53)
2014-02-27 10:44:51,827 JSONRPCServer INFO Longpoll woke up 5 clients in 0.005 seconds
2014-02-27 10:44:52,846 JSONRPCServer INFO Waiting 3.98 seconds to longpoll
2014-02-27 10:44:56,920 JSONRPCServer INFO Longpoll woke up 5 clients in 0.092 seconds

and my debug logs only show errors when I have restarted the server.
whitehathacker
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
February 27, 2014, 05:01:20 PM
 #257

Weird.. Other than a couple extra signals, for restarting and stopping, my eloipool is unmolested.

Code:
2014-02-27 10:44:50,958	BitcoinLink	DEBUG	Received block inv over p2p for 0000000000000000fff2604f9110d1af25e302ae2c3bdd8fe4be10dc37c788ac
2014-02-27 10:44:51,046 newBlockNotification INFO Received new block notification
2014-02-27 10:44:51,734 merkleMaker INFO New block: 0000000000000000fff2604f9110d1af25e302ae2c3bdd8fe4be10dc37c788ac (height: 288136; bits: 19015f53)
2014-02-27 10:44:51,827 JSONRPCServer INFO Longpoll woke up 5 clients in 0.005 seconds
2014-02-27 10:44:52,846 JSONRPCServer INFO Waiting 3.98 seconds to longpoll
2014-02-27 10:44:56,920 JSONRPCServer INFO Longpoll woke up 5 clients in 0.092 seconds

and my debug logs only show errors when I have restarted the server.

So do you just get the new block notifications and the standard longpools in your logfile?
greatbotboy
Newbie
*
Offline Offline

Activity: 37
Merit: 0



View Profile WWW
February 27, 2014, 11:05:35 PM
 #258

Yup.  Nothing out of the ordinary. Unless as I've said before I have just restarted my server.
whitehathacker
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
February 27, 2014, 11:37:23 PM
 #259

Well, I did a reinstall and currently the only error I'm getting has to do with PyMySql (for share logging).

Code:
2014-02-27 15:20:29,964 sharelogging.sql        CRITICAL        Error inserting data: ('insert into shares (rem_host, username, our_result, upstream_result, reason, solution) values (%s, %s, %s, %s, %s, unhex(%s))', ('::ffff:2.50.70.154', '1Nnb5S3z8kPMiiej9fUnvRqHorwb5C5mzq', 'Y', None, None, '000000020fb44678de6c8516585ffd8178369745cca945fea47b2c870000000000000000f418f5e1a6e38a2291e92c237ce1b97a44fd7f0864b795c58a34e976bd5edadd530fc83319015f5339bd0823'))Traceback (most recent call last):
  File "/usr/local/lib/python3.2/dist-packages/PyMySQL3-0.5-py3.2.egg/pymysql/cursors.py", line 112, in execute
    result = self._query(query)
  File "/usr/local/lib/python3.2/dist-packages/PyMySQL3-0.5-py3.2.egg/pymysql/cursors.py", line 230, in _query
    conn.query(q)
  File "/usr/local/lib/python3.2/dist-packages/PyMySQL3-0.5-py3.2.egg/pymysql/connections.py", line 607, in query
    self._affected_rows = self._read_query_result()
  File "/usr/local/lib/python3.2/dist-packages/PyMySQL3-0.5-py3.2.egg/pymysql/connections.py", line 691, in _read_query_result
    result.read()
  File "/usr/local/lib/python3.2/dist-packages/PyMySQL3-0.5-py3.2.egg/pymysql/connections.py", line 873, in read
    self._read_ok_packet()
  File "/usr/local/lib/python3.2/dist-packages/PyMySQL3-0.5-py3.2.egg/pymysql/connections.py", line 880, in _read_ok_packet
    self.insert_id = self.first_packet.read_length_coded_binary()
  File "/usr/local/lib/python3.2/dist-packages/PyMySQL3-0.5-py3.2.egg/pymysql/connections.py", line 292, in read_length_coded_binary
    return unpack_int24(self.read(UNSIGNED_INT24_LENGTH))
  File "/usr/local/lib/python3.2/dist-packages/PyMySQL3-0.5-py3.2.egg/pymysql/connections.py", line 161, in unpack_int24
    return struct.unpack('B',n[0])[0] + (struct.unpack('B', n[1])[0] << 8) +\
TypeError: 'int' does not support the buffer interface

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/var/www/eloipool/sharelogging/sql.py", line 53, in _doInsert
    dbc.execute(stmt, params)
  File "/usr/local/lib/python3.2/dist-packages/PyMySQL3-0.5-py3.2.egg/pymysql/cursors.py", line 117, in execute
    self.errorhandler(self, exc, value)
  File "/usr/local/lib/python3.2/dist-packages/PyMySQL3-0.5-py3.2.egg/pymysql/connections.py", line 187, in defaulterrorhandler
    raise Error(errorclass, errorvalue)
pymysql.err.Error: (<class 'TypeError'>, TypeError("'int' does not support the buffer interface",))


This is interesting because I havent changed any of it.

greatbotboy
Newbie
*
Offline Offline

Activity: 37
Merit: 0



View Profile WWW
February 28, 2014, 01:26:07 AM
 #260

This is a known bug in pymysql. You have to modify pymysql, I can't remember exactly what line or file but I remember finding the solution in a google group somewhere.  I found it with a little googling.
whitehathacker
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
March 02, 2014, 02:15:17 AM
 #261

This is a known bug in pymysql. You have to modify pymysql, I can't remember exactly what line or file but I remember finding the solution in a google group somewhere.  I found it with a little googling.

Thats the funny thing though, it WAS working. I am not much of a PHP-fu master to use the data yet, but I knew that was the best way to utilize it for the future.


Also, an update: I started screwing around with things due to the bitcoinrpc bug and fucked up everything so I started from scratch again. Its ok though, since i'm documenting what works for me the more I struggle the easier it will be on others.

~WHH
whitehathacker
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
March 02, 2014, 03:28:58 AM
 #262

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...

I can verify this. I switched my shell to bash and ran the same command. Same issue.
whitehathacker
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
March 02, 2014, 05:25:29 AM
 #263

With all of your help I was able to put this guide together

https://bitcointalk.org/index.php?topic=495542.0
whitehathacker
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
March 02, 2014, 02:40:16 PM
 #264

I solved the PyMySQL issue. I updated my thread and put it in there.

https://bitcointalk.org/index.php?topic=495542.0
greatbotboy
Newbie
*
Offline Offline

Activity: 37
Merit: 0



View Profile WWW
March 02, 2014, 10:59:57 PM
 #265

Awesome good work WHH!
whitehathacker
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
March 03, 2014, 12:22:34 PM
 #266

Every now and then I see this in the log:

Code:
2014-03-03 01:53:05,041 StratumHandler  DEBUG   Traceback (most recent call last):
  File "/eloipool/networkserver.py", line 47, in handle_read
    data = self.recv (self.ac_in_buffer_size)
  File "/usr/lib/python3.2/asyncore.py", line 384, in recv
    data = self.socket.recv(buffer_size)
socket.error: [Errno 113] No route to host

Or this:

Code:
2014-03-02 06:07:20,231 StratumHandler  DEBUG   Traceback (most recent call last):
  File "/eloipool/networkserver.py", line 47, in handle_read
    data = self.recv (self.ac_in_buffer_size)
  File "/usr/lib/python3.2/asyncore.py", line 384, in recv
    data = self.socket.recv(buffer_size)
socket.error: [Errno 110] Connection timed out

Is this normal? Also, how are you guys calculating hashrates? The sharelog isnt providing much information in terms of hashrates. Should we be deducing this from the "shares" table and "time" column? If so, how are you doing this (in PHP if possible, if not thats fine)?
greatbotboy
Newbie
*
Offline Offline

Activity: 37
Merit: 0



View Profile WWW
March 03, 2014, 08:22:02 PM
 #267

I can't comment on the error, I've never seen it.

As for the calculation of speed (in php even):
Code:
$shares = 200; //Number of shares of a given time.
$timeLen = 10; //The given time in seconds.


$hashrate = pow(2, 32) * $shares / $timeLen;         //85899345920
$hashrate = $hashrate / 1000000000;                   //85.899345920
$hashrate = round($hashrate, 2);                        //85.9

returns 85.9 which is 85.9 Gh/s

1000000000 could be changed to:
1000000000000 for Th/s
1000000 for Mh/s
1000 for Kh/s

However if using VarDiff you need to modify your DB and config.py to log the Minimum difficulty of each share a 2 diff share = 2 shares, 32 diff = 32 shares.

Or you can join my pool... just saying.
NoctumDesign
whitehathacker
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
March 04, 2014, 07:06:55 AM
Last edit: March 04, 2014, 04:04:24 PM by whitehathacker
 #268

I can't comment on the error, I've never seen it.

As for the calculation of speed (in php even):
Code:
$shares = 200; //Number of shares of a given time.
$timeLen = 10; //The given time in seconds.


$hashrate = pow(2, 32) * $shares / $timeLen;         //85899345920
$hashrate = $hashrate / 1000000000;                   //85.899345920
$hashrate = round($hashrate, 2);                        //85.9

returns 85.9 which is 85.9 Gh/s

1000000000 could be changed to:
1000000000000 for Th/s
1000000 for Mh/s
1000 for Kh/s

However if using VarDiff you need to modify your DB and config.py to log the Minimum difficulty of each share a 2 diff share = 2 shares, 32 diff = 32 shares.

Or you can join my pool... just saying.
NoctumDesign

Thats awesome, I appreciate that. How are you pulling shares per time length though? I understand grabbing a specific item in a column in a table, but over a specific time frame? Are you doing a comparison with the time column?

EDIT: Here's a new one for you:

Code:
42014-03-04 00:02:36,648 sharelogging.logfile    CRITICAL        Traceback (most recent call last):
  File "/eloipool/sharelogging/logfile.py", line 54, in run
    self.flushlog()
  File "/eloipool/sharelogging/logfile.py", line 46, in flushlog
    with open(self.fn, "a") as logfile:
IOError: [Errno 2] No such file or directory: 'share-logfile'
balemon
Newbie
*
Offline Offline

Activity: 4
Merit: 0


View Profile
March 07, 2014, 09:21:01 PM
 #269

Have just finished installing and setting up. Managed to get through everything reasonably well.

Started mining via the testnet to confirm all is functioning only to get this error below

Code:
2014-03-08 04:54:38,424	merkleMaker	INFO	New block: 00000000a7b45a26837f6e134f3fc00cc042dd7a73edafedca1cdfd20301f8a8 (height: 203771; bits: 1b180ab0)
2014-03-08 04:54:38,448 JSONRPCServer INFO Waiting 15 seconds to longpoll
2014-03-08 04:54:42,694 JSONRPCServer INFO Ignoring longpoll attempt while another is waiting
2014-03-08 04:54:53,409 JSONRPCServer INFO Nobody to longpoll
2014-03-08 05:05:27,233 checkShare INFO BLKHASH:            d739a915e14c3f70fde09220df14cef8097493ab8fa607783a767
2014-03-08 05:05:27,235 checkShare INFO TARGET:           180ab0000000000000000000000000000000000000000000000000
2014-03-08 05:05:27,235 checkShare INFO Submitting upstream
2014-03-08 05:05:27,237 checkShare INFO Real block payload: 02000000a8f80103d2df1ccaedafed737add42c00cc03f4f136e7f83265ab4a700000000857ab5db6004b9c70749b35841980b1877360390f9f7740b700d1593a6e63f724f181a53b00a181b03b8f8cc1101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff1103fb1b0304531a184f00000000c4010000ffffffff01f03b082a010000001976a91438ac799ceb934fec797fd7e8800661f5ab4bb7dd88ac000000000100000001f1b08e8ecc8bbb8363fd5c93b9c5ef63fa6b4a7daddb825d299dca400a269b07010000006b48304502200588fd6d120996b24cf61a052e8f489d2b806ace58c0a34ccaa2478c15657448022100fcdc87610b35bda8636e6197453c5418124bc948eeca5fc00afd7be8bbb9f9a1012102de1ac163350aac805928a479222242c01a963fa7b7dce662d3569221da9e1089ffffffff0200b33f71000000001976a9147d1209604fe6df84381948c41abcced208cd261088ac00e1f505000000001976a9146842cba8d7cee7c2fde067757c425eb4ca88982588ac000000000100000001c91cc4c73021007656b60d98130900b8ed7ec94a4fe8a56986fac318586a7033000000006b483045022100b95a362f417c67f4764d78a65e94cf6a6568e7b163b4f6ae09b1f07bc9bfdcf702206a60c99040f8714f23c9dd1cb776661a1b948fd94243e65426aa510004c35e62012103c716e13e73bcdbbf79b49a878425e755d0f65a67cbe4da00e1ccb6ec655582b8ffffffff0200e1f505000000001976a9143d4777c79d2495a608dbb20d0a942850c6695ad088ac8034010e000000001976a91496c1f972a3fdc6a51758b40c11281c2f5b32cc8b88ac000000000100000001d24fa4e2460e91e1d5996f31c2371fc18b19a67cf5635e61656f06e3b5956483010000006b483045022100e58806ddac889472558212ff5935a75673c62b5888a47b6b2538f427b488eeef022003b3114c94b1442d8719e23d194321d6f5135fc3ed87779370a1969c6c1c795e01210229e89b67ba82311e51f80ded9455d5a8fd4011cc8fbc085254a170dccae1f231ffffffff0200e1f505000000001976a9140ac5623d29bf4d551399f0717a82beec138a924e88ace016cd1d000000001976a914ca415b2cf503b0675c4d91844d36575c0d79992e88ac000000000100000001e16b56ba1559100351a98397aedfbae39c5b3833a00d2130f11abe4f2693d32f020000006b48304502203f2283f2a0ece89d00ead3a3860375ffd8ad597b85116ddaaf7bcf6c76529fa0022100b4d14f5701eacc1d78dda17130f110138b58ad715eee4e664675e89f0c9c496a01210322a9e92b2eaab7eb3c7b3e2f0efbc532ade9128963d46d3894c2fe801e05a152ffffffff037064080000000000232103a3dbfcaf0bda0fd6697890fb599cf7c111b96fa485e3d37ecf8b2f6ddcba97c2ac4c443201000000004752210322a9e92b2eaab7eb3c7b3e2f0efbc532ade9128963d46d3894c2fe801e05a1522103a3dbfcaf0bda0fd6697890fb599cf7c111b96fa485e3d37ecf8b2f6ddcba97c252ae621d7209000000001976a914d4c23edec54815eb9a3414385d32bf5b40aaf2ec88ac0000000001000000012ffd1b139f52cb35aa49724544515a3c4d49603a13f19631dddce09b84cec3df010000006b483045022100be70b1754b8673baea7c6fbb86f3be37872c60d49938d3a93efcae5ac5491d3f02201299064e9d60d7fc164e724e83d80a0f79bdb556c51ba746960b4e1af42e98aa012102c7a7662e89aec9dc452958d12c7fe86a5a9ef28ae2c9f6674eda7e610368bb6affffffff0200e1f505000000001976a9148beb2ecf4cf7e3acacd6d883ba8f3bd83d250e8d88ace0f7c223000000001976a9141f592a9185960b5c16f2821c08b0626ada6b058e88ac00000000010000000130e494352411e1852269c51f58edb6dadbfb88a085444ab3a5967c8d5b862ce5010000006a47304402203dc97a0728c1b60c8fa3bd3b26ed72de52c4864538141ec2f1dc37d4019cb8c002204bd41119b7631b022ac006f7524209c05268ee06e57fd7f247b772f322058e260121026de0e2c7e111ee6324066dc1e00a5b4b19c1d0d305d1b4407099f563b0708343ffffffff0200c2eb0b000000001976a914805d2cd148ff6813f9e21ab00a34a776e5b538ac88ac50b6520b000000001976a914178d76374321d56d5aeb9e3bab9a4364ff69de5488ac000000000100000001187c89f6e245ccb3736546bc09fb5258d924248eb0cbd0555cdde361dccbbf66000000006b4830450220614b5726cbf638bc13802aeb07ca6199b995422d3655e9f5f650b6accfa2a37e022100b219f6d912ff0f85c42d8532c5c5fdfed8228f542caa0e5f649da085911216a0012103eb0753af316368bded5edbf2316500a84318c12af2ee895067992d0aa87f2d1dffffffff0200e1f505000000001976a9146842cba8d7cee7c2fde067757c425eb4ca88982588ac7004530b000000001976a91465b8cae9acd8147606b6bb2d023ce68b741fdfdf88ac00000000010000000195da535ed8166e0e7cc9a88395cafbdcc57cf15d01aa58d5a4a21264a01be44d000000006b483045022100ca52d7ba237e165a8f318d240adce191e962e3b6c291ff818b2a1b42e47aed43022023b5e2b7f2cc1ee34f74c0809508d24c0373a78b34cc9d1b8ead049eb19b0162012102fc3f059e1153c11682268e339cfd0f4d531d7d2f9dd03defb141af4a9efc2626ffffffff02ce411300000000001976a914cecc896859245c49392ff24f58b4f77045529f2e88aca0860100000000001976a9149b3047b8596b0698feee5ac08f5c84f43df991a088ac000000000100000001d711bd5aa29b462367f78abd25c8fdcf7bc15932b41809199dd23f9df121a9aa000000006b48304502203e591160db14cf1d4add95bb9c346c16271a88381a27a9bbfcc2d73fa23d4e6c02210082126d55a552305221845fb692fa8e35277fe1bf90afd124434126f4299c4ae80121023047c17b363f969adfc3e16fc4927db40c3bbe07d97f0e53d1ff4d4f7e851b4affffffff02f0aa496b000000001976a914a1759feef65cbc92a6af1ef0d1e97b361e2e296488ac00e1f505000000001976a9146842cba8d7cee7c2fde067757c425eb4ca88982588ac000000000100000001614918e7ad92615b1a1c8697c11bec6c048b69b77255560a76fbeb3621daf33a010000006c493046022100f10b4bedc681b3c71845f99a10c79737ed285ea356bbf566d355bcddbbb2ee99022100a7a2f7b5cda232d85317c4ae7f3be00d384673376f46165e973354379df7db9a01210250f33d42507054f1ae91d5720725c4172c4892dab944916ba1cc7c1324002d56ffffffff0260fc5c05000000001976a914139509416a0c7d84554864f607e50f290c7fe6fc88ac00e1f505000000001976a9146842cba8d7cee7c2fde067757c425eb4ca88982588ac000000000100000001ace0e0e9f08c7ae9b318867d09fcd02667b65337f49277756824527484b7ecd1020000006b48304502204e05085e1a40251a74543a29fba945bd4d51ae422ad4f8af9282a89a3bf985ac022100845773e6431f28993cb1cfe6198da0db34a2ce86e6431d2bddeb529e8496196a0121038ec2a9148c7b846a34bc2927192d1cfd9e4cf3cc99c05bb5a8408664f35eed37ffffffff029e4000000000000023210322a9e92b2eaab7eb3c7b3e2f0efbc532ade9128963d46d3894c2fe801e05a152acd257f731000000001976a914544cff8187868bc439c2a5470331295c41bde0c488ac000000000100000001dee5e4040358ac27d6f233becc86b0bd597c78f95a0a1a9065aa3d3dd8019c6d010000006a4730440220614aaf9e65e3a111425d2e24d152449b64b75cbea1f7ff34e62928e9f55d09b202201be0bb53714b2c6d38bc368e4fe925c3b167caac8a55ddce3dfa77aa807502090121038ec2a9148c7b846a34bc2927192d1cfd9e4cf3cc99c05bb5a8408664f35eed37ffffffff02175600000000000023210322a9e92b2eaab7eb3c7b3e2f0efbc532ade9128963d46d3894c2fe801e05a152acabdaf631000000001976a914544cff8187868bc439c2a5470331295c41bde0c488ac000000000100000001074500659ebde6106fa14e175ef79093ed4c03148e3db0a72b19df9bda4de991020000006b48304502210092356efb5bf022205307d44115f84de62791cb8a6260a0d1c332e082560aff42022069cff759799c91c524bd315a786c126db09110644faf7ee03e4280ac5d2c047b0121038ec2a9148c7b846a34bc2927192d1cfd9e4cf3cc99c05bb5a8408664f35eed37ffffffff037064080000000000232103a3dbfcaf0bda0fd6697890fb599cf7c111b96fa485e3d37ecf8b2f6ddcba97c2ac4c44320100000000475221038ec2a9148c7b846a34bc2927192d1cfd9e4cf3cc99c05bb5a8408664f35eed372103a3dbfcaf0bda0fd6697890fb599cf7c111b96fa485e3d37ecf8b2f6ddcba97c252ae2d9b2b30000000001976a914544cff8187868bc439c2a5470331295c41bde0c488ac00000000010000000297ef87f5a4935dcca177e259b791de83677f1e7bf5a780719967a1106c785ace010000006b4830450221009ab6bc5935a978d7bc8f348bd6e8d26236071873f4fe14676e0681551ca845fc022067cfe975ce3b999cfd601283fe5c76b5dadec38e2a73f9e39d40b4ca75b6facb012103250024ec1bed8a47f0ef01b213aab498214c15d269d4ef36e37e1292a69609c1ffffffff9aa0f65e764d95528c862ca06649e84dbda5a0c55b0250158722c9b8155a4a55000000006a47304402204d32f55f96596660de7741c99ace5fa0a52bd70e4c1c8c39e4cd455e2adf67ee02205f1283550d44073ab9a703ec7a70306d37d091f69deb09fc1907464fc1aa0f07012103f1fe05d77885a3fb5d82823b9d86f24c297c846f397def3a6703758a12f11165ffffffff02608f8f03000000001976a914b06862dc95b700394657b45e5446d8bb515fccca88ac00e1f505000000001976a9146842cba8d7cee7c2fde067757c425eb4ca88982588ac0000000001000000016ad55da2d39e7da6b1e9c93339757e90c4221cdf662c5aed7c1de6801524d07b000000006b483045022100a65ffa9efd91b6570cb612eee1e0ba52a78ec8f99bac9a6d1afe5a34ec42caf7022069d66cd72342128a7a758f53e25bb76a0383feae5e0b55e6cafa1fc188b9ac2c0121021d12b8d583fb91efab50d92a3d47afe0a03023a76a19f1cc35bf990a7e16fbeaffffffff0280969800000000001976a9146842cba8d7cee7c2fde067757c425eb4ca88982588acd0d1f602000000001976a914ff55d0602c91c22a53c1a8f7b2953ee8d296f5c588ac000000000100000001ba970c27b1e275f19fd86a57fb2c2dc272c1bf6d9fa70a196c65c9b5d4688fac010000006c49304602210090efccb95f12b108b4c638c5301e2ae397807c50f9bce0daa2ea1b03b0d82339022100bf22af5521ad4c28d35ebbe82dcb81a0b696ab2d81e7e18bdd0492d7668f2de3012102da0f244f273886608401b7cb44548102f9a76dd1812d909c6364778ec1f16df4ffffffff0240145e02000000001976a9146c7b52824fd27501fae1779046afc9f58ac8773588ac80969800000000001976a9146842cba8d7cee7c2fde067757c425eb4ca88982588ac00000000
2014-03-08 05:05:27,240 merkleMaker INFO New block: 00000000000d739a915e14c3f70fde09220df14cef8097493ab8fa607783a767 (height: 203772; bits: 1b180ab0)
2014-03-08 05:05:27,249 JSONRPCServer INFO Nobody to longpoll
2014-03-08 05:05:27,251 Waker for BitcoinNode DEBUG Read wakeup
2014-03-08 05:05:27,258 BitcoinNode INFO Sent `block' to 1 nodes
2014-03-08 05:05:27,272 blockSubmission DEBUG Upstream 'primary' accepted block
2014-03-08 05:05:27,322 newBlockNotification INFO Received new block notification
2014-03-08 05:05:28,083 redflag CRITICAL Traceback (most recent call last):
  File "/usr/lib/python3.2/json/decoder.py", line 367, 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 "./eloipool.py", line 382, in blockSubmissionThread
    reason = UpstreamBitcoindJSONRPC.submitblock(payload)
  File "/bitcoin/python-bitcoinrpc/bitcoinrpc/authproxy.py", line 114, in __call__
    response = self._get_response()
  File "/bitcoin/python-bitcoinrpc/bitcoinrpc/authproxy.py", line 140, 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 351, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.2/json/decoder.py", line 369, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded

Found the answer (I thought) over here on this awesome post...
https://bitcointalk.org/index.php?topic=495542.0
being
Quote
A known fix is to change the line in python-bitcoinrpc/bitcoinrpc/authproxy.py
somewhere around line 72

Code:

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

to read:
Code:

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

Unfortunately, and not knowing how to code at all(Close friend who does do a lot of coding and away overseas at the moment) has actually banned me form coding, apparently I am  Huh
Quote
"a menace to all society if I attempt to code")
The closest line to the answer above is
Code:
   self.__auth_header = b'Basic ' + base64.b64encode(authpair)

I added the ".decode" as instructed above to this

Code:
   self.__auth_header = b'Basic ' + base64.b64encode(authpair).decode

But this prevents the miner form connecting or finding the pool at all.  Shocked

I have spent hours on this, and have exhausted my frustration.. Cry

Could anyone assist with this.   Grin

Cheers
whitehathacker
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
March 08, 2014, 04:50:56 AM
 #270

Have just finished installing and setting up. Managed to get through everything reasonably well.

Started mining via the testnet to confirm all is functioning only to get this error below

Code:
2014-03-08 04:54:38,424	merkleMaker	INFO	New block: 00000000a7b45a26837f6e134f3fc00cc042dd7a73edafedca1cdfd20301f8a8 (height: 203771; bits: 1b180ab0)
2014-03-08 04:54:38,448 JSONRPCServer INFO Waiting 15 seconds to longpoll
2014-03-08 04:54:42,694 JSONRPCServer INFO Ignoring longpoll attempt while another is waiting
2014-03-08 04:54:53,409 JSONRPCServer INFO Nobody to longpoll
2014-03-08 05:05:27,233 checkShare INFO BLKHASH:            d739a915e14c3f70fde09220df14cef8097493ab8fa607783a767
2014-03-08 05:05:27,235 checkShare INFO TARGET:           180ab0000000000000000000000000000000000000000000000000
2014-03-08 05:05:27,235 checkShare INFO Submitting upstream
2014-03-08 05:05:27,237 checkShare INFO Real block payload: 02000000a8f80103d2df1ccaedafed737add42c00cc03f4f136e7f83265ab4a700000000857ab5db6004b9c70749b35841980b1877360390f9f7740b700d1593a6e63f724f181a53b00a181b03b8f8cc1101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff1103fb1b0304531a184f00000000c4010000ffffffff01f03b082a010000001976a91438ac799ceb934fec797fd7e8800661f5ab4bb7dd88ac000000000100000001f1b08e8ecc8bbb8363fd5c93b9c5ef63fa6b4a7daddb825d299dca400a269b07010000006b48304502200588fd6d120996b24cf61a052e8f489d2b806ace58c0a34ccaa2478c15657448022100fcdc87610b35bda8636e6197453c5418124bc948eeca5fc00afd7be8bbb9f9a1012102de1ac163350aac805928a479222242c01a963fa7b7dce662d3569221da9e1089ffffffff0200b33f71000000001976a9147d1209604fe6df84381948c41abcced208cd261088ac00e1f505000000001976a9146842cba8d7cee7c2fde067757c425eb4ca88982588ac000000000100000001c91cc4c73021007656b60d98130900b8ed7ec94a4fe8a56986fac318586a7033000000006b483045022100b95a362f417c67f4764d78a65e94cf6a6568e7b163b4f6ae09b1f07bc9bfdcf702206a60c99040f8714f23c9dd1cb776661a1b948fd94243e65426aa510004c35e62012103c716e13e73bcdbbf79b49a878425e755d0f65a67cbe4da00e1ccb6ec655582b8ffffffff0200e1f505000000001976a9143d4777c79d2495a608dbb20d0a942850c6695ad088ac8034010e000000001976a91496c1f972a3fdc6a51758b40c11281c2f5b32cc8b88ac000000000100000001d24fa4e2460e91e1d5996f31c2371fc18b19a67cf5635e61656f06e3b5956483010000006b483045022100e58806ddac889472558212ff5935a75673c62b5888a47b6b2538f427b488eeef022003b3114c94b1442d8719e23d194321d6f5135fc3ed87779370a1969c6c1c795e01210229e89b67ba82311e51f80ded9455d5a8fd4011cc8fbc085254a170dccae1f231ffffffff0200e1f505000000001976a9140ac5623d29bf4d551399f0717a82beec138a924e88ace016cd1d000000001976a914ca415b2cf503b0675c4d91844d36575c0d79992e88ac000000000100000001e16b56ba1559100351a98397aedfbae39c5b3833a00d2130f11abe4f2693d32f020000006b48304502203f2283f2a0ece89d00ead3a3860375ffd8ad597b85116ddaaf7bcf6c76529fa0022100b4d14f5701eacc1d78dda17130f110138b58ad715eee4e664675e89f0c9c496a01210322a9e92b2eaab7eb3c7b3e2f0efbc532ade9128963d46d3894c2fe801e05a152ffffffff037064080000000000232103a3dbfcaf0bda0fd6697890fb599cf7c111b96fa485e3d37ecf8b2f6ddcba97c2ac4c443201000000004752210322a9e92b2eaab7eb3c7b3e2f0efbc532ade9128963d46d3894c2fe801e05a1522103a3dbfcaf0bda0fd6697890fb599cf7c111b96fa485e3d37ecf8b2f6ddcba97c252ae621d7209000000001976a914d4c23edec54815eb9a3414385d32bf5b40aaf2ec88ac0000000001000000012ffd1b139f52cb35aa49724544515a3c4d49603a13f19631dddce09b84cec3df010000006b483045022100be70b1754b8673baea7c6fbb86f3be37872c60d49938d3a93efcae5ac5491d3f02201299064e9d60d7fc164e724e83d80a0f79bdb556c51ba746960b4e1af42e98aa012102c7a7662e89aec9dc452958d12c7fe86a5a9ef28ae2c9f6674eda7e610368bb6affffffff0200e1f505000000001976a9148beb2ecf4cf7e3acacd6d883ba8f3bd83d250e8d88ace0f7c223000000001976a9141f592a9185960b5c16f2821c08b0626ada6b058e88ac00000000010000000130e494352411e1852269c51f58edb6dadbfb88a085444ab3a5967c8d5b862ce5010000006a47304402203dc97a0728c1b60c8fa3bd3b26ed72de52c4864538141ec2f1dc37d4019cb8c002204bd41119b7631b022ac006f7524209c05268ee06e57fd7f247b772f322058e260121026de0e2c7e111ee6324066dc1e00a5b4b19c1d0d305d1b4407099f563b0708343ffffffff0200c2eb0b000000001976a914805d2cd148ff6813f9e21ab00a34a776e5b538ac88ac50b6520b000000001976a914178d76374321d56d5aeb9e3bab9a4364ff69de5488ac000000000100000001187c89f6e245ccb3736546bc09fb5258d924248eb0cbd0555cdde361dccbbf66000000006b4830450220614b5726cbf638bc13802aeb07ca6199b995422d3655e9f5f650b6accfa2a37e022100b219f6d912ff0f85c42d8532c5c5fdfed8228f542caa0e5f649da085911216a0012103eb0753af316368bded5edbf2316500a84318c12af2ee895067992d0aa87f2d1dffffffff0200e1f505000000001976a9146842cba8d7cee7c2fde067757c425eb4ca88982588ac7004530b000000001976a91465b8cae9acd8147606b6bb2d023ce68b741fdfdf88ac00000000010000000195da535ed8166e0e7cc9a88395cafbdcc57cf15d01aa58d5a4a21264a01be44d000000006b483045022100ca52d7ba237e165a8f318d240adce191e962e3b6c291ff818b2a1b42e47aed43022023b5e2b7f2cc1ee34f74c0809508d24c0373a78b34cc9d1b8ead049eb19b0162012102fc3f059e1153c11682268e339cfd0f4d531d7d2f9dd03defb141af4a9efc2626ffffffff02ce411300000000001976a914cecc896859245c49392ff24f58b4f77045529f2e88aca0860100000000001976a9149b3047b8596b0698feee5ac08f5c84f43df991a088ac000000000100000001d711bd5aa29b462367f78abd25c8fdcf7bc15932b41809199dd23f9df121a9aa000000006b48304502203e591160db14cf1d4add95bb9c346c16271a88381a27a9bbfcc2d73fa23d4e6c02210082126d55a552305221845fb692fa8e35277fe1bf90afd124434126f4299c4ae80121023047c17b363f969adfc3e16fc4927db40c3bbe07d97f0e53d1ff4d4f7e851b4affffffff02f0aa496b000000001976a914a1759feef65cbc92a6af1ef0d1e97b361e2e296488ac00e1f505000000001976a9146842cba8d7cee7c2fde067757c425eb4ca88982588ac000000000100000001614918e7ad92615b1a1c8697c11bec6c048b69b77255560a76fbeb3621daf33a010000006c493046022100f10b4bedc681b3c71845f99a10c79737ed285ea356bbf566d355bcddbbb2ee99022100a7a2f7b5cda232d85317c4ae7f3be00d384673376f46165e973354379df7db9a01210250f33d42507054f1ae91d5720725c4172c4892dab944916ba1cc7c1324002d56ffffffff0260fc5c05000000001976a914139509416a0c7d84554864f607e50f290c7fe6fc88ac00e1f505000000001976a9146842cba8d7cee7c2fde067757c425eb4ca88982588ac000000000100000001ace0e0e9f08c7ae9b318867d09fcd02667b65337f49277756824527484b7ecd1020000006b48304502204e05085e1a40251a74543a29fba945bd4d51ae422ad4f8af9282a89a3bf985ac022100845773e6431f28993cb1cfe6198da0db34a2ce86e6431d2bddeb529e8496196a0121038ec2a9148c7b846a34bc2927192d1cfd9e4cf3cc99c05bb5a8408664f35eed37ffffffff029e4000000000000023210322a9e92b2eaab7eb3c7b3e2f0efbc532ade9128963d46d3894c2fe801e05a152acd257f731000000001976a914544cff8187868bc439c2a5470331295c41bde0c488ac000000000100000001dee5e4040358ac27d6f233becc86b0bd597c78f95a0a1a9065aa3d3dd8019c6d010000006a4730440220614aaf9e65e3a111425d2e24d152449b64b75cbea1f7ff34e62928e9f55d09b202201be0bb53714b2c6d38bc368e4fe925c3b167caac8a55ddce3dfa77aa807502090121038ec2a9148c7b846a34bc2927192d1cfd9e4cf3cc99c05bb5a8408664f35eed37ffffffff02175600000000000023210322a9e92b2eaab7eb3c7b3e2f0efbc532ade9128963d46d3894c2fe801e05a152acabdaf631000000001976a914544cff8187868bc439c2a5470331295c41bde0c488ac000000000100000001074500659ebde6106fa14e175ef79093ed4c03148e3db0a72b19df9bda4de991020000006b48304502210092356efb5bf022205307d44115f84de62791cb8a6260a0d1c332e082560aff42022069cff759799c91c524bd315a786c126db09110644faf7ee03e4280ac5d2c047b0121038ec2a9148c7b846a34bc2927192d1cfd9e4cf3cc99c05bb5a8408664f35eed37ffffffff037064080000000000232103a3dbfcaf0bda0fd6697890fb599cf7c111b96fa485e3d37ecf8b2f6ddcba97c2ac4c44320100000000475221038ec2a9148c7b846a34bc2927192d1cfd9e4cf3cc99c05bb5a8408664f35eed372103a3dbfcaf0bda0fd6697890fb599cf7c111b96fa485e3d37ecf8b2f6ddcba97c252ae2d9b2b30000000001976a914544cff8187868bc439c2a5470331295c41bde0c488ac00000000010000000297ef87f5a4935dcca177e259b791de83677f1e7bf5a780719967a1106c785ace010000006b4830450221009ab6bc5935a978d7bc8f348bd6e8d26236071873f4fe14676e0681551ca845fc022067cfe975ce3b999cfd601283fe5c76b5dadec38e2a73f9e39d40b4ca75b6facb012103250024ec1bed8a47f0ef01b213aab498214c15d269d4ef36e37e1292a69609c1ffffffff9aa0f65e764d95528c862ca06649e84dbda5a0c55b0250158722c9b8155a4a55000000006a47304402204d32f55f96596660de7741c99ace5fa0a52bd70e4c1c8c39e4cd455e2adf67ee02205f1283550d44073ab9a703ec7a70306d37d091f69deb09fc1907464fc1aa0f07012103f1fe05d77885a3fb5d82823b9d86f24c297c846f397def3a6703758a12f11165ffffffff02608f8f03000000001976a914b06862dc95b700394657b45e5446d8bb515fccca88ac00e1f505000000001976a9146842cba8d7cee7c2fde067757c425eb4ca88982588ac0000000001000000016ad55da2d39e7da6b1e9c93339757e90c4221cdf662c5aed7c1de6801524d07b000000006b483045022100a65ffa9efd91b6570cb612eee1e0ba52a78ec8f99bac9a6d1afe5a34ec42caf7022069d66cd72342128a7a758f53e25bb76a0383feae5e0b55e6cafa1fc188b9ac2c0121021d12b8d583fb91efab50d92a3d47afe0a03023a76a19f1cc35bf990a7e16fbeaffffffff0280969800000000001976a9146842cba8d7cee7c2fde067757c425eb4ca88982588acd0d1f602000000001976a914ff55d0602c91c22a53c1a8f7b2953ee8d296f5c588ac000000000100000001ba970c27b1e275f19fd86a57fb2c2dc272c1bf6d9fa70a196c65c9b5d4688fac010000006c49304602210090efccb95f12b108b4c638c5301e2ae397807c50f9bce0daa2ea1b03b0d82339022100bf22af5521ad4c28d35ebbe82dcb81a0b696ab2d81e7e18bdd0492d7668f2de3012102da0f244f273886608401b7cb44548102f9a76dd1812d909c6364778ec1f16df4ffffffff0240145e02000000001976a9146c7b52824fd27501fae1779046afc9f58ac8773588ac80969800000000001976a9146842cba8d7cee7c2fde067757c425eb4ca88982588ac00000000
2014-03-08 05:05:27,240 merkleMaker INFO New block: 00000000000d739a915e14c3f70fde09220df14cef8097493ab8fa607783a767 (height: 203772; bits: 1b180ab0)
2014-03-08 05:05:27,249 JSONRPCServer INFO Nobody to longpoll
2014-03-08 05:05:27,251 Waker for BitcoinNode DEBUG Read wakeup
2014-03-08 05:05:27,258 BitcoinNode INFO Sent `block' to 1 nodes
2014-03-08 05:05:27,272 blockSubmission DEBUG Upstream 'primary' accepted block
2014-03-08 05:05:27,322 newBlockNotification INFO Received new block notification
2014-03-08 05:05:28,083 redflag CRITICAL Traceback (most recent call last):
  File "/usr/lib/python3.2/json/decoder.py", line 367, 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 "./eloipool.py", line 382, in blockSubmissionThread
    reason = UpstreamBitcoindJSONRPC.submitblock(payload)
  File "/bitcoin/python-bitcoinrpc/bitcoinrpc/authproxy.py", line 114, in __call__
    response = self._get_response()
  File "/bitcoin/python-bitcoinrpc/bitcoinrpc/authproxy.py", line 140, 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 351, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.2/json/decoder.py", line 369, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded

Found the answer (I thought) over here on this awesome post...
https://bitcointalk.org/index.php?topic=495542.0
being
Quote
A known fix is to change the line in python-bitcoinrpc/bitcoinrpc/authproxy.py
somewhere around line 72

Code:

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

to read:
Code:

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

Unfortunately, and not knowing how to code at all(Close friend who does do a lot of coding and away overseas at the moment) has actually banned me form coding, apparently I am  Huh
Quote
"a menace to all society if I attempt to code")
The closest line to the answer above is
Code:
   self.__auth_header = b'Basic ' + base64.b64encode(authpair)

I added the ".decode" as instructed above to this

Code:
   self.__auth_header = b'Basic ' + base64.b64encode(authpair).decode

But this prevents the miner form connecting or finding the pool at all.  Shocked

I have spent hours on this, and have exhausted my frustration.. Cry

Could anyone assist with this.   Grin

Cheers


You have to add the () to the end of decode.

In programing, parentheses "()" is where you put the input for a function or identifies a function. Because the "decode" is a function, it requires that parentheses at the end.

I'm overseas right now as well, but the magic of the internet allows such collaboration :-)

~WHH
balemon
Newbie
*
Offline Offline

Activity: 4
Merit: 0


View Profile
March 08, 2014, 06:15:38 AM
 #271

G'day WHH,
Thanks for the reply..

The missing brackets were a slackness in my cut and paste skills.

Just to be sure I went back and redid everything, but came up with the same result. With or without the brackets in there I cannot connct to Eloipool, but without the ".decode()", I can connect, but recieve the error..

Cheers Grin
balemon
Newbie
*
Offline Offline

Activity: 4
Merit: 0


View Profile
March 11, 2014, 06:05:48 AM
Last edit: March 11, 2014, 07:14:18 AM by balemon
 #272

OK, Got it running.
Appears I had to but some details in teh config that I missed..  Roll Eyes

So now. when it finds a block should it show as rejected??
Also there is an error that seems to be random. It's also in the log.

We are using the testnet to test this.. just unsure

Code:
2014-03-11 15:56:25,583	merkleMaker	INFO	New block: 00000000ec0f57dd5f7e6511ec3e8b7d6e2458b5d7b34e11922d04cb5e9025de (height: 204337; bits: 1b180ab0)
2014-03-11 15:56:25,594 JSONRPCServer INFO Waiting 14.9 seconds to longpoll
2014-03-11 15:56:30,051 JSONRPCServer INFO Ignoring longpoll attempt while another is waiting
2014-03-11 15:56:40,527 JSONRPCServer INFO Nobody to longpoll
2014-03-11 15:59:19,764 BitcoinLink DEBUG Received block inv over p2p for 00000000c881e0efc98059046558fae7fdea6264d4efc1c7011639e58542bf1d
2014-03-11 15:59:19,777 merkleMaker INFO New block: 00000000c881e0efc98059046558fae7fdea6264d4efc1c7011639e58542bf1d (height: 204338; bits: 1b180ab0)
2014-03-11 15:59:19,783 JSONRPCServer INFO Nobody to longpoll
2014-03-11 15:59:19,792 newBlockNotification INFO Received new block notification
2014-03-11 15:59:22,508 JSONRPCServer INFO Nobody to longpoll
2014-03-11 16:01:34,305 checkShare INFO BLKHASH:           169d276fcf1908811cebafc70c7e69446654624412047629686067
2014-03-11 16:01:34,307 checkShare INFO TARGET:           180ab0000000000000000000000000000000000000000000000000
2014-03-11 16:01:34,307 checkShare INFO Submitting upstream
2014-03-11 16:01:34,308 checkShare INFO Real block payload: 020000001dbf4285e5391601c7c1efd46462eafde7fa5865045980c9efe081c800000000bf432237dd27125a71ae4c70b1b0f054396574b7d1463d778790591fbf3cf2b8bba61e53b00a181b9b86542a0a01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff1103321e0304531ea6a80000000021010000ffffffff0160dc062a010000001976a91438ac799ceb934fec797fd7e8800661f5ab4bb7dd88ac00000000010000000162bb42b2524feaa4a605a0f23e187828baa433ec9fb5905fad714a430cbf2c04020000006b483045022100d17c7260ffe38bc15ed3fdea972109f06ab7628865f116f86238f793a5b49f1502204ec15af4db5d2d9eb17884723ce413514319fb371dd6ad43e3a919a77d52a063012103366f51a0cdc763e91ea2cf77dd3d37633551b0fc68b535d1315cba0aa57f5157ffffffff03d8209000000000001976a9149d8fa51eb46097d0c5b72448352f10949dd02f0588ac69b90000000000001976a91443dc321b6600511fe0a96a97c2593a90542974d688ac6e0d0fe1000000001976a914af685e020bb2c3d19fb7d524658a97e97ef9703a88ac000000000100000001be05c3b86d326151e1704157f18e025ec15112414a7dc4af075037419c258711000000006b48304502207f0c6dceab5f5f3e294dbcf69f582a7803d05a45c49e1ea0ab22971bf87d81bb022100b2eb6cb0c5b863ce7be580f2bddc3672d8b40664b12020a19678a42edf26c51c01210275798721f6631d86defd86b093141453e2e61af2cc5efbf8e00a43935059eedcffffffff0280384fe1020000001976a9147d2420c227e9d05d790f930ff3fc718738da9eac88ac801a7018000000001976a914662f522632a823d8f6f602ff6dcbe708af506bc088ac000000000100000001804301dc75c2f22fdd8dcfa4f8bb1f688f1d04ee6fda156827c781a0a215bb39000000006a47304402201a4c127e61a9f0b29b13d85988eab38ada79aabec9471b1098e3fb5e182f979102204e89dd8bb2902fb76446052ace6dce70c3f8957417e2dd92f5dc512cf6f59c860121025533b65d6c25a3f5eae8241ed4dec92ae59b7670fe5768f57d57a2615797be53ffffffff033cab9f00000000001976a914af685e020bb2c3d19fb7d524658a97e97ef9703a88ac67cd0000000000001976a91443dc321b6600511fe0a96a97c2593a90542974d688ac2c3be507000000001976a9146b64e67bf7ce9655daa29847bd4664211e79dd5888ac00000000010000000180da9ee7b36a3c2c3e69464723a6abf4278f92cf81789274c247ac5895997668000000006c493046022100ccb610d38ee22f703cba45e81b5863700c21cec8b5b86bf3a30014c99be92fc6022100b488c8e281b38cc6216685a3eb864e085cb2c9d2da0ae367abc569f59f53aa5201210258ce75f68fbe23dde2a7cbfd39a03579f2a2f7aef4208410aace155a75cc800cffffffff021cf31a03000000001976a914cf20239950ff5dbc50a40caf7b4a4ca2b8bdcddd88ac740b82840b0000001976a9146aa9337431240a608d1ed9d3cac17d2ad4bd760c88ac000000000100000001ae2c043a2a42755859fe54daa131359486edd3e95c31a0c643790d311c8d68a2010000006b483045022057992c6ad5ecfc2b5af2c323c3f7488a0490fd0149675d738e3f22ff591ddc200221008ac82a68579239eb385542fcf54a79220866e79f300d4a8a615b506bf99d942a0121025dfcbc7a2efb11ae68d08e02ce67b110c6b0b0d44d85938122c460b7c84395d6ffffffff02e8800000000000001976a914514951a7219fd99678c634bea850b0cb69f4e9ca88ace8eaf405000000001976a914f510cb928f5b85f73928ec0e2e8f2910de5395d188ac000000000100000001768ae0016aec4d990b25b63f0938b4f55ac42a9ac94340a441cd2286d059f857010000006b483045022100864ee64f79158b0beaba7508d037fe120bc56aa2c2d4b8e5270b46d058545c16022021d33ba7b9147430ea8ad2b0ca66fab1fc0221f1081f39cf3c33b30672934615012103253866214fe36fbcf9e56d90e3b4e6cac660a29b41f293b31e14503070544765ffffffff023efb0e03000000001976a914df02b93b7edb7406e25baa17fa66c87f45333b3388ac14ad7c45040000001976a91430d13024c20750852762107e462fcc45cd91e7af88ac000000000100000001e3869a49f94c602f4a760308ea59661f9f3f7b45746d47750e174e782b1b68e2010000006b483045022100b0aa69d0341e44b7a706bf965142e7389082af00c8efd7bf6a903183742aa824022024b35c067e3f31e6b01728b596e6b122fea9ce7dca40631c55fb160f47824e98012103517ced1a801b13d2169d905e54967b4ba24882295df67e630331f6f705c49bb8ffffffff02801a7018000000001976a91423b7530a00dd7951e11791c529389421c0b8d83b88aca02e9122000000001976a9142e06c67be86bdc63177ef88e9161f72a4993726888ac0000000001000000018ed6150453ece16b6549e65cbc87026fbe841cb1ce35ddae4f5e3a03fd43db26000000006c493046022100df01a5ced945baaac14ecdc42de5db931d36997879c3c9fbf850e4464b4530aa022100a9c1a8d31ace4ea90deeb5835657fe2fe24eac0262c4825fc07eca2cf04fcf56012103bfd0e2fbc9c90954cb2a18da01d4264d51581acb7cd45c44784a80cfea7b97e6ffffffff02270fd114000000001976a914c9b9aaad0e1128bae410ba29ce685e98f317d11e88ac4ccafb01000000001976a914ebc76b86ccced62062a6dfc0853bd0be12a62ba288ac00000000010000000451da967ef5e1fcfe4102cfbce051392978fc790155b11848c72e6f829f24fca2000000006a473044022018ea4927218963d0bd7aca143b78107857d76108736ea73c7f2e50703078bbf302203d33244455458d9a664098c218d293af8a813d1441c19c9386ec68222e8598440121025dfcbc7a2efb11ae68d08e02ce67b110c6b0b0d44d85938122c460b7c84395d6ffffffffa1ef391cb34a113b60f0698fb2356cae3dde866076df873c90d2eee69941cf70000000006b4830450220373da1a7601b4f24c03807894ac60795c32a955e07b9acd9214af111a56c2e62022100bafc6c21dc1c9e4f58012f27eab676b87426c3035c7e1e90618dfcc8ee82d4b00121025dfcbc7a2efb11ae68d08e02ce67b110c6b0b0d44d85938122c460b7c84395d6ffffffff70d85634baf4b6386424bcd1653927b357503c63bc887075f321e9fa395102b3000000006b483045022100a74d9f794e22f71a6bbc3b01508c8a646efd873878ee70e0debc0a2af629f44502206ecbaa1fa2973f1f5a155fbe919c093c060673383a14ea5ff6de13e5c9540ea00121025dfcbc7a2efb11ae68d08e02ce67b110c6b0b0d44d85938122c460b7c84395d6ffffffff192dbd2704c17e1b0b7daf2ad16b010c08c9f3df55f6d7efb4de1b3359fde78e000000006a4730440220064d8b1ee579388778655ef480533909f84c13456c34e80533ba47b196bd7fd90220246ff42d91323e564a8f5cb82def5e3c47f4688e911e20ded3a44029d1a01b4e0121025dfcbc7a2efb11ae68d08e02ce67b110c6b0b0d44d85938122c460b7c84395d6ffffffff02e8800000000000001976a914514951a7219fd99678c634bea850b0cb69f4e9ca88ac68420000000000001976a914f510cb928f5b85f73928ec0e2e8f2910de5395d188ac00000000
2014-03-11 16:01:34,314 merkleMaker INFO New block: 0000000000169d276fcf1908811cebafc70c7e69446654624412047629686067 (height: 204339; bits: 1b180ab0)
2014-03-11 16:01:34,316 Waker for BitcoinNode DEBUG Read wakeup
2014-03-11 16:01:34,326 JSONRPCServer INFO Nobody to longpoll
2014-03-11 16:01:34,327 BitcoinNode INFO Sent `block' to 1 nodes
2014-03-11 16:01:34,333 blockSubmission DEBUG Upstream 'primary' accepted block
2014-03-11 16:01:34,341 redflag CRITICAL Upstream 'primary' block submission failed: rejected
2014-03-11 16:01:34,374 newBlockNotification INFO Received new block notification
2014-03-11 16:01:37,001 JSONRPCServer INFO Nobody to longpoll
2014-03-11 16:06:07,886 BitcoinLink DEBUG Received block inv over p2p for 00000000689c3450cb346a97b5a31807700f0182a170a2b8d1a7fbda9acaaef8
2014-03-11 16:06:07,895 merkleMaker INFO New block: 00000000689c3450cb346a97b5a31807700f0182a170a2b8d1a7fbda9acaaef8 (height: 204340; bits: 1b180ab0)
2014-03-11 16:06:07,897 JSONRPCServer INFO Nobody to longpoll
2014-03-11 16:06:07,917 newBlockNotification INFO Received new block notification
2014-03-11 16:06:10,750 JSONRPCServer INFO Nobody to longpoll
2014-03-11 16:15:14,009 BitcoinLink DEBUG Received block inv over p2p for 000000000008bff4e1e9aab9744e9df86fd34bcea212f7698ef678137616ad9c
2014-03-11 16:15:14,020 merkleMaker INFO New block: 000000000008bff4e1e9aab9744e9df86fd34bcea212f7698ef678137616ad9c (height: 204341; bits: 1b180ab0)
2014-03-11 16:15:14,032 JSONRPCServer INFO Nobody to longpoll
2014-03-11 16:15:14,041 newBlockNotification INFO Received new block notification
2014-03-11 16:15:16,665 JSONRPCServer INFO Nobody to longpoll
2014-03-11 16:17:17,071 checkShare INFO BLKHASH:           1771cf3aa462f10d2f0b3a39c11bf7279d2f56e164584ea02b143c
2014-03-11 16:17:17,072 checkShare INFO TARGET:           180ab0000000000000000000000000000000000000000000000000
2014-03-11 16:17:17,072 checkShare INFO Submitting upstream
2014-03-11 16:17:17,073 checkShare INFO Real block payload: 020000009cad16761378f68e69f712a2ce4bd36ff89d4e74b9aae9e1f4bf0800000000004c929bc89aeaf82a70c634fd8a6dce3978f5a2a0608f8b3d3f2225392324c57d69aa1e53b00a181b18dc77180101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff1303351e0306531eaa62012d0000000086000000ffffffff0100f2052a010000001976a91438ac799ceb934fec797fd7e8800661f5ab4bb7dd88ac00000000
2014-03-11 16:17:17,076 merkleMaker INFO New block: 00000000001771cf3aa462f10d2f0b3a39c11bf7279d2f56e164584ea02b143c (height: 204342; bits: 1b180ab0)
2014-03-11 16:17:17,082 JSONRPCServer INFO Nobody to longpoll
2014-03-11 16:17:17,082 Waker for BitcoinNode DEBUG Read wakeup
2014-03-11 16:17:17,086 BitcoinNode INFO Sent `block' to 1 nodes
2014-03-11 16:17:17,094 blockSubmission DEBUG Upstream 'primary' accepted block
2014-03-11 16:17:17,104 redflag CRITICAL Upstream 'primary' block submission failed: rejected
2014-03-11 16:17:17,129 newBlockNotification INFO Received new block notification
2014-03-11 16:17:19,814 JSONRPCServer INFO Nobody to longpoll
2014-03-11 16:31:52,276 BitcoinLink DEBUG Received block inv over p2p for 000000009dd7bd84faaf02ab70427ba7efa33dba46e213a581ed0a4e9e49b3e8
2014-03-11 16:31:52,286 merkleMaker INFO New block: 000000009dd7bd84faaf02ab70427ba7efa33dba46e213a581ed0a4e9e49b3e8 (height: 204343; bits: 1b180ab0)
2014-03-11 16:31:52,310 newBlockNotification INFO Received new block notification
2014-03-11 16:31:52,323 JSONRPCServer INFO Nobody to longpoll
2014-03-11 16:31:55,174 JSONRPCServer INFO Nobody to longpoll
2014-03-11 16:36:39,486 checkShare INFO BLKHASH:            94466bffe8fffb3a69f813e460ccc748c4ffa2d8e28770b49098b
2014-03-11 16:36:39,486 checkShare INFO TARGET:           180ab0000000000000000000000000000000000000000000000000
2014-03-11 16:36:39,487 checkShare INFO Submitting upstream
2014-03-11 16:36:39,488 checkShare INFO Real block payload: 02000000e8b3499e4e0aed81a513e246ba3da3efa77b4270ab02affa84bdd79d0000000032cc7e07af1f8ce2a52a37ce8fba88945d374707006a402d578dcc83a37490fff4ae1e53b00a181b46703f6e0301000000010000000000000000000000000000000000000000000000000000000000000000ffffffff1303371e0306531eaeee03f40000000073000000ffffffff012040062a010000001976a91438ac799ceb934fec797fd7e8800661f5ab4bb7dd88ac000000000100000001edfbeaee66f994755ab439803959ed2d748137cf73bdca20a9aade9d002f5949010000006b483045022100adad4f89d34bf2fc3ddccaccddc493c545809eb53bdfa3eeef2b38fa5e60b3260220398986890237083db9fae7c5369965f4a4a7789845e94cb0da686ee17f3ab5c5012103114eaf17f04d9d9253ff884792215a8723210cbd9851f5957d79350307bdf759ffffffff026a655708000000001976a914a83df1c633945ba8459269840b6e4a802bfe703388ac242dd204000000001976a914c133837e2906e9f0ea93342c19ec53071c7c9e5388ac00000000010000000148a027d04621b46f9204b17e2e7020880c729a28a04fb072fff24bb6492bb145000000006a47304402207d1daf63c924c45740dd9e1edd65a50ad552d3d67d094647ba680ca3b653ee9b0220673b66e6f4607ae08413ebb421cba7284939f5653fed44eebc16d8a9a430501f012103e7c59c599cae76bdfa3e7b1bbc552efa8e1dc72f807b9db0861c49fa26249912ffffffff029a18bf01000000001976a914473aec86a0abe4c23f1f0b3cb024b70879013b5188acf26bac00000000001976a91463a50466d6ff658312341d6269cdb7aec4a4942c88ac00000000
2014-03-11 16:36:39,490 merkleMaker INFO New block: 0000000000094466bffe8fffb3a69f813e460ccc748c4ffa2d8e28770b49098b (height: 204344; bits: 1b180ab0)
2014-03-11 16:36:39,493 JSONRPCServer INFO Nobody to longpoll
2014-03-11 16:36:39,497 Waker for BitcoinNode DEBUG Read wakeup
2014-03-11 16:36:39,500 BitcoinNode INFO Sent `block' to 1 nodes
2014-03-11 16:36:39,514 blockSubmission DEBUG Upstream 'primary' accepted block
2014-03-11 16:36:39,519 redflag CRITICAL Upstream 'primary' block submission failed: rejected
2014-03-11 16:36:39,542 newBlockNotification INFO Received new block notification
2014-03-11 16:36:42,332 JSONRPCServer INFO Nobody to longpoll
2014-03-11 16:38:44,527 newBlockNotification INFO Received new block notification
2014-03-11 16:38:44,536 merkleMaker INFO New block: 00000000b58f8f4e61725a9db000f36d4c784a9ea157f8531a1c91b5ee4a0937 (height: 204345; bits: 1b180ab0)
2014-03-11 16:38:44,540 JSONRPCServer INFO Nobody to longpoll
2014-03-11 16:38:44,549 BitcoinLink DEBUG Received block inv over p2p for 00000000b58f8f4e61725a9db000f36d4c784a9ea157f8531a1c91b5ee4a0937
2014-03-11 16:38:47,355 JSONRPCServer INFO Nobody to longpoll
2014-03-11 16:43:08,263 checkShare INFO BLKHASH:            e69086f918eaa087c327c5001e4a9b22960e966c0334354fa8e14
2014-03-11 16:43:08,264 checkShare INFO TARGET:           180ab0000000000000000000000000000000000000000000000000
2014-03-11 16:43:08,264 checkShare INFO Submitting upstream
2014-03-11 16:43:08,265 checkShare INFO Real block payload: 0200000037094aeeb5911c1a53f857a19e4a784c6df300b09d5a72614e8f8fb500000000b06dca812cfb6efcfcf4a01d354c1391b93718d6d21bb5f12427c38fdd272dca79b01e53b00a181b53acfa4b0501000000010000000000000000000000000000000000000000000000000000000000000000ffffffff1303391e0306531eb053060e0000000012020000ffffffff013067062a010000001976a91438ac799ceb934fec797fd7e8800661f5ab4bb7dd88ac000000000100000001139dc3fa204a7fef1fea3b70335f0651995996e4bd1ef8bd8a72869cdd2102a2010000006b4830450221009734c2ab2b1421f34afcfef3fc7a34def3ffa24383d0f690028f211efbc4c508022035dd141ff95f5b265df503943792a47988e1c33e42460debb532506e4a4282380121023e62327134f2257a680c9fb1d77c20b3fc236c6d013e855deab0becb42ce7852ffffffff0212298503000000001976a91414c82b00e06eb2e45bd2e89143fefe57c609a05b88aca0e9367a0b0000001976a914fd1403815612aea7fe9be9e8b094db030cb9036b88ac000000000100000001ec83f6debde843469b31e89fa24df4c55910a09be4c856b45ce13e109152780a010000006a473044022077ff6874717d8a489bb6ab7dfe09fff97632514d43403deaa2bc518bd247f566022042f91e14a3a680abacdabac07b96ac9c29ff6ed7dcd154831ac732372a9db6580121039b135b82edb823a9530adb58fe4248403385ca37c0868df19d6de009667bd0b5ffffffff02f0e82600000000001976a914e2d23f9ecb2c9f44444f567ba0980cc70e41c49688ac6012e034000000001976a914defb56704d91f8c856dd37937a47043ab413d08a88ac000000000100000001ca8d40ac1c5056b59484e97937ce7af66e4a0b8f92ed8e10d1923f7b8b5a4245010000006a473044022070cee61a42047b636e9c48862a4d3b753e69ae76aab4b4b8cd6ab6bbc69c127f022023729e082264e89616dac6f120205430d72b1aa18127b9c227f15ec7dddf92780121037276f2234f116d4a3a0885c5cface8d3c064d540f025125a1a8531bc516b7baaffffffff02f36fdf17000000001976a91411d389c8cceba108511ea7d1bd85beaf09a9daf288ac905ccb01000000001976a9145a3ee0a224b5bc34efe71c7cddba12e18943ef5088ac0000000001000000024a6a4f04696c6b4cdd4e610ad2745f6a03084d6baacd254d068107864c28e4ba010000006c49304602210094f53a59f513441ebdc79e8255b56ca352c6acf0caacb5e825a2753fb102b93e022100ee3830a0e79b9541c2469b71db806ba85883b9332fb4ffa2131dca4f785f3d3001210338328d7dd4268f349ce2604f10b2d0c6b3d2571e935603e6809aaab6c16cdf3dffffffff95ff190faa1fddf63d9af0715ec1681541400a63d66f858a546cd787eb5e47b1010000006b483045022100ce910f67533e8f353af2db2767b5f96b07ec85818c4b6058ae95d8b5b6e4042f0220149af343725188de8d10d989399298e87966bf611929c7c23ea6f9e4d98ce7c1012102bc8722004187b2a55746c044a931f84eb65d49c903719c36e84bd74cd3772e25ffffffff0250690f00000000001976a914311454724582df155034ae07db12a4ab337d329488ac002d3101000000001976a914dd8f23a955f3cd281943d58e4b208988cb945cfe88ac00000000
2014-03-11 16:43:08,269 merkleMaker INFO New block: 00000000000e69086f918eaa087c327c5001e4a9b22960e966c0334354fa8e14 (height: 204346; bits: 1b180ab0)
2014-03-11 16:43:08,272 JSONRPCServer INFO Nobody to longpoll
2014-03-11 16:43:08,273 Waker for BitcoinNode DEBUG Read wakeup
2014-03-11 16:43:08,276 BitcoinNode INFO Sent `block' to 1 nodes
2014-03-11 16:43:08,293 blockSubmission DEBUG Upstream 'primary' accepted block
2014-03-11 16:43:08,295 redflag CRITICAL Upstream 'primary' block submission failed: rejected
2014-03-11 16:43:08,319 newBlockNotification INFO Received new block notification
2014-03-11 16:43:11,074 JSONRPCServer INFO Nobody to longpoll
2014-03-11 16:45:49,123 checkShare INFO BLKHASH:            e5cac6f817c10e1503fe4ecad0e088300c63f7dee80d45c936889
2014-03-11 16:45:49,124 checkShare INFO TARGET:           180ab0000000000000000000000000000000000000000000000000
2014-03-11 16:45:49,124 checkShare INFO Submitting upstream
2014-03-11 16:45:49,125 checkShare INFO Real block payload: 02000000148efa544333c066e96029b2a9e401507c327c08aa8e916f08690e00000000003c6cf2767de9eaf35602743fddf2f67ad9ae176b8807b136806039aa6f55a20f19b11e53b00a181bac686a520701000000010000000000000000000000000000000000000000000000000000000000000000ffffffff11033a1e0304531eb0ed0000000060020000ffffffff01408e062a010000001976a91438ac799ceb934fec797fd7e8800661f5ab4bb7dd88ac000000000100000001a0e9a987155d749416fe3021ee3613d2285fd8c2828e1ec0b8b1c2cb07abefd4010000006b483045022071b88e8261e614602d24f6da2cd83172a43646b2ba769664114b3c7bd37d1a96022100ec0044b6f9c6ff2a8314429baff18b2eedb09b689e820488033de05272eb2481012102c905595ebcdc7f192c777d70ab1e1de7d84486e0a1d614add52e85adf02aee72ffffffff027057fe02000000001976a9142904a5df8a2991532985004998ba2acc8e82903488aceabe273f040000001976a914d93a76fa803af2ef5c12160a0bb38d87f767963488ac0000000001000000018a2e826c81be469d3fe56996f487bf197ea303f6064517efeaf3039c22246687010000006a47304402205fcad14de0e07b7a86ce5902252f7b77867e257162f38b2e840efabb2ccce51702201170046847c353e242f07e371f6cdc7185d8e53cd9de74c95c7074b978894cf8012102f53ced39b8580ac27e5d25475cb9b070e5dabe9cebb9e32caec7f6ebd127fa77ffffffff02eec2e0760b0000001976a9148fc0e95c9233a52a8b8ef93f034f7ea4598f4f0088acb2265603000000001976a914d2bb150a71fa4fc9e48f202796fc8f56b348427f88ac000000000100000001cea500aff13d404f720a2190b93272613f650739a5798d6ed99c030569fa77e7010000006a47304402203d4b2523f17473867a7e120f6eb83b35a9b4b9ae68c46822cacc6cbf314a53fe0220778812289798f5643e2505253c63e86778ec1320f92d1ec625070417f2c253e4012102e38714e422672badb9938ad5e15b414e00089f173029881e20fb3283c54f1486ffffffff0252edaf01000000001976a91466ac68cbb9efdcd70a276468101aaffb5942707b88acc87bd515000000001976a914ab564710a48e81f8c0f299663277e16ef4f626b188ac0000000001000000016cda0d964722fa4b5c1a517761a129a310acc21ac67a84d7aa6039b34931e686010000006a473044022012f171e3ed8bb5718fc975f2861afc7b6833d33c49d85a6936c44fc8cc23a3f6022053f5223ddab6d1417cb32e3fb788fd50c5142743163cb4d71a644423a3f3da530121039b135b82edb823a9530adb58fe4248403385ca37c0868df19d6de009667bd0b5ffffffff02f0e82600000000001976a914641e81b6221301afde668537d8b1c9f53975fc0288ac6002b934000000001976a914defb56704d91f8c856dd37937a47043ab413d08a88ac00000000010000000148447bbfb9348466aee06833d33b90d8789e9cae50a79d66731828f614f6627e000000006b483045022100961101301d08783a2672fd2c6d6fef8741940d05ce6e7737f8708a5cb43f245a0220531649f162031985f73002b4265c29c1d9d1717179b18127023e889a596a9aec012103458e98ec4f069070a13d09d0a4a4f84465c720180b77b3e7da6be38cd5b639eaffffffff0256a7ab01000000001976a914d4d2afb209a7c90b5c11cd3e006836c2274f1f4c88acd0b6ac10000000001976a914ce4ee6a44542abc5ccd0cd9677eafa7357c47f1888ac000000000100000001371849a5e5cfea5822707c40e3a35d2b3cc21a259dd5254f94e558e14b5612f5000000006c493046022100e63379b0c54e8abed14f1ce9e814a287a2894ee5b81cde1a364943a8dcd66832022100a54e350e2572127e7eef1e36825c3bb2b64120d7d94e16235bf9a6291e1517170121036c0c0d4ff07381aa7a1df3ca5fbffb4e16858430f257fd9b0bb15521403b954bffffffff02beb2c901000000001976a914a2f11e282ac588acc05760bd94c0a015756933a388ac0dfc7411000000001976a9144656fa0bc570dccab4b2e0712f32ea729788ef2488ac00000000
2014-03-11 16:45:49,128 merkleMaker INFO New block: 00000000000e5cac6f817c10e1503fe4ecad0e088300c63f7dee80d45c936889 (height: 204347; bits: 1b180ab0)
2014-03-11 16:45:49,140 JSONRPCServer INFO Nobody to longpoll
2014-03-11 16:45:49,144 Waker for BitcoinNode DEBUG Read wakeup
2014-03-11 16:45:49,147 BitcoinNode INFO Sent `block' to 1 nodes
2014-03-11 16:45:49,157 blockSubmission DEBUG Upstream 'primary' accepted block
2014-03-11 16:45:49,166 redflag CRITICAL Upstream 'primary' block submission failed: rejected
2014-03-11 16:45:49,189 newBlockNotification INFO Received new block notification
2014-03-11 16:45:51,957 JSONRPCServer INFO Nobody to longpoll
2014-03-11 16:47:20,185 checkShare INFO BLKHASH:            1f78c6c6378c7cdde85775ab2ac6d618716c1b87e29dbbe69352c
2014-03-11 16:47:20,185 checkShare INFO TARGET:           180ab0000000000000000000000000000000000000000000000000
2014-03-11 16:47:20,186 checkShare INFO Submitting upstream
2014-03-11 16:47:20,186 checkShare INFO Real block payload: 020000008968935cd480ee7d3fc60083080eadece43f50e1107c816fac5c0e0000000000b24dc86f690f3649f2185c5002d2a2e9d11d81af6e8934fb20ec5293eefac3ea73b11e53b00a181b77c77d1a0401000000010000000000000000000000000000000000000000000000000000000000000000ffffffff11033b1e0304531eb156000000009f010000ffffffff011019062a010000001976a91438ac799ceb934fec797fd7e8800661f5ab4bb7dd88ac000000000100000001fe41c35dcc381fa3f8393bd0cc6b67b41605f9c48910b0481979d8984e3ac887000000006b483045022047c15403204e5d236f69946371d302fd401a64d67fd2a221d32e3855ee64c20d022100e226b8e44bd46cf57ccc55eb91033e05adf8a1721d6d24bbe5738095f5c421e2012103b43a377887f70c92e3cacdec2299fb9ead1ae141e6042c7e43b8ff1f0ccf6a52ffffffff025c3851730b0000001976a914a0d6baa222eef25e628164d31cb1a953c8d6ae4988ac928a8f03000000001976a914a5f687b6790914b955ef8b3e5295657a7918fa7f88ac0000000001000000015015b74fe1f90a074d95f52b87b3bb1e6c49b948fa5739bb9c0ddb1a72e8a5da010000006b483045022100bd718941ca344c1d73f68d3f40977e1222d2608b2fd857582c317e362add685a0220225220a359b6689f27a1b142f1f27abbd2e235a8345b41b4fc47f035637e15cb012103a132ed0e09f8ca944594c13c53902ed4498ec98b408178930bc0f9fcf4bfd87bffffffff0270fd293c040000001976a9149d603113300b3138c54b8486109a93c5f731ef7588ac7ac1fd02000000001976a914a0ec45dd7e10bf5cb2bce7387da5f33b5e3ca83588ac00000000010000000174c46663bdff01de72a65a2147b001e695e8edd8988e106cb63713bdf124085b010000006b483045022100ce29776e267ae67b2a7bb730f368b45714ed16990b7bff281377d5c2ff3811f1022028618b2856a8163bb6021a36edad8cd46e0fa436db0b57d610f1518b030c649c012102e86e925ee6b3ed000bd72f0cb51be0135a466917c4f7f04ceb79ce2fabe78e57ffffffff0280969800000000001976a91460b198dd4631fe00a1c5367a23661ae1455517ea88ace00b6202000000001976a91405288960acd0f3b0fca4945d8cc0a68a2a95251388ac00000000
2014-03-11 16:47:20,190 Waker for BitcoinNode DEBUG Read wakeup
2014-03-11 16:47:20,191 merkleMaker INFO New block: 000000000001f78c6c6378c7cdde85775ab2ac6d618716c1b87e29dbbe69352c (height: 204348; bits: 1b180ab0)
2014-03-11 16:47:20,192 BitcoinNode INFO Sent `block' to 1 nodes
2014-03-11 16:47:20,197 JSONRPCServer INFO Nobody to longpoll
2014-03-11 16:47:20,217 blockSubmission DEBUG Upstream 'primary' accepted block
2014-03-11 16:47:20,223 redflag CRITICAL Upstream 'primary' block submission failed: rejected
2014-03-11 16:47:20,246 newBlockNotification INFO Received new block notification
2014-03-11 16:47:22,863 JSONRPCServer INFO Nobody to longpoll
2014-03-11 16:49:21,126 BitcoinLink DEBUG Received block inv over p2p for 00000000fe37e055e9c1a6ae23c1501425edf43911ca1f348032e14a3c9cfd37
2014-03-11 16:49:21,135 merkleMaker INFO New block: 00000000fe37e055e9c1a6ae23c1501425edf43911ca1f348032e14a3c9cfd37 (height: 204349; bits: 1b180ab0)
2014-03-11 16:49:21,140 JSONRPCServer INFO Nobody to longpoll
2014-03-11 16:49:21,152 newBlockNotification INFO Received new block notification
2014-03-11 16:49:24,036 JSONRPCServer INFO Nobody to longpoll
2014-03-11 17:02:23,457 newBlockNotification INFO Received new block notification
2014-03-11 17:02:23,481 BitcoinLink DEBUG Received block inv over p2p for 0000000018b30c353662d9ce9816b902fd777313370da81302faadf86434704c
2014-03-11 17:02:23,485 merkleMaker INFO New block: 0000000018b30c353662d9ce9816b902fd777313370da81302faadf86434704c (height: 204350; bits: 1b180ab0)
2014-03-11 17:02:23,497 JSONRPCServer INFO Nobody to longpoll
2014-03-11 17:02:23,508 BitcoinNode ERROR Traceback (most recent call last):
  File "/bitcoin/eloipool/networkserver.py", line 422, in serve_forever
    o.handle_read()
  File "/bitcoin/eloipool/networkserver.py", line 62, in handle_read
    self.handle_readbuf()
  File "/bitcoin/eloipool/bitcoin/node.py", line 94, in handle_readbuf
    getattr(self, method)(payload)
  File "/bitcoin/eloipool/bitcoin/node.py", line 127, in doCmd_inv
    getattr(self, method)(invHash)
  File "/bitcoin/eloipool/bitcoin/node.py", line 131, in doInv_2
    self.server.newBlock(blkhash)
  File "./eloipool.py", line 79, in <lambda>
    bcnode.newBlock = lambda blkhash: MM.updateMerkleTree()
  File "/bitcoin/eloipool/merklemaker.py", line 561, in updateMerkleTree
    self._updateMerkleTree()
  File "/bitcoin/eloipool/merklemaker.py", line 549, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/bitcoin/eloipool/merklemaker.py", line 513, in _updateMerkleTree_I
    r = self._updateMerkleTree_fromTS(TS)
  File "/bitcoin/eloipool/merklemaker.py", line 478, in _updateMerkleTree_fromTS
    MP = self._CallGBT(TS)
  File "/bitcoin/eloipool/merklemaker.py", line 328, in _CallGBT
    MP = access.getblocktemplate(self.GBTReq)
  File "/bitcoin/python-bitcoinrpc/bitcoinrpc/authproxy.py", line 112, in __call__
    'Content-type': 'application/json'})
  File "/usr/lib/python3.2/http/client.py", line 967, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python3.2/http/client.py", line 995, in _send_request
    self.putrequest(method, url, **skips)
  File "/usr/lib/python3.2/http/client.py", line 850, in putrequest
    raise CannotSendRequest(self.__state)
http.client.CannotSendRequest: Request-sent

2014-03-11 17:02:23,510 BitcoinLink DEBUG Traceback (most recent call last):
  File "/bitcoin/eloipool/networkserver.py", line 422, in serve_forever
    o.handle_read()
  File "/bitcoin/eloipool/networkserver.py", line 62, in handle_read
    self.handle_readbuf()
  File "/bitcoin/eloipool/bitcoin/node.py", line 94, in handle_readbuf
    getattr(self, method)(payload)
  File "/bitcoin/eloipool/bitcoin/node.py", line 127, in doCmd_inv
    getattr(self, method)(invHash)
  File "/bitcoin/eloipool/bitcoin/node.py", line 131, in doInv_2
    self.server.newBlock(blkhash)
  File "./eloipool.py", line 79, in <lambda>
    bcnode.newBlock = lambda blkhash: MM.updateMerkleTree()
  File "/bitcoin/eloipool/merklemaker.py", line 561, in updateMerkleTree
    self._updateMerkleTree()
  File "/bitcoin/eloipool/merklemaker.py", line 549, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/bitcoin/eloipool/merklemaker.py", line 513, in _updateMerkleTree_I
    r = self._updateMerkleTree_fromTS(TS)
  File "/bitcoin/eloipool/merklemaker.py", line 478, in _updateMerkleTree_fromTS
    MP = self._CallGBT(TS)
  File "/bitcoin/eloipool/merklemaker.py", line 328, in _CallGBT
    MP = access.getblocktemplate(self.GBTReq)
  File "/bitcoin/python-bitcoinrpc/bitcoinrpc/authproxy.py", line 112, in __call__
    'Content-type': 'application/json'})
  File "/usr/lib/python3.2/http/client.py", line 967, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python3.2/http/client.py", line 995, in _send_request
    self.putrequest(method, url, **skips)
  File "/usr/lib/python3.2/http/client.py", line 850, in putrequest
    raise CannotSendRequest(self.__state)
http.client.CannotSendRequest: Request-sent

2014-03-11 17:02:26,235 JSONRPCServer INFO Nobody to longpoll


Thanks..

Cheers
balemon
Newbie
*
Offline Offline

Activity: 4
Merit: 0


View Profile
March 12, 2014, 06:51:56 PM
 #273

Anyone able to confirm submissions to the testnet should  or shouldn't be rejected.

Cheers
Aldur1
Member
**
Offline Offline

Activity: 73
Merit: 10


www.bitex.co.uk - A new begining in cryptotech


View Profile WWW
March 13, 2014, 07:54:54 AM
 #274

I'm Trying to setup an eloipool server, and have successfully got it running, but wanted to see if anyone could explain some of the items available in the configuration as despite a bit searching I havnt been able to find an answer......

ShareTarget = 0x000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffff

GotWorkTarget = 0x00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff

What is the difference between share target and got work,  and with that in mind should

GotWorkURI = ''

Be pointing to bitcoind or is got work for merged mining?

and finally

SecretUser = ""

what user should go here? bitcoin, altcoin, server?

Thanks

Donations: 1PX1uRHtWzYLBdbbRm2nbhqS3H4QcxqDkD
Bitcoin OTC WoT: http://bitcoin-otc.com/viewratingdetail.php?nick=aldur1
https://www.facebook.com/BitEx.Cryptocurrency.Solutions
https://twitter.com/bitEX_Ltd
http://instagram.com/bitex_ltd
http://www.linkedin.com/company/bitex-ltd
<html>
<a href="http://bitcoin.stackexchange.com/users/13963/hafnero">
<img src="http://bitcoin.stackexchange.com/users/flair/13963.png" width="208" height="58" alt="profile for hafnero at Bitcoin Stack Exchange, Q&amp;A for Bitcoin crypto-currency enthusiasts" title="profile for hafnero at Bitcoin Stack Exchange, Q&amp;A for Bitcoin crypto-currency enthusiasts">
</a>
</html>
Inaba
Legendary
*
Offline Offline

Activity: 1260
Merit: 1000



View Profile WWW
March 13, 2014, 02:35:28 PM
 #275

Share target is the bitcoin share difficulty.  Gotwork target is the merged mining share difficulty to pass along to namecoind. GotworkURI is the URL to the merged mining proxy you have setup.

SecretUser is the username for the mining proxy/namecoind.

If you're searching these lines for a point, you've probably missed it.  There was never anything there in the first place.
Aldur1
Member
**
Offline Offline

Activity: 73
Merit: 10


www.bitex.co.uk - A new begining in cryptotech


View Profile WWW
March 13, 2014, 10:01:57 PM
 #276

Fantastic, Thank you.


I had a feeling it was something like that but just wasn't..

Donations: 1PX1uRHtWzYLBdbbRm2nbhqS3H4QcxqDkD
Bitcoin OTC WoT: http://bitcoin-otc.com/viewratingdetail.php?nick=aldur1
https://www.facebook.com/BitEx.Cryptocurrency.Solutions
https://twitter.com/bitEX_Ltd
http://instagram.com/bitex_ltd
http://www.linkedin.com/company/bitex-ltd
<html>
<a href="http://bitcoin.stackexchange.com/users/13963/hafnero">
<img src="http://bitcoin.stackexchange.com/users/flair/13963.png" width="208" height="58" alt="profile for hafnero at Bitcoin Stack Exchange, Q&amp;A for Bitcoin crypto-currency enthusiasts" title="profile for hafnero at Bitcoin Stack Exchange, Q&amp;A for Bitcoin crypto-currency enthusiasts">
</a>
</html>
cryptophoenix
Newbie
*
Offline Offline

Activity: 10
Merit: 0


View Profile
March 14, 2014, 09:46:53 PM
 #277

The exception I was getting with bitcoinrpc was addressed by following jgarzik's steps in the avalon/eloipool thread... https://bitcointalk.org/index.php?topic=158105.0

Quote

eloipool setup
...
python-bitcoinrpc       https://github.com/jgarzik/python-bitcoinrpc
...
2) For python-bitcoinrpc, check out an older release,

Code:
$ cd /repo/python-bitcoinrpc
$ git checkout -b solo-mining 770881c8bd9b1f92427290270b37a28751cf9df0

So... that part is good. I keep getting the following exception though.

Code:
2013-11-23 03:58:18,716 StratumHandler  DEBUG   Traceback (most recent call last):
  File "./eloipool.py", line 668, in receiveShare
    checkShare(share)
  File "./eloipool.py", line 506, in checkShare
    MWL = workLog[None]
KeyError: None

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/foo/build/eloipool/stratumserver.py", line 91, in found_terminator
    rv = getattr(self, funcname)(*rpc['params'])
  File "/home/foo/build/eloipool/stratumserver.py", line 199, in _stratum_mining_submit
    self.server.receiveShare(share)
  File "./eloipool.py", line 677, in receiveShare
    logShare(share)
  File "./eloipool.py", line 651, in logShare
    share['solution'] = b2a_hex(swap32(share['data'])).decode('utf8')
KeyError: 'data'

2013-11-23 03:58:18,720 JSONRPCServer   INFO    Nobody to longpoll


I am wondering if I should be concerned that eloipool won't be handling winning shares correctly.

Anyone work around this?

Did you ever get a solution for this?
LukeJr -- any ideas what causes this?
jeppe
Sr. Member
****
Offline Offline

Activity: 434
Merit: 251


View Profile
March 20, 2014, 08:41:42 PM
 #278

Is it possible to get this working for a ppc pool??
Thanks,
JT
SolarWindMiningCompany
Hero Member
*****
Offline Offline

Activity: 966
Merit: 502



View Profile
March 21, 2014, 06:49:54 PM
 #279

Hi Luke, everyone,

With individual miners using their own miningware at home becoming less feasible with every rise in the difficulty level, more and more people are moving to cloudmining platforms. This has the effect of centralizing Bitcoins Network, something that those of us who care more about Bitcoins potential than we care about just making a profit, should have serious concerns about. This issue was one of the main reasons that I founded SWMC. I am always been concerned over threats to Bitcoins Decentralized Network. SWMC is in the process of creating a Hashing Exchange and to help solve the potential threat to Bitcoins Network, SWMC will be offering its users the choice of pointing their mining hashes anywhere they want, or even solo mine if they wish.

This is one of the solutions that I came up with was to address this potential threat using SWMC's Hashing Exchange:

Use a "Master Mining Pool Server" that acts not only as a mining pool, but as a router to other mining pools (including p2p mining pools.)  In order to allocate hashing power owned by a SWMC Hashing Exchange users to any mining pool that they request (an essential element to making this work), the "Master Mining Pool Server" would need to dynamically divide the total hashing power available to it, into as many little chunks as possible and also dynamically direct/redirect the hashing power to the requested pool. Solo mining could be achieved by creating a "Personal Mining Pool" for each user and then have the Master Mining Pool Server direct/redirect the hashing power to their Personal Mining Pool. The Personal Mining Pool owner could also share their personal mining pool with their friends or partners. Personal mining pools could easily be used and would be perfect for crowdfunding projects. It would be a nice way to create a "Kickstarter" like service using the hashing power to fund the projects! Executive Decision: SWMC will make it easy to create and donate to Crowdfunding Projects and this feature will be built into SWMC's Hashing Exchange platform.  (I am never happier than when I think of a great idea that will help people achieve their dreams. Smiley)

So here is the question, would it be feasible to modify Eloipool to serve as a "Master Mining Pool Server," or would it be better to create a modular system that used individual instances of "Direct/Redirect Hashing Moduals"  (or a mixture of both) to feed work to the individual Wasps? (I am a member of The Wasp Project Collective and SWMC will be using our design to populate SWMC's mining farm.)

I have offered 25% of all trading fees from SWMC's Hashing Exchange as payment to anyone who contributes to the development of SWMC's Hashing Exchange. Too date, as I have found someone to design the website and exchange, there is only 10% still available. Since having something like the "Master Mining Pool Server" that I have described is essential to the success of my vision for the Hashing Exchange, I am willing to allocate the rest of the 10% remaining to anyone willing to help SWMC build this system. I will also commit to making all the code for the Hashing Exchange and "Master Mining Pool Server" available with an open source license, once SWMC has been operating successfully for 6 months (just to give SWMC a chance to establish itself before going open source.)

center]
ApeSwap.
The next-gen AMM,
Staking and Farming
Protocol on BSC
           ▄██▄
          ██████
          ██████
          ██████ ▄▄███▄
          █████
███▀ ▀▀█
    ▄█████████████▌    ▀█
   ██▀  ▀█████████▄     ▀█
  ██      █████████▄
 ▄█▀       █████████▄
▀▀          ▀█████████▄
              ▀█████████▄
                ▀█████████▄
                   ▀▀▀▀▀▀██
██████
██
██
██
██
██
██
██
██
██
██
██
██████
Stake now
for over 900% APR!
██████
██
██
██
██
██
██
██
██
██
██
██
██████
[/center]
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
March 21, 2014, 07:09:29 PM
 #280

That sounds even more centralised than mining already is.

Inaba
Legendary
*
Offline Offline

Activity: 1260
Merit: 1000



View Profile WWW
March 22, 2014, 01:58:50 AM
 #281

What's this got to do with Eloipool?

Mining is already centralized, there's only about 12 miners on the network at the moment.  Cloud hashing farms will help to decentralize the currently ultra-centralized mining.  If you are mining into a pool, you aren't mining.  You are contributing work to the pool, who is mining; The pool is the only miner of the thousands of people using the pool.  If you aren't creating blocks, you aren't mining, either.  So "contributing" your CPU hashing power to "help support the network" isn't doing anything for the network, you're just consuming power. 

All of this should be split into a different thread, though.  Maybe a mod can split it off, I'll be happy to continue the discussion in a thread that's not the Eloipool thread.


If you're searching these lines for a point, you've probably missed it.  There was never anything there in the first place.
vmfx
Newbie
*
Offline Offline

Activity: 30
Merit: 0


View Profile WWW
March 27, 2014, 02:31:22 PM
 #282

Got eloipool up and running perfectly, wicked cool. mad respect to Luke

just checking now to see if there are any web based front ends for it ? i can only find a old thread about wizstats...

Polyatomic
Sr. Member
****
Offline Offline

Activity: 257
Merit: 250


View Profile
April 27, 2014, 10:23:22 AM
Last edit: July 09, 2014, 11:48:48 AM by Polyatomic
 #283

Running on Ubuntu Saucy , cloned from gittorious.

Code:
2014-04-27 19:03:26,247	JSONRPCServer	INFO	Nobody to longpoll
2014-04-27 19:03:26,893 JSONRPCServer INFO Nobody to longpoll
2014-04-27 19:04:53,349 newBlockNotification INFO Received new block notification
2014-04-27 19:04:53,488 merkleMaker INFO New block: 000000000000000064a6ac54154247706dca44c4e697e164d87fdc47fe1bc570 (height: 297943; bits: 19009d8c)
2014-04-27 19:04:53,489 JSONRPCServer INFO Nobody to longpoll
2014-04-27 19:04:54,111 JSONRPCServer INFO Nobody to longpoll
2014-04-27 19:06:47,871 newBlockNotification INFO Received new block notification
2014-04-27 19:06:48,038 merkleMaker INFO New block: 00000000000000002bc6d22a6b1ab8a40f7067d3fe78f01c2741ec42ca6074c4 (height: 297944; bits: 19009d8c)
2014-04-27 19:06:48,039 JSONRPCServer INFO Nobody to longpoll
2014-04-27 19:06:48,611 JSONRPCServer INFO Nobody to longpoll

AsicA , same host as Eloipool, is getting alot of these.. #using bfgminer fixed this for now until I find out why this happens with cgminer.
Code:
 Accepted untracked stratum share from pool 0
 [2014-04-27 19:23:30] Accepted untracked stratum share from pool 0
 [2014-04-27 19:24:31] Accepted untracked stratum share from pool 0
 [2014-04-27 19:24:47] Accepted untracked stratum share from pool 0
]

AsicB is on another host pointed at Eloipool and is running good.
Code:
 Accepted 12482944 Diff 3.58K/256
 [2014-04-27 09:55:18] Accepted 569fc31b Diff 757/256
 [2014-04-27 09:55:58] Accepted ed8fa478 Diff 276/256
 [2014-04-27 09:56:01] Accepted dc4a95b5 Diff 297/256
 [2014-04-27 09:56:06] Accepted a09251c8 Diff 408/256
 [2014-04-27 09:56:06] Accepted 1b0e730e Diff 2.42K/256
 [2014-04-27 09:56:07] Accepted 4535354a Diff 947/256
 [2014-04-27 09:56:08] Accepted b5311db9 Diff 362/256
 [2014-04-27 09:56:36] Accepted d8740099 Diff 303/256
 [2014-04-27 09:56:37] Accepted 437c30d3 Diff 971/256
 [2014-04-27 09:56:53] Stratum from pool 0 detected new block
 [2014-04-27 09:57:06] Accepted ea4e54fe Diff 280/256
 [2014-04-27 09:57:44] Accepted 5e8c0424 Diff 693/256
 [2014-04-27 09:57:46] Accepted 1d9e5e55 Diff 2.21K/256


Exellent software man. I've set this up somewhere out of sight out of mind, maybe i'll get lucky.
tom19990101
Newbie
*
Offline Offline

Activity: 3
Merit: 0


View Profile
May 12, 2014, 02:04:58 AM
 #284

Hi Luke, everyone,

Eloipool have what kind of attack, how to prevent?


The following information properly?
2014-05-10 19:48:50,568 StratumServer   ERROR   Traceback (most recent call last):
  File "/home/tools/eloipool/networkserver.py", line 449, in serve_forever
    o.handle_read()
  File "/home/tools/eloipool/networkserver.py", line 62, in handle_read
    self.handle_readbuf()
  File "/home/tools/eloipool/networkserver.py", line 114, in handle_readbuf
    self.found_terminator()
  File "/home/tools/eloipool/stratumserver.py", line 60, in found_terminator
    inbuf = b"".join(self.incoming).decode('ascii')
UnicodeDecodeError: 'ascii' codec can't decode byte 0x87 in position 8: ordinal not in range(128)

2014-05-10 19:48:50,569 StratumHandler  DEBUG   Traceback (most recent call last):
  File "/home/tools/eloipool/networkserver.py", line 449, in serve_forever
    o.handle_read()
  File "/home/tools/eloipool/networkserver.py", line 62, in handle_read
    self.handle_readbuf()
  File "/home/tools/eloipool/networkserver.py", line 114, in handle_readbuf
    self.found_terminator()
  File "/home/tools/eloipool/stratumserver.py", line 60, in found_terminator
    inbuf = b"".join(self.incoming).decode('ascii')
UnicodeDecodeError: 'ascii' codec can't decode byte 0x87 in position 8: ordinal not in range(128)




thks.
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
May 12, 2014, 05:55:26 AM
 #285

Hi Luke, everyone,

Eloipool have what kind of attack, how to prevent?


The following information properly?
2014-05-10 19:48:50,568 StratumServer   ERROR   Traceback (most recent call last):
  File "/home/tools/eloipool/networkserver.py", line 449, in serve_forever
    o.handle_read()
  File "/home/tools/eloipool/networkserver.py", line 62, in handle_read
    self.handle_readbuf()
  File "/home/tools/eloipool/networkserver.py", line 114, in handle_readbuf
    self.found_terminator()
  File "/home/tools/eloipool/stratumserver.py", line 60, in found_terminator
    inbuf = b"".join(self.incoming).decode('ascii')
UnicodeDecodeError: 'ascii' codec can't decode byte 0x87 in position 8: ordinal not in range(128)

2014-05-10 19:48:50,569 StratumHandler  DEBUG   Traceback (most recent call last):
  File "/home/tools/eloipool/networkserver.py", line 449, in serve_forever
    o.handle_read()
  File "/home/tools/eloipool/networkserver.py", line 62, in handle_read
    self.handle_readbuf()
  File "/home/tools/eloipool/networkserver.py", line 114, in handle_readbuf
    self.found_terminator()
  File "/home/tools/eloipool/stratumserver.py", line 60, in found_terminator
    inbuf = b"".join(self.incoming).decode('ascii')
UnicodeDecodeError: 'ascii' codec can't decode byte 0x87 in position 8: ordinal not in range(128)
Shouldn't affect anything.

7queue
Full Member
***
Offline Offline

Activity: 177
Merit: 100


View Profile
May 15, 2014, 02:25:18 AM
Last edit: May 15, 2014, 02:51:34 AM by 7queue
 #286

Noticed this for Python 3.4,

    class http.client.HTTPConnection(host, port=None, [timeout, ]source_address=None)

Changed in version 3.4: The strict parameter was removed.

    https://docs.python.org/3.4/library/http.client.html


python-bitcoinrpc/bitcoinrpc/authproxy.py needs adjusting.

8 )

8 )
tom19990101
Newbie
*
Offline Offline

Activity: 3
Merit: 0


View Profile
May 27, 2014, 04:30:25 AM
 #287

Hi Luke,

Under the different hashrate, how to optimize config.Py.

For example: 40T, 200T, 500T, 1000T, how should adjust.





thks.
DISSIDIA
Newbie
*
Offline Offline

Activity: 3
Merit: 0


View Profile
June 09, 2014, 02:12:02 AM
 #288

Hi,Luke. are there any api docs about Eloipool?  Grin
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
June 09, 2014, 02:30:24 AM
 #289

Hi,Luke. are there any api docs about Eloipool?  Grin
There's no API, so no.

bgibso01
Legendary
*
Offline Offline

Activity: 1218
Merit: 1001



View Profile
June 11, 2014, 01:22:21 AM
Last edit: July 03, 2014, 01:50:00 AM by bgibso01
 #290

Hi,Luke. are there any api docs about Eloipool?  Grin
There's no API, so no.

Luke-Jr,

By chance would you know off the top of your head what could be causing my target issue posted a couple above?

Update: Nevermind, found out the var diff part was not in the master that I pulled.  Works like a charm now.  Big thanks to Polyatomic for pointing me in the right direction!
guruvan
Hero Member
*****
Offline Offline

Activity: 532
Merit: 500


View Profile
July 14, 2014, 03:33:20 PM
 #291

Luke-Jr, we've been running eloiopol to connect a pool to eligius, quite successfully (Thanks!) and have a few questions:

1) To connect to an upstream pool (ie eligius) the loop branch is required
    - If I understand everything, I need coinbase/append and submit/coinbase to do this, and those don't appear to be in the main branch, correct?
2) I also need the latest version of your bitcoind, eligius branch? (it's what I am running now)
3) when using this branch, so I need or want "BlockSubsissions" section, or just "UpstreamURI"
    - and if I need/want it, mining on upstream pool like eliguis, whose servers should be here?

- FWIW, we're using your suggested commit for bitcoinrpc, and mostly everything else you suggest, except gentoo (I feel like I might have shot myself in the foot here!) eloipool is running in a fairly stock ubuntu14.04, with python3.2 and setup in virtualenv.

The issues I've seen so far seem common, and mostly above you suggest ignoring most, but

- when stratum workers become disconnected, they don't want to reconnect without the human restarting miner software
- they seem to disconnect when we see a socket timeout connecting to (either eligius or our own bitcoind, this is not clear)

Finally, is there any guidance on the amount of RAM required to run eloipool as a downstream pool? Is this more based on the number of workers connected, the amount of hashrate, or?? I definitely ran a 4GB box out of RAM with just 2THs on it. Bitcoind is running on it's own machine, and we're just logging shares to text for now.

Well. Maybe one more. I'm sure you've seen nomp's mining keys? What do you think of this idea and code? And, if you think that's a good idea, would that be something you'd have an interest in supporting in eloipool? (maybe a module that figures a pubkey from a miningkey and drops it into config.py?)

I know you're not the biggest altcoin fan, but I can't see any reason you shouldn't earn something from pools using your software to mine them. (forrestv has something similar for --give-author in p2pool I've not seen how this works though)

Thanks for your time! (we know where to put some BTC )

Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
July 14, 2014, 09:36:23 PM
 #292

Luke-Jr, we've been running eloiopol to connect a pool to eligius, quite successfully (Thanks!) and have a few questions:

1) To connect to an upstream pool (ie eligius) the loop branch is required
The loop branch was never finished and does not work completely.
Use it at your own risk...

- when stratum workers become disconnected, they don't want to reconnect without the human restarting miner software
Be sure miners are using the latest version of BFGMiner.
Unmaintained versions and forks thereof, my have bugs - those are however unrelated to Eloipool.

Well. Maybe one more. I'm sure you've seen nomp's mining keys? What do you think of this idea and code? And, if you think that's a good idea, would that be something you'd have an interest in supporting in eloipool? (maybe a module that figures a pubkey from a miningkey and drops it into config.py?)
Nope, no idea what you're talking about.

I know you're not the biggest altcoin fan, but I can't see any reason you shouldn't earn something from pools using your software to mine them. (forrestv has something similar for --give-author in p2pool I've not seen how this works though)
The sample config file has a Coinbaser example that donates.

guruvan
Hero Member
*****
Offline Offline

Activity: 532
Merit: 500


View Profile
July 15, 2014, 01:55:43 PM
 #293

Thanks for the info Luke. Smiley
NOMP mining key creates a pubkey/privkey pair that can be used for any coin - the coin's pubkey can be derived from the mining-key pubkey, and likewise for the privkey.

Allows zone117x to collect from coinbase on pretty much every coin folks mine with his solution. And also, this is part of the magic in nomp that allows for multipools - coinswitching ports require mining-keys for usernames, and payment processor pays the coin to the derived coin pubkey

I don't have one running ATM, but raskul has his here: http://eu.centralcavern.uk:8080 the mining key creation web script is here http://eu.centralcavern.uk:8080/key.html - his setup looks pretty stock.

Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
July 15, 2014, 03:29:19 PM
 #294

Sounds pointless, since addresses should only ever be used once.

heromember
Newbie
*
Offline Offline

Activity: 2
Merit: 0


View Profile
July 25, 2014, 10:40:30 AM
 #295

bump
peter_liang
Newbie
*
Offline Offline

Activity: 1
Merit: 0


View Profile
August 26, 2014, 02:30:29 AM
 #296

found error in script authproxy.py
Code: (Python)
       authpair = "%s:%s" % (self.__url.username, self.__url.password)
        authpair = authpair.encode('utf8')
        # <icreator
        authpair = base64.b64encode(authpair) # here return as bytes
        authpair = str(authpair, encoding='utf-8') # convert bytes to str
        # >
        self.__auth_header = "Basic " + authpair
 

and I load directly authproxy:
Code: (Python3.3)
'''import jsonrpc
try:
import jsonrpc.authproxy
jsonrpc.authproxy.USER_AGENT = 'Eloipool/0.1'
except:
from jsonrpclib import jsonrpc
pass
'''
from authproxy import AuthServiceProxy as ServiceProxy, JSONRPCException

and copy client.py from /usr/lib/python3.3/http into my folder with eloipool

BUT!
when call getblocktemplate  from merklemaker.py
Code:
for TC in TCList:
caccess = TC['access'] # =ServiceProxy(uri)
try:
propose = caccess.getblocktemplate(ProposeReq)

rise error in responce:
Quote
2013-08-28 15:11:39,777   makeCoinbaseTxn_responce   ERROR   {'error': {'message': 'Invalid mode', 'code': -8}, 'result': None, 'id': 1}
2013-08-28 15:11:39,780   merkleMaker   CRITICAL   Traceback (most recent call last):
  File "/home/icreator/pools/eloipool-3/merklemaker.py", line 732, in run
    self.merkleMaker_I()
  File "/home/icreator/pools/eloipool-3/merklemaker.py", line 722, in merkleMaker_I
    self.merkleMaker_II()
  File "/home/icreator/pools/eloipool-3/merklemaker.py", line 700, in merkleMaker_II
    return self._updateMerkleTree()
  File "/home/icreator/pools/eloipool-3/merklemaker.py", line 588, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/home/icreator/pools/eloipool-3/merklemaker.py", line 552, in _updateMerkleTree_I
    r = self._updateMerkleTree_fromTS(TS)
  File "/home/icreator/pools/eloipool-3/merklemaker.py", line 523, in _updateMerkleTree_fromTS
    (AcceptedScore, TotalScore) = self._CheckTemplate(newMerkleTree, TS)
  File "/home/icreator/pools/eloipool-3/merklemaker.py", line 456, in _CheckTemplate
    propose = caccess.getblocktemplate(ProposeReq)
  File "/home/icreator/pools/eloipool-3/authproxy.py", line 135, in __call__
    raise JSONRPCException(response['error'])
authproxy.JSONRPCException


"mode" set here:
Code:
		ProposeReq = {
"mode": "proposal",
"data": b2a_hex(data).decode('utf8'),
                        }

BUT if I do:
Code:
		ProposeReq = {
"data": b2a_hex(data).decode('utf8'),
                        }

new error:
Code:
2013-08-28 15:35:29,709	merkleMaker	ERROR	Upstream 'primary' rejected proposed block from 'primary': 0000000000000007d8be81c938a2519ba3b2eb8fe1720ad82210d4f82716a6f7
2013-08-28 15:35:29,710 merkleMaker CRITICAL Traceback (most recent call last):
  File "/home/icreator/pools/eloipool-3/merklemaker.py", line 732, in run
    self.merkleMaker_I()
  File "/home/icreator/pools/eloipool-3/merklemaker.py", line 722, in merkleMaker_I
    self.merkleMaker_II()
  File "/home/icreator/pools/eloipool-3/merklemaker.py", line 688, in merkleMaker_II
    return self._updateMerkleTree()
  File "/home/icreator/pools/eloipool-3/merklemaker.py", line 588, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/home/icreator/pools/eloipool-3/merklemaker.py", line 574, in _updateMerkleTree_I
    raise RuntimeError('Failed to create usable template')
RuntimeError: Failed to create usable template

and how use  jsonrpc_getblocktemplate.py ?? here may  be right code?

I stuck in the same problem for days. I'm using ubuntu 14.04, I tried both bitcoind v0.9.2.1 and v0.9.3rc1 and nothing is different. Can anybody tell me what should I do. Thank you.
bitzcointalk
Member
**
Offline Offline

Activity: 111
Merit: 10

My avatar is in the shop


View Profile
September 21, 2014, 07:15:26 PM
 #297

 Shocked  Shocked  Shocked

I am hopefully on my last error but, since I have not seen any of the errors above this line, I am skeptical this will be the end-all.

Hello, I am seeing a bug, tried changing my hostname already, that was not the cause.

2014-09-21 19:13:26,818 SocketListener  ERROR   ('127.0.0.1', 8338)
Traceback (most recent call last):
  File "/home/pi/eloipool/util.py", line 144, in tryErr
    return func(*a, **kw)
  File "/home/pi/eloipool/networkserver.py", line 262, in setup_socket
    sock = self._makebind(server_address)
  File "/home/pi/eloipool/networkserver.py", line 253, in _makebind
    return self._makebind_py(*a, **ka)
  File "/home/pi/eloipool/networkserver.py", line 229, in _makebind_py
    sock = socket.socket(self.address_family, socket.SOCK_STREAM)
  File "/usr/lib/python3.2/socket.py", line 94, in __init__
    _socket.socket.__init__(self, family, type, proto, fileno)
socket.error: [Errno 97] Address family not supported by protocol

 Huh  Huh  Huh

bitzcointalk
Member
**
Offline Offline

Activity: 111
Merit: 10

My avatar is in the shop


View Profile
September 21, 2014, 07:32:39 PM
 #298

I changed everything in networkserver.py from AF_INET6 to AF_INET.
That error seems to be gone, but my miners cannot connect?!
(yes I also changed the config file removing the ::ffff:)

If there another log I should look at?
The process is indeed running, the miners are saying connection refused.


bitzcointalk
Member
**
Offline Offline

Activity: 111
Merit: 10

My avatar is in the shop


View Profile
September 21, 2014, 08:28:22 PM
 #299

Owh, I also had to fix /home/pi/eloipool/bitcoin/node.py for the NET6 issue.

Okay, almost there. I have another error, I think it has to do with configuration (trying to get this to work for LiteCoin).

2014-09-21 20:23:58,032 merkleMaker     CRITICAL        Traceback (most recent call last):
  File "/home/pi/eloipool/merklemaker.py", line 694, in run
    self.merkleMaker_I()
  File "/home/pi/eloipool/merklemaker.py", line 684, in merkleMaker_I
    self.merkleMaker_II()
  File "/home/pi/eloipool/merklemaker.py", line 650, in merkleMaker_II
    return self._updateMerkleTree()
  File "/home/pi/eloipool/merklemaker.py", line 550, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/home/pi/eloipool/merklemaker.py", line 513, in _updateMerkleTree_I
    r = self._updateMerkleTree_fromTS(TS)
  File "/home/pi/eloipool/merklemaker.py", line 479, in _updateMerkleTree_fromTS
    newMerkleTree = self._ProcessGBT(MP, TS)
  File "/home/pi/eloipool/merklemaker.py", line 379, in _ProcessGBT
    cbtxn = self.makeCoinbaseTxn(MP['coinbasevalue'], prevBlockHex = MP['previousblockhash'])
  File "eloipool.py", line 131, in makeCoinbaseTxn
    pkScript = BitcoinScript.toAddress(config.TrackerAddr)
  File "/home/pi/eloipool/bitcoin/script.py", line 45, in toAddress
    raise ValueError('invalid address version')
ValueError: invalid address version

bitzcointalk
Member
**
Offline Offline

Activity: 111
Merit: 10

My avatar is in the shop


View Profile
September 21, 2014, 10:54:37 PM
 #300

Owh, okay I found another version of the pool with slight modifications containing the scripts I need for scrypt.
(pun intended)  Grin
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
September 22, 2014, 05:17:56 AM
 #301

Shocked  Shocked  Shocked

I am hopefully on my last error but, since I have not seen any of the errors above this line, I am skeptical this will be the end-all.

Hello, I am seeing a bug, tried changing my hostname already, that was not the cause.

2014-09-21 19:13:26,818 SocketListener  ERROR   ('127.0.0.1', 8338)
Traceback (most recent call last):
  File "/home/pi/eloipool/util.py", line 144, in tryErr
    return func(*a, **kw)
  File "/home/pi/eloipool/networkserver.py", line 262, in setup_socket
    sock = self._makebind(server_address)
  File "/home/pi/eloipool/networkserver.py", line 253, in _makebind
    return self._makebind_py(*a, **ka)
  File "/home/pi/eloipool/networkserver.py", line 229, in _makebind_py
    sock = socket.socket(self.address_family, socket.SOCK_STREAM)
  File "/usr/lib/python3.2/socket.py", line 94, in __init__
    _socket.socket.__init__(self, family, type, proto, fileno)
socket.error: [Errno 97] Address family not supported by protocol

 Huh  Huh  Huh


Eloipool only supports IPv6.
If you want to use obsolete IPv4, you will need an OS that supports IPv4 connections on IPv6 sockets (like Linux) and configure it to bind on the appropriate iPv6 address (as in the example config).

bitzcointalk
Member
**
Offline Offline

Activity: 111
Merit: 10

My avatar is in the shop


View Profile
September 22, 2014, 05:37:33 PM
 #302

I managed to get it to work by replacing all INET6 with INET.
I am good at this point.
I have a new error, not sure if it is component configuration related or not...

I found a scrypt version of eloipool and im trying to merge-mine litecoin and dogecoin.
I think the configuration is...


Miner -> Eloipool -> merged-mine-proxy -> litecoin wallet + dogecoin wallet.

Please confirm if I have this conceptually correct.
I think the setworkaux is missing in the wallet, so, I suspect I need to modify the wallet code?
I am confused because I saw setworkaux in some of the pool code to as though my componets above might not be correct.
Please confirm.

                Thank you in advance  Grin

 Shocked
bitzcointalk
Member
**
Offline Offline

Activity: 111
Merit: 10

My avatar is in the shop


View Profile
September 22, 2014, 08:11:21 PM
Last edit: September 23, 2014, 05:29:57 AM by bitzcointalk
 #303

I started at the beginning of the forum and found my answer he he he  Grin

I'll go ahead and re-post it here:

Thanks Luke!

client miner <--> eloipool <--> bitcoind
                     |-> merged mining proxy (MMP) <--> namecoind


merged-mining-proxy:
python merged-mining-proxy  -w 8330 -p http://ssecreteloipool:222@127.0.0.1:9947/ -x http://namecoinrpc:manecoinrpcpass@localhost:9377/

eloipool config.py:
# Secret username allowed to use setworkaux
SecretUser = "ssecreteloipool"

# Addresses to listen on for JSON-RPC GBT/getwork server
JSONRPCAddresses = (
        ('', 9947),
)

GotWorkURI = "http://mergedproxyuser:mergedproxypass@127.0.0.1:8330/"

namecoin config:
rpcuser=namecoinrpc
rpcpassword=manecoinrpcpass
rpcport=9377

and user miner program connect to 9947

Attempting the above, stand by......


bitzcointalk
Member
**
Offline Offline

Activity: 111
Merit: 10

My avatar is in the shop


View Profile
September 23, 2014, 12:05:38 AM
 #304

Still working on it... (Looks now like the target was set so high I always find blocks =/ so, no worries)
More clues:

Posting "method": "gotwork" i get:

<html>
  <head><title>404 - No Such Resource</title></head>
  <body>
    <h1>No Such Resource</h1>
    <p>No such child resource.</p>
  </body>
</html>

trying to debug it.
I'm guessing it means I did something odd.
I'm using Python3.2 and a couple of these script seems to have needed a conversion from 2to3 via the 2to3 app.
Perhaps I should do that to all of them...

And on we trudge.
bitzcointalk
Member
**
Offline Offline

Activity: 111
Merit: 10

My avatar is in the shop


View Profile
September 23, 2014, 02:37:10 AM
Last edit: September 23, 2014, 05:30:24 AM by bitzcointalk
 #305

MMP uses Twisted library, which seems to be having an issue.
I still keep getting the following when eloipool sends gotwork to the MMP.

<html>
  <head><title>404 - No Such Resource</title></head>
  <body>
    <h1>No Such Resource</h1>
    <p>No such child resource.</p>
  </body>
</html>

Still debugging, any suggestions?
Using Python3.2
Twisted 14.0.2
NOOBS RPI
Not using twistd dont think I need it.

 Huh

And on we trudge.
bitzcointalk
Member
**
Offline Offline

Activity: 111
Merit: 10

My avatar is in the shop


View Profile
September 23, 2014, 06:44:33 PM
Last edit: September 23, 2014, 09:05:43 PM by bitzcointalk
 #306

Ah! I just had to restart after all the installations.
Owh, Wait, But what do we have here.... Another error  Roll Eyes
Communications between the MMP and Eloipool are broken, I think the script has serious issues in Python3.
Its going to take week to sort this out since in know precisely nothing about Python  Sad
Sure, just buy some hardware, plug it in, hash away, and bank some crytpo coins, humff.

I guess what I really need is a working tested Python 3.2 or 3.x version of MMP so I can merge in the changes.
bitzcointalk
Member
**
Offline Offline

Activity: 111
Merit: 10

My avatar is in the shop


View Profile
September 24, 2014, 12:48:34 AM
Last edit: September 24, 2014, 03:55:02 AM by bitzcointalk
 #307

Its the Unicode issue, Twisted library is a pain to use in 3.x since python changed default handling.
If I leave out the MerkleTree import, then I can use Python2.7.
Please advise if the MMP absolutely needs the MerkleTree import.  Huh  Huh  Huh

Wait, wait, looked at the code, it says only 1 subchain will work, interesting...
So, really do have a delema here... I have to make 1/2 work in v3 which I have already managed, and 1/2 work in v2 for MMP.

And on we trudge.
bitzcointalk
Member
**
Offline Offline

Activity: 111
Merit: 10

My avatar is in the shop


View Profile
September 24, 2014, 07:50:10 PM
 #308

Ha! That worked... some massaging but, I got it  Grin
Now to test it  Wink

And on we trudge.
Sergio_Demian_Lerner
Hero Member
*****
Offline Offline

Activity: 549
Merit: 608


View Profile WWW
September 30, 2014, 07:23:59 PM
 #309

I've setup a local stratum server using eloipool. I'm trying to test the stratum server manually using either telnet or curl as in:

curl --data-binary '{"id": 1, "method": "mining.subscribe", "params": []}'  -H 'content-type:text/plain;' http://myuser:mypassword@127.0.0.1:3334/

The connection is closed as soon as the first line of the http headers is sent (usually POST) (curl prints: curl: (52) Empty reply from server)

Any idea of what's happening?

Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
September 30, 2014, 07:36:17 PM
 #310

I've setup a local stratum server using eloipool. I'm trying to test the stratum server manually using either telnet or curl as in:

curl --data-binary '{"id": 1, "method": "mining.subscribe", "params": []}'  -H 'content-type:text/plain;' http://myuser:mypassword@127.0.0.1:3334/

The connection is closed as soon as the first line of the http headers is sent (usually POST) (curl prints: curl: (52) Empty reply from server)

Any idea of what's happening?
Eloipool does not support StratumMP over HTTP (nor does any other StratumMP server AFAIK), only GBT and getwork.
For StratumMP, you need to connect over a raw TCP stream.

Sergio_Demian_Lerner
Hero Member
*****
Offline Offline

Activity: 549
Merit: 608


View Profile WWW
September 30, 2014, 08:07:54 PM
 #311

Thank you very much Luke.
knowndragon
Newbie
*
Offline Offline

Activity: 28
Merit: 0


View Profile
January 16, 2015, 08:29:11 AM
 #312

Luke you probably don't remember me but you help teach me to overclock on a phenom II well push it further with memory timings. I am gonna try this out. Subbing gonna read all first but hopefully it sounds what I am looking for.
Agamenon
Newbie
*
Offline Offline

Activity: 23
Merit: 0


View Profile
February 12, 2015, 08:57:06 PM
 #313

Luke, sorry, I got stuck here-->

Quote
jsonrpc_getwork WARNING Error importing 'midstate' module; work will not provide midstates
>>> Traceback (most recent call last):
  File "./eloipool.py", line 957, in <module>
    MM.start()
  File "/home/pool/eloipool/merklemaker.py", line 699, in start
    self._prepare()
  File "/home/pool/eloipool/merklemaker.py", line 121, in _prepare
    TS['access'] = URI2Access(TS['uri'])
  File "/home/pool/eloipool/merklemaker.py", line 111, in URI2Access
    access = jsonrpc.ServiceProxy(uri)
AttributeError: 'module' object has no attribute 'ServiceProxy'

Any help pls?  Huh
SargeR33
Member
**
Offline Offline

Activity: 112
Merit: 10

★Bitin.io★ - Instant Exchange


View Profile
February 14, 2015, 04:56:05 AM
 #314

Although I have never done any of this before and have no idea what prerequisites are needed, I will attempt to give this a try on my linux system. I'm trying to setup a private pool for my machines to run off.

tuaris
Hero Member
*****
Offline Offline

Activity: 765
Merit: 500



View Profile WWW
March 09, 2015, 04:12:32 PM
 #315

Is it possible to submit a block without using an JSON-RPC call to bitcoind?  Is that what bitcoin/node.py is for?
Reason I ask is because I constantly experience an issue that is similar to this: https://github.com/bitcoin/bitcoin/issues/2889

NginUS
Full Member
***
Offline Offline

Activity: 190
Merit: 100


View Profile
September 27, 2015, 07:18:45 AM
 #316

0.045 BTC Bounty- Help me get my eloipool running right so people can connect & fees are deducted


Hi,

I got bitcoind & eloipool up & running on my VPS, but I have no mining gear with which to test it- bfgminer returns an error about 'no servers to connect to' when I run it from my desktop using the public IP address of the VPS.

Bounty will be paid to anyone who can sort out the configuration such that bitcoin miners can connect to the pool & pool fees are deducted properly.

It could be configured properly now, but I can't tell without connecting to it myself to see. Either way, I'd like you to record the screen or something to prove its working right, so I can pay you knowing I'm not getting scammed.

PM me if interested.

Thanks,

-N
hodedowe
Sr. Member
****
Offline Offline

Activity: 359
Merit: 251


View Profile
October 19, 2015, 08:45:40 PM
 #317

I just got this running and mining is working (finally!) but I'm receiving an error in my log file, similar to another user. If a fix was posted I didn't see it.

Does anyone with more python experience have an idea of where to troubleshoot?

Code:
2015-10-19 15:05:54,195	BitcoinRPC	DEBUG	-45550-> getblocktemplate [{"capabilities": ["coinbasevalue", "coinbase/append", "coinbase", "generation", "time", "transactions/remove", "prevblock"]}]
2015-10-19 15:05:54,216 BitcoinRPC DEBUG -45551-> getmemorypool [{"tx": "obj", "capabilities": ["coinbasevalue", "coinbase/append", "coinbase", "generation", "time", "transactions/remove", "prevblock"]}]
2015-10-19 15:05:54,216 BitcoinRPC DEBUG -45552-> getmemorypool []
2015-10-19 15:05:54,218 merkleMaker CRITICAL Traceback (most recent call last):
  File "/eloipool/merklemaker.py", line 704, in run
    self.merkleMaker_I()
  File "/eloipool/merklemaker.py", line 694, in merkleMaker_I
    self.merkleMaker_II()
  File "/eloipool/merklemaker.py", line 660, in merkleMaker_II
    return self._updateMerkleTree()
  File "/eloipool/merklemaker.py", line 560, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/eloipool/merklemaker.py", line 523, in _updateMerkleTree_I
    r = self._updateMerkleTree_fromTS(TS)
  File "/eloipool/merklemaker.py", line 484, in _updateMerkleTree_fromTS
    MP = self._CallGBT(TS)
  File "/eloipool/merklemaker.py", line 332, in _CallGBT
    MP = access.getblocktemplate(self.GBTReq)
  File "/eloipool/bitcoinrpc/authproxy.py", line 134, in __call__
    'Content-type': 'application/json'})
  File "/usr/lib/python3.2/http/client.py", line 971, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python3.2/http/client.py", line 999, in _send_request
    self.putrequest(method, url, **skips)
  File "/usr/lib/python3.2/http/client.py", line 854, in putrequest
    raise CannotSendRequest(self.__state)
http.client.CannotSendRequest: Request-sent

Solo mining is alive and profitable!
Helped? Thanks! 1CXRFh4bDVFBsUzoHMMDbTMPcBP14RUTus
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
October 20, 2015, 12:41:13 AM
 #318

Downgrade python-bitcoinrpc.

hodedowe
Sr. Member
****
Offline Offline

Activity: 359
Merit: 251


View Profile
October 20, 2015, 12:56:19 AM
Last edit: October 20, 2015, 03:34:18 AM by hodedowe
 #319

Will do. What version should I be using?

I've "downgraded" by using this command

Code:
git checkout -b 770881c8bd9b1f92427290270b37a28751cf9df0


This sent my "bad" shares & rejected through the roof.  Shocked


Solo mining is alive and profitable!
Helped? Thanks! 1CXRFh4bDVFBsUzoHMMDbTMPcBP14RUTus
hodedowe
Sr. Member
****
Offline Offline

Activity: 359
Merit: 251


View Profile
October 22, 2015, 11:27:39 PM
 #320

I'm working on a "Cut and paste" version of this pool server for the average "joe" to download, fire up, and begin mining. No programming or linux experience necessary. I've got most of the bugs worked out and instructions typed, but the Python errors are tangling me up. If you've put this server together and can provide a little insight for the greater good, PM me.

Solo mining is alive and profitable!
Helped? Thanks! 1CXRFh4bDVFBsUzoHMMDbTMPcBP14RUTus
hodedowe
Sr. Member
****
Offline Offline

Activity: 359
Merit: 251


View Profile
October 23, 2015, 04:15:25 PM
Last edit: October 23, 2015, 05:18:10 PM by hodedowe
 #321

For fun and as a soundboard I'll start posting my progress here. If anyone feels froggy please jump in, though I know this isn't that type of thread (support).

Moving on, it seems like the latest writeups all call for the process to be called "eloipool.py", but on my systems - and I've gone through several at this point trying to get it working - but all my systems run the process as "python3" so the killall scripts don't operate correctly.


As for errors, this one pops up all the time on the commandline after running : eloipool.py: no process found. I discovered this is due to newblock.sh trying to kill the process by calling it eloipool.py instead of python3. Fixed.

Now I'm still getting this error with the merklemaker:

Code:
2015-10-23 09:13:02,020	BitcoinRPC	DEBUG	-5967379-> getblocktemplate [{"capabilities": ["coinbasevalue", "coinbase/append", "coinbase", "generation", "time", "transactions/remove", "prevblock"]}]
2015-10-23 09:13:02,020 BitcoinRPC DEBUG -5967380-> getmemorypool [{"tx": "obj", "capabilities": ["coinbasevalue", "coinbase/append", "coinbase", "generation", "time", "transactions/remove", "prevblock"]}]
2015-10-23 09:13:02,021 BitcoinRPC DEBUG -5967381-> getmemorypool []
2015-10-23 09:13:02,022 merkleMaker CRITICAL Traceback (most recent call last):
  File "/apple/eloipool-server/eloipool/merklemaker.py", line 694, in run
    self.merkleMaker_I()
  File "/apple/eloipool-server/eloipool/merklemaker.py", line 684, in merkleMaker_I
    self.merkleMaker_II()
  File "/apple/eloipool-server/eloipool/merklemaker.py", line 650, in merkleMaker_II
    return self._updateMerkleTree()
  File "/apple/eloipool-server/eloipool/merklemaker.py", line 550, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/apple/eloipool-server/eloipool/merklemaker.py", line 513, in _updateMerkleTree_I
    r = self._updateMerkleTree_fromTS(TS)
  File "/apple/eloipool-server/eloipool/merklemaker.py", line 478, in _updateMerkleTree_fromTS
    MP = self._CallGBT(TS)
  File "/apple/eloipool-server/eloipool/merklemaker.py", line 328, in _CallGBT
    MP = access.getblocktemplate(self.GBTReq)
  File "/apple/eloipool-server/eloipool/bitcoinrpc/authproxy.py", line 134, in __call__
    'Content-type': 'application/json'})
  File "/usr/lib/python3.2/http/client.py", line 971, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python3.2/http/client.py", line 999, in _send_request
    self.putrequest(method, url, **skips)
  File "/usr/lib/python3.2/http/client.py", line 854, in putrequest
    raise CannotSendRequest(self.__state)
http.client.CannotSendRequest: Request-sent


And if I downgrade using the command in my previous post I get thousands of stale, bad, or discarded shares on the miner (see pic). So I'm back to going through this and trying to get it running. I'll post if I come up with a solution.


Got Stale? Check that "Rejected" vs "Accepted" - Ouch!





Solo mining is alive and profitable!
Helped? Thanks! 1CXRFh4bDVFBsUzoHMMDbTMPcBP14RUTus
hodedowe
Sr. Member
****
Offline Offline

Activity: 359
Merit: 251


View Profile
October 23, 2015, 04:55:45 PM
Last edit: October 23, 2015, 07:50:16 PM by hodedowe
 #322

ALso, if someone has a copy of midstate.so and wouldn't mind sharing the code (cut,paste) I'd sure appreciate it as Gitorious is dead and not serving it anymore.

Solo mining is alive and profitable!
Helped? Thanks! 1CXRFh4bDVFBsUzoHMMDbTMPcBP14RUTus
hodedowe
Sr. Member
****
Offline Offline

Activity: 359
Merit: 251


View Profile
October 23, 2015, 10:28:47 PM
 #323

Running on Bitcoin testnet I keep getting this error when a test block is found

Code:
2015-10-23 15:26:56,261	BitcoinRPC	DEBUG	<-114- "bad-version"
2015-10-23 15:26:56,261 merkleMaker ERROR Upstream 'primary' rejected proposed block from 'primary': bad-version
2015-10-23 15:26:56,261 merkleMaker CRITICAL Traceback (most recent call last):
  File "/apple/eloipool-server/eloipool/merklemaker.py", line 694, in run
    self.merkleMaker_I()
  File "/apple/eloipool-server/eloipool/merklemaker.py", line 684, in merkleMaker_I
    self.merkleMaker_II()
  File "/apple/eloipool-server/eloipool/merklemaker.py", line 662, in merkleMaker_II
    return self._updateMerkleTree()
  File "/apple/eloipool-server/eloipool/merklemaker.py", line 550, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/apple/eloipool-server/eloipool/merklemaker.py", line 536, in _updateMerkleTree_I
    raise RuntimeError('Failed to create usable template')
RuntimeError: Failed to create usable template



I believe it has to do with the difference in Test coins vs real coins. Trying to figure it out now...


Solo mining is alive and profitable!
Helped? Thanks! 1CXRFh4bDVFBsUzoHMMDbTMPcBP14RUTus
hodedowe
Sr. Member
****
Offline Offline

Activity: 359
Merit: 251


View Profile
October 23, 2015, 11:45:18 PM
 #324

Ok, successfully mined a test coin, but it failed to show up at the target address.
Good thing I'm on the test net and not shooting myself for missing 25 btc!  Cheesy

Solo mining is alive and profitable!
Helped? Thanks! 1CXRFh4bDVFBsUzoHMMDbTMPcBP14RUTus
hodedowe
Sr. Member
****
Offline Offline

Activity: 359
Merit: 251


View Profile
October 30, 2015, 02:58:14 AM
 #325

In frustration I completely removed my eloipool installation and started from scratch using a different build and I'll be darned if it isn't working now. A few stales from time to time, but difficulty rises quickly and the bad shares are all gone. It's running fast and easy.

I'll continue testing this weekend. If all goes well I'll have a downloadable point-and-click version ready soon. Entirely n00b friendly.

Solo mining is alive and profitable!
Helped? Thanks! 1CXRFh4bDVFBsUzoHMMDbTMPcBP14RUTus
hodedowe
Sr. Member
****
Offline Offline

Activity: 359
Merit: 251


View Profile
October 30, 2015, 01:10:01 PM
 #326

Note: After mining several test blocks successfully it seems that the coinbaser address doesn't work, nor does the mining to the miner's address. The only address that receives coins is the TrackerAddr address in the config.py file.

Solo mining is alive and profitable!
Helped? Thanks! 1CXRFh4bDVFBsUzoHMMDbTMPcBP14RUTus
hodedowe
Sr. Member
****
Offline Offline

Activity: 359
Merit: 251


View Profile
November 02, 2015, 03:33:28 PM
 #327

I got a working version put together. I started a new thread here for support etc.

https://bitcointalk.org/index.php?topic=1235123.0


Good luck to anyone else looking to try to figure this out. It took me a while but it was worth it. All knowledge is priceless Smiley

Solo mining is alive and profitable!
Helped? Thanks! 1CXRFh4bDVFBsUzoHMMDbTMPcBP14RUTus
panyiqiang
Newbie
*
Offline Offline

Activity: 2
Merit: 0


View Profile WWW
November 11, 2015, 03:25:15 AM
 #328

If TrackerAddr is not defined, will the bitcoind provide a generation address?How to estimate the current hashrate of the pool?
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
January 29, 2016, 11:13:40 PM
 #329

Segregated witness and SegNet are now supported in the "segwit" branch.

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 [All]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!