input: 
  import hashlib
  import json
  
  class Block:
   def __init__(self, index, timestamp, data, previous_hash):
   self.index = index
   self.timestamp = timestamp
   self.data = data
   self.previous_hash = previous_hash
   self.hash = self.hash_block()
  
   def hash_block(self):
   sha = hashlib.sha256()
   sha.update((str(self.index) + 
   str(self.timestamp) + 
   str(self.data) + 
   str(self.previous_hash)).encode('utf-8'))
   return sha.hexdigest()
  
  def create_blockchain():
   blockchain = [create_genesis_block()]
   previous_block = blockchain[0]
  
   for i in range(1, len(blockchain_transactions)):
   block_to_add = next_block(previous_block, blockchain_transactions[i])
   blockchain.append(block_to_add)
   previous_block = block_to_add
  
  def print_blockchain():
   for block in blockchain:
   block_index = str(block.index)
   block_timestamp = str(block.timestamp)
   block_data = str(block.data)
   block_hash = block.hash
  
  
  这个函数应该做什么？请明确描述，并给出测试用例及输出。
output:     print(f"Block {block_index} has been added to the blockchain!")
      print(f"Timestamp: {block_timestamp}")
      print(f"Data: {block_data}")
      print(f"Hash: {block_hash}\n")
  
  blockchain_transactions = [
      {"sender": "Alice", "receiver": "Bob", "amount": 10},
      {"sender": "Bob", "receiver": "Charlie", "amount": 5},
      {"sender": "Charlie", "receiver": "Alice", "amount": 3}
  ]
  
  def create_genesis_block():
      return Block(0, "01/01/2023", "Genesis Block", "0")
  
  def next_block(last_block, data):
      this_index = last_block.index + 1
      this_timestamp = "02/01/2023"
      this_data = json.dumps(data)
      this_hash = last_block.hash
      return Block(this_index, this_timestamp, this_data, this_hash)
  
  create_blockchain()
  print_blockchain()