def file_list_hosts( blockchain_id, wallet_keys=None, config_path=CONFIG_PATH ):
    """
    Given a blockchain ID, find out the hosts the blockchain ID owner has registered keys for.
    Return {'status': True, 'hosts': hostnames} on success
    Return {'error': ...} on failure
    """
    config_dir = os.path.dirname(config_path)
    try:
        ret = blockstack_gpg.gpg_list_app_keys( blockchain_id, APP_NAME, wallet_keys=wallet_keys, config_dir=config_dir )
    except Exception, e:
        ret = {'error': traceback.format_exc(e)}

    if 'error' in ret:
        log.error("Failed to list app keys: %s" % ret['error'])
        return {'error': 'Failed to list app keys'}

    hosts = []
    for key_info in ret:
        hostname = key_info['keyName']
        hosts.append(hostname)

    return {'status': True, 'hosts': hosts}