input: from typing import List, Dict
  
  def create_basic_blockchain() -> Blockchain:
      """ Create a basic blockchain class that initializes with an empty chain and empty transactions list. 
      The class provides functionalities to create a new block in the chain with a nonce and previous hash, 
      and to generate a hash for a given block. The blockchain has a private method to get the current timestamp.
      
      >>> blockchain = create_basic_blockchain()
      >>> blockchain.chain
      []
      >>> blockchain.transactions
      []
      >>> block = blockchain.create_block(nonce=12345, previous_hash='0')
      >>> block['block_number']
      1
      >>> blockchain.hash_block(block)
      '77ac6c0759ce4e38c9106e5f2e01b6e9040dc1f56efdbbff718ebceec3501a52'
      """
output:     
      class Blockchain:
          def __init__(self):
              self.chain = []
              self.transactions = []
          
          def create_block(self, nonce: int, previous_hash: str) -> Dict:
              block = {
                  'block_number': len(self.chain) + 1,
                  'timestamp': self._get_current_timestamp(),
                  'nonce': nonce,
                  'previous_hash': previous_hash,
                  'transactions': self.transactions
              }
              self.transactions = []
              self.chain.append(block)
              return block
          
          def hash_block(self, block: Dict) -> str:
              block_string = str(block).encode()
              import hashlib
              return hashlib.sha256(block_string).hexdigest()
          
          def _get_current_timestamp(self) -> int:
              import time
              return int(time.time())
      
      return Blockchain()
  