input: Write a python function to create and add a block to a blockchain.
  assert len(blockchain.chain) == 1
  assert blockchain.chain[0].index == 0
  assert blockchain.chain[0].data == 'Genesis Block'
  assert blockchain.chain[0].previous_hash == None
output: import hashlib
  import time
  
  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.calculate_hash()
  
      def calculate_hash(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()
  
  class Blockchain:
      def __init__(self):
          self.chain = [self.create_genesis_block()]
  
      def create_genesis_block(self):
          return Block(0, time.time(), "Genesis Block", None)
  
      def get_latest_block(self):
          return self.chain[-1]
  
      def add_block(self, new_data):
          latest_block = self.get_latest_block()
          new_block = Block(latest_block.index + 1, time.time(), new_data, latest_block.hash)
          self.chain.append(new_block)