@UFO/double_SHA_256
Python

Python

I built🔨
THIS
Files
  • main.py
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import hashlib, struct
 
ver = 2
prev_block = "000000000000000117c80378b8da0e33559b5997f2ad55e2f7d18ec1975b9717"
mrkl_root = "871714dcbae6c8193a2bb9b2a69fe1c0440399f38d94b3a0f1b447275a29978a"
time_ = 0x53058b35 # 2014-02-20 04:57:25
bits = 0x19015f53
 
# https://en.bitcoin.it/wiki/Difficulty
exp = bits >> 24
mant = bits & 0xffffff
target_hexstr = '%064x' % (mant * (1<<(8*(exp - 3))))
target_str = target_hexstr.decode('hex')
 
nonce =856192320
while nonce < 856192332:
    header = ( struct.pack("<L", ver) + prev_block.decode('hex')[::-1] +
          mrkl_root.decode('hex')[::-1] + struct.pack("<LLL", time_, bits, nonce))
    
    hash = hashlib.sha256(hashlib.sha256(header).digest()).digest()
  
    print nonce, hash[::-1].encode('hex'),header.encode('hex')
   
   
   
    if hash[::-1] < target_str:
   
    #  print header.encode('hex')
   
     #  print  'success'
     
     
      
      break
        
         
   
    nonce += 1
Python 2.7.10 (default, Jul 14 2015, 19:46:27) [GCC 4.8.2] on linux