def get_assets():
    results = []
    
    # Get all assets active the last 24h.
    markets = bitshares_es_client.get_markets('now-1d', 'now', quote=config.CORE_ASSET_ID)
    bts_volume = 0.0 # BTS volume is the sum of all the others.
    for asset_id in itertools.chain(markets.keys(), [config.CORE_ASSET_ID]):
        asset = get_asset_and_volume(asset_id)
        holders_count = get_asset_holders_count(asset_id)
        bts_volume += float(asset['volume'])
        results.append({
            'asset_name': asset['symbol'], # asset name
            'asset_id': asset_id, # asset id
            'latest_price': asset['latest_price'], # price in bts
            '24h_volume': float(asset['volume']) if asset_id != config.CORE_ASSET_ID else bts_volume, # 24h volume
            #float(markets[asset_id][config.CORE_ASSET_ID]['volume']), # 24h volume (from ES) / should be divided by core asset precision
            'market_cap': asset['mcap'], # market cap
            'asset_type': _get_asset_type(asset), # type: Core Asset / Smart Asset / User Issued Asset
            'current_supply': int(asset['current_supply']), # Supply
            'holders_count': holders_count, #Number of holders
            'precision': asset['precision'] # Asset precision
        })

    results.sort(key=lambda a : -a['24h_volume']) # sort by volume
    return results
def get_most_active_markets():
    markets = bitshares_es_client.get_markets('now-1d', 'now')

    flatten_markets = []
    for (base, quotes) in markets.items():
        for (quote, data) in quotes.items():
            flatten_markets.append({
                'base': base,
                'quote': quote,
                'volume': data['volume'],
                'nb_operations': data['nb_operations']
            })
    flatten_markets.sort(key=lambda m: -m['nb_operations'])

    top_markets = flatten_markets[:100]

    results = []
    for m in top_markets:
        base_asset = get_asset(m['base'])
        quote_asset = get_asset(m['quote'])
        ticker = get_ticker(m['base'], m['quote'])
        latest_price = float(ticker['latest'])
        results.append({
            'pair':  '{}/{}'.format(quote_asset['symbol'], base_asset['symbol']),
            'latest_price': latest_price,
            '24h_volume': m['volume'] / 10**quote_asset['precision'],
            'quote_id': m['quote'],
            'base_id': m['base']
        })   
    
    return results
Beispiel #3
0
def get_assets():
    results = []

    # Get all assets active the last 24h.
    markets = bitshares_es_client.get_markets('now-1d',
                                              'now',
                                              quote=config.CORE_ASSET_ID)
    bts_volume = 0.0  # BTS volume is the sum of all the others.
    for asset_id in itertools.chain(markets.keys(), [config.CORE_ASSET_ID]):
        asset = get_asset_and_volume(asset_id)[0]
        holders_count = get_asset_holders_count(asset_id)
        bts_volume += float(asset['volume'])
        results.append([
            None,  # db id (legacy, no purpose)
            asset['symbol'],  # asset name
            asset_id,  # asset id
            asset['latest_price'],  # price in bts
            float(asset['volume'])
            if asset_id != config.CORE_ASSET_ID else bts_volume,  # 24h volume
            #float(markets[asset_id][config.CORE_ASSET_ID]['volume']), # 24h volume (from ES) / should be divided by core asset precision
            asset['mcap'],  # market cap
            _get_asset_type(
                asset),  # type: Core Asset / Smart Asset / User Issued Asset
            int(asset['current_supply']),  # Supply
            holders_count,  #Number of holders
            '',  # Wallet Type (useless value)
            asset['precision']  # Asset precision
        ])

    results.sort(key=lambda a: -a[4])  # sort by volume
    return results
Beispiel #4
0
def _get_market_pairs():
    markets = bitshares_es_client.get_markets('now-1d', 'now')
    result = []
    for base_id, quotes in markets.items():
        base = api.explorer._get_asset(base_id)['symbol']
        for quote_id, _ in quotes.items():
            quote = api.explorer._get_asset(quote_id)['symbol']
            result.append((base, quote))
    return result
def _get_markets(asset_id):
    markets = bitshares_es_client.get_markets('now-1d', 'now', quote=asset_id)

    results = []
    for (base_id, quotes) in markets.items():
        base_asset = get_asset(base_id)
        for (quote_id, data) in quotes.items():
            quote_asset = get_asset(quote_id)
            ticker = get_ticker(base_id, quote_id)
            latest_price = float(ticker['latest'])
            results.append({
                'pair': '{}/{}'.format(quote_asset['symbol'], base_asset['symbol']),
                'latest_price': latest_price,
                '24h_volume': data['volume'] / 10**quote_asset['precision'],
                'quote_id': quote_id,
                'base_id': base_id
            })

    return results
Beispiel #6
0
def _get_markets(asset_id):
    markets = bitshares_es_client.get_markets('now-1d', 'now', quote=asset_id)

    results = []
    for (base_id, quotes) in markets.items():
        base_asset = _get_asset(base_id)
        for (quote_id, data) in quotes.items():
            quote_asset = _get_asset(quote_id)
            ticker = get_ticker(base_id, quote_id)
            latest_price = float(ticker['latest'])
            results.append([
                0,  # db_id
                '{}/{}'.format(quote_asset['symbol'],
                               base_asset['symbol']),  # pair
                0,  # quote_asset_db_id
                latest_price,  # price
                data['volume'] / 10**quote_asset['precision'],  # volume
                quote_id  # quote_id
            ])

    return results