code: def guess_currency_from_address(address):
      
      if is_py2:
          fixer = lambda x: int(x.encode('hex'), 16)
      else:
          fixer = lambda x: x # does nothing
  
      first_byte = fixer(b58decode_check(address)[0])
      double_first_byte = fixer(b58decode_check(address)[:2])
  
      hits = []
      for currency, data in crypto_data.items():
          if hasattr(data, 'get'): # skip incomplete data listings
              version = data.get('address_version_byte', None)
              if version is not None and version in [double_first_byte, first_byte]:
                  hits.append([currency, data['name']])
  
      if hits:
          return hits
  
      raise ValueError("Unknown Currency with first byte: %s" % first_byte)
docs: Given a crypto address, find which currency it likely belongs to.
      Raises an exception if it can't find a match. Raises exception if address
      is invalid.