Skip to content

Commit

Permalink
fix: include merkle_root in natural order
Browse files Browse the repository at this point in the history
  • Loading branch information
15IITian committed Apr 27, 2024
1 parent 9794b9b commit 6b94f10
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 5 deletions.
30 changes: 26 additions & 4 deletions Block.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ def serialize_blockheader(self):
result = int_to_little_endian(self.version, 4)
# prev_block - 32 bytes, little endian
result += self.prev_block[::-1]
# merkle_root - 32 bytes, little endian
result += self.merkle_root[::-1]
# merkle_root - 32 bytes, little endian -> require it in natural order in grader
result += self.merkle_root
# timestamp - 4 bytes, little endian
result += int_to_little_endian(self.timestamp, 4)
# bits - 4 bytes
Expand Down Expand Up @@ -90,7 +90,7 @@ def create_block(cls, tx_files):
# we assume that the tx_files are in sorted in fee_rate

version = 803823616
timestamp = 1714064564
timestamp = 1714214394

prev_block= "000000000000000000030ed9d2b8643c4c1d8519f34fbecaf150136e20ee183f"
prev_block_in_bytes= bytes.fromhex(prev_block)
Expand Down Expand Up @@ -151,10 +151,32 @@ def create_block(cls, tx_files):
# now print the required block details in the output.txt

# print the serliased block header
print(valid_block.serialize_blockheader())
serliased= valid_block.serialize_blockheader()
print(serliased)







# print("merkle root : \n {}".format(valid_block.merkle_root.hex()))
# print(serliased)
# serliased_in_bytes= bytes.fromhex(serliased)


# desired_slice = serliased_in_bytes[36:68].hex()
# print(desired_slice)
# print(desired_slice == valid_block.merkle_root.hex())
# print("{} {} {} {} {} {} ".format(valid_block.version,(valid_block.prev_block).hex(),(valid_block.merkle_root).hex(),valid_block.timestamp,(valid_block.bits).hex(),valid_block.nonce))

# print("block hash: {}".format(valid_block.hash()))






# serliased coinbase transaction
print(serliased_coinbase_tx)

Expand Down
Binary file modified __pycache__/Block.cpython-311.pyc
Binary file not shown.
2 changes: 1 addition & 1 deletion output.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
0060e92f3f18ee206e1350f1cabe4ff319851d4c3c64b8d2d90e03000000000000000000d40eb0df1c5945f0059bfb300ab3d2f2064ad229f15aaac08d9f7c6896d0a395b48c2a66ffff001f627f0100
0060e92f3f18ee206e1350f1cabe4ff319851d4c3c64b8d2d90e0300000000000000000095a3d096687c9f8dc0aa5af129d24a06f2d2b30a30fb9b05f045591cdfb00ed4fad52c66ffff001f974d0000
010000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff11030cd3bf0c004f4345414e2e58595a002effffffff02e412bf13000000001976a9142c30a6aaac6d96687291475d7d52f4b469f665a688ac0000000000000000266a24aa21a9ed07528e9068d79f4fa737ce2b8cdea09f1b9c3c7a588948ff29e9d29d9a9cb2ef0120000000000000000000000000000000000000000000000000000000000000000000000000
dcd522b3588c7adb0418454539e1a929fff936f211e5a20383fdcbc3ad8751b9
423c61f1ec58b9400a373e1052c26debdd5d55eb0057900c3dcf41f54762486c
Expand Down

0 comments on commit 6b94f10

Please sign in to comment.