from hashlib import sha256
text = "ABC"
print(sha256(text.encode('ascii')).hexdigest())
$ python3 main.py
b5d4045c3f466fa91fe2cc6abe79232a1a57cdf104f7a26e716e0a1e2789df78
from hashlib import sha256
MAX_NONCE = 10000000000
def SHA256(text):
return sha256(text.encode('ascii')).hexdigest()
def mine(block_number, transactions, previous_hash, prefix_zeros):
prefix_str = '0'*prefix_zeros
for nonce in range(MAX_NONCE):
text = str(block_number) + transactions + previous_hash + str(nonce)
new_hash = SHA256(text)
if new_hash.startswith(prefix_str):
print(f"Yay! Successfully mined bitcoins with nonce value:{nonce}")
return new_hash
raise BaseException(f"Couldn't find correct has after trying {MAX_NONCE} times")
if __name__ == '__main__':
transactions='''
Bob->Alice->20,
Ken->Ryu->45
'''
difficulty=6
new_hash = mine(5, transactions, '00000000000008a3a41b85b8b29ad444def299fee21793cd8b9e567eab02cd81', difficulty)
print(new_hash)
bitcoin hardware
https://www.buybitcoinworldwide.com/mining/hardware/
bitcoin explore
https://www.blockchain.com/explorer
https://www.blockchain.com/btc/blocks?page=1
bitcoin block1
https://www.blockchain.com/btc/block/1
なるほど、前後の処理が知りたいのう