Ejemplo n.º 1
0
    def check_pow(self, nonce=None):
        """Check if the proof-of-work of the block is valid.

        :param nonce: if given the proof of work function will be evaluated
                      with this nonce instead of the one already present in
                      the header
        :returns: `True` or `False`
        """
        log.debug('checking pow', block=self.hex_hash()[:8])
        return check_pow(self.number, self.mining_hash, self.mixhash, nonce or self.nonce,
                         self.difficulty)
def worker():
    while True:
        item = q.get()
        try:
            block_number = int(jsonArrayElements[int(item)]['block'])
            difficulty = int(jsonArrayElements[int(item)]['diff'])
            header_hash = decode_hex(jsonArrayElements[int(item)]['pow'])
            mixhash = decode_hex(jsonArrayElements[int(item)]['digest'])
            nonce = decode_hex(jsonArrayElements[int(item)]['nonce'])
            result = ethpow.check_pow(block_number, header_hash, mixhash, nonce, difficulty)
            print 'I:'+str(item)+' Nonce:'+ encode_hex(nonce)+'='+str(result)
        finally:
            q.task_done()
Ejemplo n.º 3
0
def worker():
    while True:
        item = q.get()
        try:
            block_number = int(jsonArrayElements[int(item)]['block'])
            difficulty = int(jsonArrayElements[int(item)]['diff'])
            header_hash = decode_hex(jsonArrayElements[int(item)]['pow'])
            mixhash = decode_hex(jsonArrayElements[int(item)]['digest'])
            nonce = decode_hex(jsonArrayElements[int(item)]['nonce'])
            result = ethpow.check_pow(block_number, header_hash, mixhash,
                                      nonce, difficulty)
            print 'I:' + str(item) + ' Nonce:' + encode_hex(nonce) + '=' + str(
                result)
        finally:
            q.task_done()
import sys
import ethpow
import math
import utils
from rlp.sedes import big_endian_int, BigEndianInt, Binary
from rlp.utils import decode_hex, encode_hex, ascii_chr, str_to_bytes



block_number = int(sys.argv[1]);
difficulty = int(sys.argv[5]);
header_hash = decode_hex(sys.argv[2])
mixhash = decode_hex(sys.argv[3])
nonce = decode_hex(sys.argv[4])



#print "\nBlock_Number:",block_number
#print "\nHeader_hash:"+header_hash
#print "\nMixhash:"+mixhash
#print "\nNonce:"+nonce
#print "\nDiff:",difficulty


#check_pow(block_number, header_hash, mixhash, nonce, difficulty):

print ethpow.check_pow(block_number, header_hash, mixhash, nonce, difficulty)