parent
1f525da1ff
commit
17d045da10
|
@ -328,6 +328,12 @@ class sqlThread(threading.Thread):
|
||||||
shared.config.set('bitmessagesettings', 'settingsversion', '10')
|
shared.config.set('bitmessagesettings', 'settingsversion', '10')
|
||||||
shared.writeKeysFile()
|
shared.writeKeysFile()
|
||||||
|
|
||||||
|
# sanity check
|
||||||
|
if shared.config.getint('bitmessagesettings', 'maxacceptablenoncetrialsperbyte') == 0:
|
||||||
|
shared.config.set('bitmessagesettings','maxacceptablenoncetrialsperbyte', str(shared.ridiculousDifficulty * shared.networkDefaultProofOfWorkNonceTrialsPerByte))
|
||||||
|
if shared.config.getint('bitmessagesettings', 'maxacceptablepayloadlengthextrabytes') == 0:
|
||||||
|
shared.config.set('bitmessagesettings','maxacceptablepayloadlengthextrabytes', str(shared.ridiculousDifficulty * shared.networkDefaultPayloadLengthExtraBytes))
|
||||||
|
|
||||||
# The format of data stored in the pubkeys table has changed. Let's
|
# The format of data stored in the pubkeys table has changed. Let's
|
||||||
# clear it, and the pubkeys from inventory, so that they'll be re-downloaded.
|
# clear it, and the pubkeys from inventory, so that they'll be re-downloaded.
|
||||||
item = '''SELECT value FROM settings WHERE key='version';'''
|
item = '''SELECT value FROM settings WHERE key='version';'''
|
||||||
|
|
|
@ -134,6 +134,31 @@ def _doGPUPoW(target, initialHash):
|
||||||
logger.debug("GPU PoW done")
|
logger.debug("GPU PoW done")
|
||||||
return [trialValue, nonce]
|
return [trialValue, nonce]
|
||||||
|
|
||||||
|
def estimate(difficulty, format = False):
|
||||||
|
ret = difficulty / 10
|
||||||
|
if ret < 1:
|
||||||
|
ret = 1
|
||||||
|
if format:
|
||||||
|
out = str(int(ret)) + " seconds"
|
||||||
|
if ret > 60:
|
||||||
|
ret /= 60
|
||||||
|
out = str(int(ret)) + " minutes"
|
||||||
|
if ret > 60:
|
||||||
|
ret /= 60
|
||||||
|
out = str(int(ret)) + " hours"
|
||||||
|
if ret > 24:
|
||||||
|
ret /= 24
|
||||||
|
out = str(int(ret)) + " days"
|
||||||
|
if ret > 7:
|
||||||
|
out = str(int(ret)) + " weeks"
|
||||||
|
if ret > 31:
|
||||||
|
out = str(int(ret)) + " months"
|
||||||
|
if ret > 366:
|
||||||
|
ret /= 366
|
||||||
|
out = str(int(ret)) + " years"
|
||||||
|
else:
|
||||||
|
return ret
|
||||||
|
|
||||||
def run(target, initialHash):
|
def run(target, initialHash):
|
||||||
target = int(target)
|
target = int(target)
|
||||||
if safeConfigGetBoolean('bitmessagesettings', 'opencl') and openclpow.has_opencl():
|
if safeConfigGetBoolean('bitmessagesettings', 'opencl') and openclpow.has_opencl():
|
||||||
|
|
|
@ -91,6 +91,10 @@ objectProcessorQueue = Queue.Queue(
|
||||||
) # receiveDataThreads dump objects they hear on the network into this queue to be processed.
|
) # receiveDataThreads dump objects they hear on the network into this queue to be processed.
|
||||||
streamsInWhichIAmParticipating = {}
|
streamsInWhichIAmParticipating = {}
|
||||||
|
|
||||||
|
# sanity check, prevent doing ridiculous PoW
|
||||||
|
# 20 million PoWs equals approximately 2 days on dev's dual R9 290
|
||||||
|
ridiculousDifficulty = 20000000
|
||||||
|
|
||||||
#If changed, these values will cause particularly unexpected behavior: You won't be able to either send or receive messages because the proof of work you do (or demand) won't match that done or demanded by others. Don't change them!
|
#If changed, these values will cause particularly unexpected behavior: You won't be able to either send or receive messages because the proof of work you do (or demand) won't match that done or demanded by others. Don't change them!
|
||||||
networkDefaultProofOfWorkNonceTrialsPerByte = 1000 #The amount of work that should be performed (and demanded) per byte of the payload.
|
networkDefaultProofOfWorkNonceTrialsPerByte = 1000 #The amount of work that should be performed (and demanded) per byte of the payload.
|
||||||
networkDefaultPayloadLengthExtraBytes = 1000 #To make sending short messages a little more difficult, this value is added to the payload length for use in calculating the proof of work target.
|
networkDefaultPayloadLengthExtraBytes = 1000 #To make sending short messages a little more difficult, this value is added to the payload length for use in calculating the proof of work target.
|
||||||
|
|
Reference in New Issue
Block a user