Assume we have a **transaction** in hex (**tx_hex**) and we want to find a **nonce** such that

SHA-256(SHA-256(nonce|| tx_hex)) = new_transaction_id (‘||’ denotes concatenation)

first bits consist of **32 zeros**. I understand that this nonce can be found only by brute force.

However, I cannot figure out how you check this condition in practice. new_transaction_id is in hex, so is that equivalent to checking that its first 8 digits are 0?

And if so to find the nonce, I just have to try every possible number (let’s say up to 32 bits) for the first 8 digits of new_transaction_id to be 0?

That is my code BTW

```
def mine(self, tx_hex):
for i in range(1,4294967295):
nonce = hex(i)(2:)
new_tx = self.add_nonce(nonce, tx_hex)
sha = self.get_tx_id(new_tx)
print(sha(:2))
if sha(:8) == '00000000':
print('Nonce:', i)
break
```