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.

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

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

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?

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

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.

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

# 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 serverServerName = '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 minimumShareTarget = 0x00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff

# 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.00MinimumTemplateAcceptanceRatio = 0

# No template with a combined total score below this will be usedMinimumTemplateScore = 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

# Network ID for the primary blockchain# Other known network IDs can be found at:# https://en.bitcoin.it/wiki/Protocol_specification#Message_structureUpstreamNetworkId = 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 gotworkGotWorkTarget = 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 placeGreedy = 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

# 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

# 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 serverServerName = '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 minimumShareTarget = 0x00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff

# 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"'

# 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.00MinimumTemplateAcceptanceRatio = 0

# No template with a combined total score below this will be usedMinimumTemplateScore = 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

# 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' # testnet3UpstreamNetworkId = 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 gotworkGotWorkTarget = 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 placeGreedy = 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

# 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

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?

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?