Proof-of-Work Chain

Proof-of-Work Chain

28 Mar, 2021


Categories

Bitcoin

Date

28 Mar, 2021

Post by

Ozzy


General Proof-of-Work chain for tests and stuff

I was inspired by one of the assignments in the below reference lecture from MIT Open Courseware:

The basic idea was students had to submit a message which included any message they want, the previous message's hash, and a nonce such that when you has the input info it would produce some leading zeros.
Exactly how mining blocks in Bitcoin works.

How To Use

API_URL = "https://www.madebyozzy.com/powchain/api"

hash the data:
height + hash + message + nonce

Current difficulty: "1f0000f0"
https://developer.bitcoin.org/reference/block_chain.html#target-nbits

Github:
https://github.com/MadeByOzzy/copper/blob/master/Python/addBlock.py

"""
    MadeByOzzy
    video for this module:
    https://www.youtube.com/watch?v=tsPNABVahQw
    Support:
    Bitcoin
    1P4kBPyFoR6xa4sy2hnHL3oY6sg4PrXn6M
    Digibyte
    DMgbQqZ9Vr7KrCxd7LrPJE5kWYHZX7DTTW
    Monero
    46NQaqW3ZNvUt3DCSxLLLyHpaVMSbwLqS3tHmhVLrafXU3K2crb12qK4PfN7kaHkaLcSTs9cCX1NMPsaCnSMhkRACWzxmax
    Contact:
    madebyozzy@gmail.com
"""

import hashlib
import codecs
import struct
import time
import requests
import json

message = "https://twitter.com/coolshoeshine2"
bits = 0x1f0000f0

# calculate difficulty from bits
exponent = bits >> 24
mantissa = bits & 0x00FFFFFF
diff = mantissa << (8 * (exponent - 3))
diffInBytes = diff.to_bytes(32, 'big')

# request last block info from url
API_URL = "https://www.madebyozzy.com/powchain/api"
response = requests.get(API_URL)
json_string = response.text
block = json.loads(json_string)

# get data from last block
height = block['height'] + 1
prev_hash = block['hash']

# loop through all nonces to find one below difficulty
nonce = 0
startTime = time.time()
while nonce <= 0xFFFFFFFF:
    # construct new header
    header = (struct.pack(" 0):
        currTime = time.time()
        timeDiff = currTime - startTime
        hashesPerSecond = nonce / timeDiff
        print('nonce: %d \t hashesPerSec: %f' % (nonce, hashesPerSecond))

    # check if digest is below difficulty
    if (reversedDigest < diffInBytes):
        print(nonce)
        print('Success!')

        # send this info to the server
        payload = {
            "nonce": nonce,
            "message": message,
        }
        response = requests.post(API_URL, data=payload)
        print(response.text)

        # print how long it took
        currTime = time.time()
        timeDiff = currTime - startTime
        print("elapsed time (seconds):", timeDiff)
        break

    # increment nonce
    nonce += 1
                                        

GET returns a json string with parameters height and hash.
Example:
{"height": 5, "hash": "00000b7dfca2b1654932e8afa2a816c7b22ffa4847e4985a13c8651c17caec21"}

message can be any string you want (max 160 characters).
nonce is any 32 bit integer which allows the above hash to be below the target difficulty.

Once you find a suitable nonce:
POST that data to the API_URL with a json string.
Example:
{"nonce": 0, "message": "your custom message here"}

If your data meets the target difficulty then it will be added to the chain!

Entire Chain:

77: 8929886 - https://cypherpunkuniversity.com/
    prev_hash: 00000008e066e71c2a3975b61eaa5ecb3815402a0763b1f502900abccbe6aca2
    curr_hash: 0000005c9df4d3508187a18c8debbf019ec14dab126faaa676cbec7a5c7c643c
76: 8637569 - Am I in history?
    prev_hash: 0000000ebb67354985ce1ba71d023e9044c6ea329180edb5e8210f8eabd1aa0b
    curr_hash: 00000008e066e71c2a3975b61eaa5ecb3815402a0763b1f502900abccbe6aca2
75: 22459846 - Out to Lunch
    prev_hash: 000000ecdb65807438bf5403ec7eb086dcb63103653f622ff95a41faf51ad113
    curr_hash: 0000000ebb67354985ce1ba71d023e9044c6ea329180edb5e8210f8eabd1aa0b
74: 2479903 - Keep Calm and Carry On Hacking
    prev_hash: 000000e56bddaec76f400c9a00edf0d896ea45e8c5f838608618d0c41991c618
    curr_hash: 000000ecdb65807438bf5403ec7eb086dcb63103653f622ff95a41faf51ad113
73: 1831786675 - Any old message
    prev_hash: 000000c4133931e67a34203d4f138ff403153d0a5d7b4c5a6e68c7fa2ab161e7
    curr_hash: 000000e56bddaec76f400c9a00edf0d896ea45e8c5f838608618d0c41991c618
72: 9108321 - Any Old Message Again
    prev_hash: 0000000768d68fd8613821aa90806b1af1ddd8df0caf53ca7e11c4e0af4d223a
    curr_hash: 000000c4133931e67a34203d4f138ff403153d0a5d7b4c5a6e68c7fa2ab161e7
71: 19765531 - Any Old Message
    prev_hash: 0000001c5118db459547f2ecab6ebc68664137ede23cc552350ceba1b960b711
    curr_hash: 0000000768d68fd8613821aa90806b1af1ddd8df0caf53ca7e11c4e0af4d223a
70: 9903426 - Any Old Message
    prev_hash: 000000e0f001798190ec5b009777a1f66642789968bf7eb35773112b3e16ca83
    curr_hash: 0000001c5118db459547f2ecab6ebc68664137ede23cc552350ceba1b960b711
69: 3625929 - https://cypherpunkuniversity.com/
    prev_hash: 000000d822e275889c60cacf4859eae4fc0155994b3c47ef3363ee2c57d2cd0e
    curr_hash: 000000e0f001798190ec5b009777a1f66642789968bf7eb35773112b3e16ca83
68: 5995395 - Bla washes blashes !
    prev_hash: 000000e1b16f70c698ce19ad64520f8afd84715dad9b6ab60e18836dffdd6fbe
    curr_hash: 000000d822e275889c60cacf4859eae4fc0155994b3c47ef3363ee2c57d2cd0e
67: 1867319 - https://cypherpunkuniversity.com/
    prev_hash: 000000e19cae3fa275d26ffdcfc52a4b66e936ac65c0aa7555c30a39e2595e18
    curr_hash: 000000e1b16f70c698ce19ad64520f8afd84715dad9b6ab60e18836dffdd6fbe
66: 90442177 - https://cypherpunkuniversity.com/
    prev_hash: 00000092a904865cee15ef49ca8bfb260025698239739a47a87c278396cd48a0
    curr_hash: 000000e19cae3fa275d26ffdcfc52a4b66e936ac65c0aa7555c30a39e2595e18
65: 14769063 - What is the meaning of life?
    prev_hash: 00000073010ce8297a9e6615f04a7ada23e00169833c9ce7d2a57e8271095070
    curr_hash: 00000092a904865cee15ef49ca8bfb260025698239739a47a87c278396cd48a0
64: 35486780 - What is the meaning of life?
    prev_hash: 000000011fc029fbf2b83358bee9a382a6aa8ef9bb45decfadc4f006dc6daab0
    curr_hash: 00000073010ce8297a9e6615f04a7ada23e00169833c9ce7d2a57e8271095070
63: 30990889 - https://twitter.com/coolshoeshine2
    prev_hash: 000000dd3fb961c19a0767a08051a2336f2994b8a9daac298dd1321248390ef2
    curr_hash: 000000011fc029fbf2b83358bee9a382a6aa8ef9bb45decfadc4f006dc6daab0
62: 5633122 - https://twitter.com/coolshoeshine2
    prev_hash: 000000d02592aed1d5c29a37f40ea7631e063137c1d78441ef35c10123297300
    curr_hash: 000000dd3fb961c19a0767a08051a2336f2994b8a9daac298dd1321248390ef2
61: 39204693 - submitblock 'hexdata' -> Bu işlemi bir türlü yapamadık. Lütfen yardımcı olun.
    prev_hash: 000000725c98ef67fbdbfd938549a3d3aeefd68ae1d2ba1ac6d2a276bf58a063
    curr_hash: 000000d02592aed1d5c29a37f40ea7631e063137c1d78441ef35c10123297300
60: 975402 - Ölüm ölüm dediğin nedir ki gülüm. Ben senin için yaşamayı göze almışım :)) By : hk1978ank
    prev_hash: 0000004b88d9df9df9ba9c6be37ca0897a765484acf9541762c522a0151239ae
    curr_hash: 000000725c98ef67fbdbfd938549a3d3aeefd68ae1d2ba1ac6d2a276bf58a063
59: 6609234 - https://cypherpunkuniversity.com/
    prev_hash: 000000408b77ce6ee490c0ffba48b183ad4850999a1e07776f4644e0a6f60ee3
    curr_hash: 0000004b88d9df9df9ba9c6be37ca0897a765484acf9541762c522a0151239ae
58: 7341868 - https://cypherpunkuniversity.com/
    prev_hash: 0000005cb21e7ef8ace0844f0a3014e77d89bfd32d713036031d82818e90d2e8
    curr_hash: 000000408b77ce6ee490c0ffba48b183ad4850999a1e07776f4644e0a6f60ee3
57: 1167544 - https://cypherpunkuniversity.com/
    prev_hash: 0000001d8910dd9b92292872310761a8ec5c9722288ffa7fc8740a0593d27b54
    curr_hash: 0000005cb21e7ef8ace0844f0a3014e77d89bfd32d713036031d82818e90d2e8
56: 92437 - https://cypherpunkuniversity.com/
    prev_hash: 000000070570d21e9ada2bbc6d476e0d7e73c1d8576785215f6796ca512e3019
    curr_hash: 0000001d8910dd9b92292872310761a8ec5c9722288ffa7fc8740a0593d27b54
55: 4875676 - https://cypherpunkuniversity.com/
    prev_hash: 000000560fe0980eef387f7155ba2a229c3155ceaeb111e0e8c538ff22eebf4b
    curr_hash: 000000070570d21e9ada2bbc6d476e0d7e73c1d8576785215f6796ca512e3019
54: 9818619 - https://cypherpunkuniversity.com/
    prev_hash: 000000a093be3fa17214e18f2aceaf5c298f3d5e2d0de1d3dc1ba75a583c256e
    curr_hash: 000000560fe0980eef387f7155ba2a229c3155ceaeb111e0e8c538ff22eebf4b
53: 49861201 - https://cypherpunkuniversity.com/
    prev_hash: 0000009d9c544639b199fed8c12f9e9d249a672fc51597c12ed699329bd86194
    curr_hash: 000000a093be3fa17214e18f2aceaf5c298f3d5e2d0de1d3dc1ba75a583c256e
52: 968407 - https://cypherpunkuniversity.com/
    prev_hash: 0000002424f8fd2ac67168a5b75226f8d739bcc7d9c1ac221261e36fe1f62fdd
    curr_hash: 0000009d9c544639b199fed8c12f9e9d249a672fc51597c12ed699329bd86194
51: 41415365 - https://cypherpunkuniversity.com/
    prev_hash: 0000008114cafcc47a338ec6c2a917be1acfefbdac9ff80b08f28b08ee36c895
    curr_hash: 0000002424f8fd2ac67168a5b75226f8d739bcc7d9c1ac221261e36fe1f62fdd
50: 35060024 - https://cypherpunkuniversity.com/
    prev_hash: 000000767b1c70a52626d99364d078484df0eb8ebe7ec9d7cc5fd5222e4c8485
    curr_hash: 0000008114cafcc47a338ec6c2a917be1acfefbdac9ff80b08f28b08ee36c895
49: 34268984 - 최중혁똥꼬
    prev_hash: 000000deae8022178825735ce9700188d68325f3f47c2c5c865dedf580240470
    curr_hash: 000000767b1c70a52626d99364d078484df0eb8ebe7ec9d7cc5fd5222e4c8485
48: 36468498 - https://d2charsifood.com/
    prev_hash: 0000009d661cedd6c2960aa3d54953c7a9bf4f548a2878ed7c50f82e2fb68178
    curr_hash: 000000deae8022178825735ce9700188d68325f3f47c2c5c865dedf580240470
47: 12325499 - https://cypherpunkuniversity.com/
    prev_hash: 0000007a05aee39a63cc6e816c009762b4d709a8c407fe5f0bd9d8dc22321629
    curr_hash: 0000009d661cedd6c2960aa3d54953c7a9bf4f548a2878ed7c50f82e2fb68178
46: 42540193 - https://cypherpunkuniversity.com/
    prev_hash: 0000001ad865b0f4d8bdf7d4312912c2183c42e09e620763adbdc71bd2ca1c75
    curr_hash: 0000007a05aee39a63cc6e816c009762b4d709a8c407fe5f0bd9d8dc22321629
45: 7036757 - https://cypherpunkuniversity.com/
    prev_hash: 00000013adf309ed65d2900a183dd00e73ed5e9dce9e010816bf4f6c1b81c3af
    curr_hash: 0000001ad865b0f4d8bdf7d4312912c2183c42e09e620763adbdc71bd2ca1c75
44: 73302164 - Muhahaha !!!
    prev_hash: 00000055ab004f46e06dce0adb1d0154c93ceac7c4d576094979f4a9458a79e9
    curr_hash: 00000013adf309ed65d2900a183dd00e73ed5e9dce9e010816bf4f6c1b81c3af
43: 28415244 - Yo Oz like the wizard of Oz thanks man you rock
    prev_hash: 00000069899fb1b4d3ebfe985f4922eed2ae372ce1474e905fd90003fe658dd4
    curr_hash: 00000055ab004f46e06dce0adb1d0154c93ceac7c4d576094979f4a9458a79e9
42: 53801190 - Really worked??
    prev_hash: 000000b0713d249d9284409d781574cc65c023e49105be76e178dd2a6005c0ce
    curr_hash: 00000069899fb1b4d3ebfe985f4922eed2ae372ce1474e905fd90003fe658dd4
41: 24476768 - https://cypherpunkuniversity.com/
    prev_hash: 0000009ce67cb0100d58c9981abf8a5955157d67c31b4b0065cd20ec53f6a234
    curr_hash: 000000b0713d249d9284409d781574cc65c023e49105be76e178dd2a6005c0ce
40: 10172442 - Pregma Sogma was here...
    prev_hash: 000000a40094c49fd4130e852fdc79cb087ce6e51668e7bf1081ecedd2a916ee
    curr_hash: 0000009ce67cb0100d58c9981abf8a5955157d67c31b4b0065cd20ec53f6a234
39: 10835288 - Hi mom, i found a block.
    prev_hash: 000000cfbfd482344fdf41ccdb690ca30f626b5aed70374bd973517f5d163d95
    curr_hash: 000000a40094c49fd4130e852fdc79cb087ce6e51668e7bf1081ecedd2a916ee
38: 16331110 - Bitcoin Mining Test ... :)
    prev_hash: 000000036b5d43854f562c36b137c1ef0003caffb143c6685ebc25f746915a1d
    curr_hash: 000000cfbfd482344fdf41ccdb690ca30f626b5aed70374bd973517f5d163d95
37: 22730030 - https://cypherpunkuniversity.com/
    prev_hash: 0000002442fd7d7cf59409198d92056840a365a91140b3b9fb2f7086e2bd5e20
    curr_hash: 000000036b5d43854f562c36b137c1ef0003caffb143c6685ebc25f746915a1d
36: 22133625 - https://cypherpunkuniversity.com/
    prev_hash: 0000002297ee6be29acb7df5419a68ba334ab5d80bd05ea2750b70b9db19445f
    curr_hash: 0000002442fd7d7cf59409198d92056840a365a91140b3b9fb2f7086e2bd5e20
35: 35138970 - https://nakamotosystems.com/
    prev_hash: 000000e32bd73b2b3d5ec5fe01841147c4f2417275f8798c4396175d4861a4ad
    curr_hash: 0000002297ee6be29acb7df5419a68ba334ab5d80bd05ea2750b70b9db19445f
34: 16207456 - https://www.cryptocostbasis.com/
    prev_hash: 000000d27fec68a3493097013eaddec8ceb14b23e6c141d939ef43d1b8be4408
    curr_hash: 000000e32bd73b2b3d5ec5fe01841147c4f2417275f8798c4396175d4861a4ad
33: 20939207 - Send me bitcoin to change my balance from 0.00 bc1qkxn0l5k7ml2z4lgkawh7tsf7uuwrhpkxvxngay
    prev_hash: 00000013287d7f47b7a40d1ab4a75c4a642b84a7d33b2a555138c1227e78ec01
    curr_hash: 000000d27fec68a3493097013eaddec8ceb14b23e6c141d939ef43d1b8be4408
32: 1722993 - Hello World !!!
    prev_hash: 00000071554224c0162106fd679ed52804fff34b0a0397a43d3f2c8601cb3e96
    curr_hash: 00000013287d7f47b7a40d1ab4a75c4a642b84a7d33b2a555138c1227e78ec01
31: 18215882 - https://twitter.com/coolshoeshine2
    prev_hash: 000000cd4146649e73f4a31487880ad48385cd526b32e85ae38e6a0efb5cacef
    curr_hash: 00000071554224c0162106fd679ed52804fff34b0a0397a43d3f2c8601cb3e96
30: 1048212 - MOIGED!
    prev_hash: 0000008c65e95a65faaa25dc6dfa7c5b5033e68e1c7887c09cd434243e964c3a
    curr_hash: 000000cd4146649e73f4a31487880ad48385cd526b32e85ae38e6a0efb5cacef
29: 30832169 - MEGED!!!
    prev_hash: 0000002f7cb0c4584ce094ca8429fd585de2a51fd3879b15718e40e157ae551b
    curr_hash: 0000008c65e95a65faaa25dc6dfa7c5b5033e68e1c7887c09cd434243e964c3a
28: 21509829 - https://twitter.com/coolshoeshine2
    prev_hash: 0000001b6c4687af14a13d62c43e098bcceda737a5f32ca23fa654510a50d683
    curr_hash: 0000002f7cb0c4584ce094ca8429fd585de2a51fd3879b15718e40e157ae551b
27: 1311257 - I do nort
    prev_hash: 0000002b16edce0c90edba30c08e4234d0f23d5249507d4f2c5ae088954cc887
    curr_hash: 0000001b6c4687af14a13d62c43e098bcceda737a5f32ca23fa654510a50d683
26: 33281467 - Hello Test...S
    prev_hash: 000000027d00efb553670d83a560b7efcd962767f1b03090f2b545d92dfa7531
    curr_hash: 0000002b16edce0c90edba30c08e4234d0f23d5249507d4f2c5ae088954cc887
25: 2093226 - Hello Test...S
    prev_hash: 000000aaebc62b423c8a44ad05d5f3471d6a33ba5ce44f9122715b610c57cd5e
    curr_hash: 000000027d00efb553670d83a560b7efcd962767f1b03090f2b545d92dfa7531
24: 913990 - Hello Test...3
    prev_hash: 00000034413a7ec40db69e8356cac0226179edcdd2cad78583479ea10748777b
    curr_hash: 000000aaebc62b423c8a44ad05d5f3471d6a33ba5ce44f9122715b610c57cd5e
23: 14120455 - Hello Test...2
    prev_hash: 000000d3095db397b8685c1701c2bf8dc7f5be6c1d4f50a39d90aaed1c65c01b
    curr_hash: 00000034413a7ec40db69e8356cac0226179edcdd2cad78583479ea10748777b
22: 832195 - Hello Test...
    prev_hash: 000000c91276bc7ef41f3a9928d946c33bd97f1667830a71821593e5c2f38e7c
    curr_hash: 000000d3095db397b8685c1701c2bf8dc7f5be6c1d4f50a39d90aaed1c65c01b
21: 34745341 - https://twitter.com/coolshoeshine2
    prev_hash: 0000002aa86c5a5149fbb1a94ca8d709cb95bce2b6915b7512df12cc6875a192
    curr_hash: 000000c91276bc7ef41f3a9928d946c33bd97f1667830a71821593e5c2f38e7c
20: 24882876 - https://twitter.com/coolshoeshine2
    prev_hash: 0000000e8c9245ab4b84d8ff209c61faee2dba3523b1d2b4643783656423ec70
    curr_hash: 0000002aa86c5a5149fbb1a94ca8d709cb95bce2b6915b7512df12cc6875a192
19: 36756272 - https://twitter.com/coolshoeshine2
    prev_hash: 000000c17572fa82c0b770db56d7c55148f6051cf295831e6c5805a313e7f676
    curr_hash: 0000000e8c9245ab4b84d8ff209c61faee2dba3523b1d2b4643783656423ec70
18: 2110290 - https://twitter.com/coolshoeshine2
    prev_hash: 000000bfd2abe68f0033f9faae785a52f30d8176b21d10e5555d7707b061828d
    curr_hash: 000000c17572fa82c0b770db56d7c55148f6051cf295831e6c5805a313e7f676
17: 8307865 - https://twitter.com/coolshoeshine2
    prev_hash: 00000050653ad7431ff12fa4cce9d77aab123d486852279e5a4204a868f13df9
    curr_hash: 000000bfd2abe68f0033f9faae785a52f30d8176b21d10e5555d7707b061828d
16: 6220525 - Looking forward to the next tutorial on Stratum v2
    prev_hash: 0000006ef184ae732454a62ddb33cbca1cf97d4fcf20fa70dfbb38d860c42379
    curr_hash: 00000050653ad7431ff12fa4cce9d77aab123d486852279e5a4204a868f13df9
15: 12955758 - It worked.  Thanks so much for putting this together.
    prev_hash: 000000039a5c292bd87dd6d7db1456470358b5c1f5fbff49a77bdcb2597c8746
    curr_hash: 0000006ef184ae732454a62ddb33cbca1cf97d4fcf20fa70dfbb38d860c42379
14: 16953989 - I hope this works :)
    prev_hash: 00000070efa3fd6c72ba4b2f28e401515d0decd564abf619aced94e5870e0503
    curr_hash: 000000039a5c292bd87dd6d7db1456470358b5c1f5fbff49a77bdcb2597c8746
13: 26244087 - All we have to decide is what to do with the time that is given us-Gandalf
    prev_hash: 00000061b2e801a38186ddd73457d27597ae51f4422802de9864e348bb2cc496
    curr_hash: 00000070efa3fd6c72ba4b2f28e401515d0decd564abf619aced94e5870e0503
12: 15322067 - WHAT DID YOU SAY ABOUT MY MOM!?
    prev_hash: 00000099bafa8e6b7d273f73168b0d27f76644b6baef83736ac6eb6f9b63a8eb
    curr_hash: 00000061b2e801a38186ddd73457d27597ae51f4422802de9864e348bb2cc496
11: 1799726 - There's a worm in my apple!
    prev_hash: 000000e7051d84aa23c18004db130498734f9b3a914102ccd74dbe7d0a8d16f9
    curr_hash: 00000099bafa8e6b7d273f73168b0d27f76644b6baef83736ac6eb6f9b63a8eb
10: 1361637 - No I've been having this issue where my pc would just randomly shit down
    prev_hash: 0000005aa4d56069c129c2d8698f012a20538d2cca69c6a75fba40d93f5a0600
    curr_hash: 000000e7051d84aa23c18004db130498734f9b3a914102ccd74dbe7d0a8d16f9
9: 1888584 - hello nurse
    prev_hash: 0000002244e306e17e36da91e507c3e7c8fd8525ec17a84872725941c02f0ed2
    curr_hash: 0000005aa4d56069c129c2d8698f012a20538d2cca69c6a75fba40d93f5a0600
8: 14100922 - Kevin Wood was here :D
    prev_hash: 0000003db89041b0485523659adae1b751a0569b9be500ce2b7eba039e7cd933
    curr_hash: 0000002244e306e17e36da91e507c3e7c8fd8525ec17a84872725941c02f0ed2
7: 546264 - Kevin Wood was here :D
    prev_hash: 000000e51deee8cf74f4decec1968ca0c0e55d014be5dd14db01a7408e05ec81
    curr_hash: 0000003db89041b0485523659adae1b751a0569b9be500ce2b7eba039e7cd933
6: 5348972 - https://twitter.com/coolshoeshine2
    prev_hash: 00000060fb2e1d6333a2c08b2a229788881656d6968a79924d238745f0d2ba89
    curr_hash: 000000e51deee8cf74f4decec1968ca0c0e55d014be5dd14db01a7408e05ec81
5: 18376484 - hello nurse
    prev_hash: 00000099981d32f67fd14095150a5bb29f1296a511ff0e15a7cb7029a5f106e5
    curr_hash: 00000060fb2e1d6333a2c08b2a229788881656d6968a79924d238745f0d2ba89
4: 28611 - hello nurse
    prev_hash: 0000009e47511330bea7a9c7e3e162f05442d93e5f880050650d75d7253a4157
    curr_hash: 00000099981d32f67fd14095150a5bb29f1296a511ff0e15a7cb7029a5f106e5
3: 1533876 - A noble spirit embiggens the smallest man
    prev_hash: 000000e0ea4c2006e1b6f9d887838bde150789b44c13fe946453859d42c35e81
    curr_hash: 0000009e47511330bea7a9c7e3e162f05442d93e5f880050650d75d7253a4157
2: 19088254 - buy bitcoin
    prev_hash: 000000a5c04d78f391a6219afb6c324c6fe8b1373ff81686a138a83264e597fb
    curr_hash: 000000e0ea4c2006e1b6f9d887838bde150789b44c13fe946453859d42c35e81
1: 20415823 - Kirstie, the best of wives and best of women.
    prev_hash: 
    curr_hash: 000000a5c04d78f391a6219afb6c324c6fe8b1373ff81686a138a83264e597fb