input: from typing import List
  
  def create_genesis_block() -> Block:
      """Create the first block in the blockchain, also known as the genesis block.
      The genesis block does not have a previous hash and would typically have a default data.
  
      >>> create_genesis_block().hash == 'some_initial_default_hash'
      True
      """
  
  def next_block(previous_block: Block, data: str) -> Block:
      """Generate the next block in the chain by using the previous block's hash and the given data.
      The new block's previous hash will be the hash of the previous block.
      >>> previous = create_genesis_block()
      >>> block = next_block(previous, 'Sample transaction data')
      >>> block.previous_hash == previous.hash
      True
      """
output:     block = Block()
      block.index = 0
      block.previous_hash = None
      block.data = "Genesis Block"
      block.hash = "some_initial_default_hash"
      return block
  
  def next_block(previous_block: Block, data: str) -> Block:
      block = Block()
      block.index = previous_block.index + 1
      block.previous_hash = previous_block.hash
      block.data = data
      block.hash = hash_block(block)
      return block