Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

Fix p2pool's stratum scrypt support #86

Merged
merged 1 commit into from

2 participants

@wtogami

No description provided.

@forrestv forrestv merged commit 896c9ed into from
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Mar 22, 2013
  1. @wtogami

    Make p2pool's stratum implementation match the dumb de facto diff sta…

    wtogami authored
    …ndard of scrypt stratum pools.
This page is out of date. Refresh to see the latest.
View
8 p2pool/bitcoin/networks.py
@@ -24,6 +24,7 @@
BLOCK_EXPLORER_URL_PREFIX='http://blockexplorer.com/block/',
ADDRESS_EXPLORER_URL_PREFIX='http://blockexplorer.com/address/',
SANE_TARGET_RANGE=(2**256//2**32//1000 - 1, 2**256//2**32 - 1),
+ DUMB_SCRYPT_DIFF=1,
),
bitcoin_testnet=math.Object(
P2P_PREFIX='0b110907'.decode('hex'),
@@ -42,6 +43,7 @@
BLOCK_EXPLORER_URL_PREFIX='http://blockexplorer.com/testnet/block/',
ADDRESS_EXPLORER_URL_PREFIX='http://blockexplorer.com/testnet/address/',
SANE_TARGET_RANGE=(2**256//2**32//1000 - 1, 2**256//2**32 - 1),
+ DUMB_SCRYPT_DIFF=1,
),
namecoin=math.Object(
@@ -61,6 +63,7 @@
BLOCK_EXPLORER_URL_PREFIX='http://explorer.dot-bit.org/b/',
ADDRESS_EXPLORER_URL_PREFIX='http://explorer.dot-bit.org/a/',
SANE_TARGET_RANGE=(2**256//2**32 - 1, 2**256//2**32 - 1),
+ DUMB_SCRYPT_DIFF=1,
),
namecoin_testnet=math.Object(
P2P_PREFIX='fabfb5fe'.decode('hex'),
@@ -79,6 +82,7 @@
BLOCK_EXPLORER_URL_PREFIX='http://testnet.explorer.dot-bit.org/b/',
ADDRESS_EXPLORER_URL_PREFIX='http://testnet.explorer.dot-bit.org/a/',
SANE_TARGET_RANGE=(2**256//2**32 - 1, 2**256//2**32 - 1),
+ DUMB_SCRYPT_DIFF=1,
),
litecoin=math.Object(
@@ -98,6 +102,7 @@
BLOCK_EXPLORER_URL_PREFIX='http://explorer.litecoin.net/block/',
ADDRESS_EXPLORER_URL_PREFIX='http://explorer.litecoin.net/address/',
SANE_TARGET_RANGE=(2**256//1000000000 - 1, 2**256//1000 - 1),
+ DUMB_SCRYPT_DIFF=2**16,
),
litecoin_testnet=math.Object(
P2P_PREFIX='fcc1b7dc'.decode('hex'),
@@ -116,6 +121,7 @@
BLOCK_EXPLORER_URL_PREFIX='http://nonexistent-litecoin-testnet-explorer/block/',
ADDRESS_EXPLORER_URL_PREFIX='http://nonexistent-litecoin-testnet-explorer/address/',
SANE_TARGET_RANGE=(2**256//1000000000 - 1, 2**256 - 1),
+ DUMB_SCRYPT_DIFF=2**16,
),
terracoin=math.Object(
@@ -135,6 +141,7 @@
BLOCK_EXPLORER_URL_PREFIX='http://cryptocoinexplorer.com:3750/block/',
ADDRESS_EXPLORER_URL_PREFIX='http://cryptocoinexplorer.com:3750/address/',
SANE_TARGET_RANGE=(2**256//2**32//1000 - 1, 2**256//2**32 - 1),
+ DUMB_SCRYPT_DIFF=1,
),
terracoin_testnet=math.Object(
P2P_PREFIX='41babe56'.decode('hex'),
@@ -153,6 +160,7 @@
BLOCK_EXPLORER_URL_PREFIX='http://cryptocoinexplorer.com:3750/testnet/block/',
ADDRESS_EXPLORER_URL_PREFIX='http://cryptocoinexplorer.com:3750/testnet/address/',
SANE_TARGET_RANGE=(2**256//2**32//1000 - 1, 2**256//2**32 - 1),
+ DUMB_SCRYPT_DIFF=1,
),
)
View
2  p2pool/bitcoin/stratum.py
@@ -34,7 +34,7 @@ def rpc_authorize(self, username, password):
def _send_work(self):
x, got_response = self.wb.get_work(*self.wb.preprocess_request('' if self.username is None else self.username))
jobid = str(random.randrange(2**128))
- self.other.svc_mining.rpc_set_difficulty(bitcoin_data.target_to_difficulty(x['share_target'])).addErrback(lambda err: None)
+ self.other.svc_mining.rpc_set_difficulty(bitcoin_data.target_to_difficulty(x['share_target'])*self.wb.net.DUMB_SCRYPT_DIFF).addErrback(lambda err: None)
self.other.svc_mining.rpc_notify(
jobid, # jobid
getwork._swap4(pack.IntType(256).pack(x['previous_block'])).encode('hex'), # prevhash
View
1  p2pool/bitcoin/worker_interface.py
@@ -102,6 +102,7 @@ def _getwork(self, request, data, long_poll):
class CachingWorkerBridge(object):
def __init__(self, inner):
self._inner = inner
+ self.net = self._inner.net
self.COINBASE_NONCE_LENGTH = (inner.COINBASE_NONCE_LENGTH+1)//2
self.new_work_event = inner.new_work_event
View
1  p2pool/work.py
@@ -25,6 +25,7 @@ def __init__(self, node, my_pubkey_hash, donation_percentage, merged_urls, worke
self.donation_percentage = donation_percentage
self.worker_fee = worker_fee
+ self.net = self.node.net.PARENT
self.running = True
self.pseudoshare_received = variable.Event()
self.share_received = variable.Event()
Something went wrong with that request. Please try again.