【问题标题】:How to get a list of Coinbase CryptoCurrency Coins如何获取 Coinbase CryptoCurrency 硬币的列表
【发布时间】:2019-06-25 09:00:12
【问题描述】:

我一直在尝试找出一种方法来获取 Coinbase 列出的所有代币的列表(不一定用于交易),但无法弄清楚,在早期,这很容易,你可以做到登录并查看支持的 4 种基本硬币的列表(并且可以在程序和/或脚本中对这些值进行硬编码)。

但现在他们列出了许多代币的清单,据我了解,有些代币无法实际交易,但出于教育目的而列出(如查看此类代币时在他们的网站上所述)。

我想知道是否有人想出了一种方法来获取这些硬币(全部支持并简单列出)可能带有实际支持交易的标签的列表。

我查看了 API 和 REST API(通过 HTTPS 使用简单的 GET 请求或使用 cURL 进行测试)具有以下端点:

curl https://api.coinbase.com/v2/currencies - 这列出了所有法定货币。

和:

curl https://api.pro.coinbase.com/products - 这列出了所有支持的交易对(这不是我要找的......)

除了登录和解析 html 之外有什么想法吗? (这可能会中断,因为网站可以随时重新格式化等)。

任何帮助将不胜感激!

【问题讨论】:

    标签: coinbase-api


    【解决方案1】:

    以下代码:

    import requests
        
    uri = 'https://api.pro.coinbase.com/currencies'
    response = requests.get(uri).json()
    
    for i in range(len(response)):
        if response[i]['details']['type'] == 'crypto':
            print(response[i]['id'])
    

    将提供此输出:

    COTI
    BTC
    ETH
    LTC
    BCH
    ZEC
    XTZ
    XRP
    XLM
    EOS
    ALGO
    DASH
    ATOM
    CGLD
    FIL
    ADA
    ICP
    SOL
    DOT
    DOGE
    OXT
    KNC
    MIR
    REP
    COMP
    NMR
    ACH
    BAND
    ZRX
    BAT
    LOOM
    UNI
    YFI
    LRC
    CVC
    DNT
    MANA
    GNT
    REN
    LINK
    BAL
    ETC
    USDC
    RLC
    DAI
    WBTC
    NU
    AAVE
    SNX
    BNT
    GRT
    SUSHI
    MLN
    ANKR
    CRV
    STORJ
    SKL
    AMP
    1INCH
    ENJ
    NKN
    OGN
    FORTH
    GTC
    TRB
    CTSI
    MKR
    UMA
    USDT
    CHZ
    SHIB
    BOND
    LPT
    QNT
    KEEP
    CLV
    MASK
    MATIC
    OMG
    POLY
    FARM
    FET
    PAX
    RLY
    PLA
    RAI
    IOTX
    ORN
    AXS
    QUICK
    TRIBE
    UST
    REQ
    TRU
    WLUNA
    

    【讨论】:

    • 有没有办法为 Coinbase(不是 Coinbase Pro)做到这一点?
    【解决方案2】:

    我不确定这是否是您想要的响应。我首先使用了您列出的第一个 URL... 来自该 URL 的响应看起来好像没有可用的硬币。然后我尝试了下面的 URL,响应中确实列出了很多货币。您可以通过加载 JSON 并查找您想要的字段来解析它。

    另外,我没有看到与您的问题一起发布的语言。我在下面使用python3。如果您是 Linux 人员,您也可以从命令行使用 curl GET。语言无关紧要...您只需要对该 URL 发出 GET 请求并根据您认为合适的方式解析响应。

    要获取 1 个特定字段,您可以使用 response['data']['rates']['BTC'] 之类的行从响应/JSON 字符串中提取“0.00029200”。

    >>> r = requests.get("https://api.coinbase.com/v2/exchange-rates")
    >>> response = json.loads(r.text)
    >>> pprint.pprint(response)
    {'data': {'currency': 'USD',
              'rates': {'AED': '3.67',
                        'AFN': '75.22',
                        'ALL': '108.84',
                        'AMD': '487.59',
                        'ANG': '1.79',
                        'AOA': '311.37',
                        'ARS': '37.32',
                        'AUD': '1.38',
                        'AWG': '1.80',
                        'AZN': '1.70',
                        'BAM': '1.71',
                        'BAT': '9.00418244',
                        'BBD': '2.00',
                        'BCH': '0.00879160',
                        'BDT': '83.80',
                        'BGN': '1.71',
                        'BHD': '0.377',
                        'BIF': '1824',
                        'BMD': '1.00',
                        'BND': '1.58',
                        'BOB': '6.90',
                        'BRL': '3.65',
                        'BSD': '1.00',
                        'BTC': '0.00029200',
                        'BTN': '71.11',
                        'BWP': '10.41',
                        'BYN': '2.15',
                        'BYR': '21495',
                        'BZD': '2.02',
                        'CAD': '1.31',
                        'CDF': '1631.00',
                        'CHF': '0.99',
                        'CLF': '0.0242',
                        'CLP': '656',
                        'CNH': '6.71',
                        'CNY': '6.70',
                        'COP': '3174.95',
                        'CRC': '608.98',
                        'CUC': '1.00',
                        'CVE': '96.90',
                        'CZK': '22.50',
                        'DJF': '178',
                        'DKK': '6.52',
                        'DOP': '50.44',
                        'DZD': '118.30',
                        'EEK': '14.61',
                        'EGP': '17.68',
                        'ERN': '15.00',
                        'ETB': '28.52',
                        'ETC': '0.25542784',
                        'ETH': '0.00944599',
                        'EUR': '0.87',
                        'FJD': '2.10',
                        'FKP': '0.76',
                        'GBP': '0.76',
                        'GEL': '2.66',
                        'GGP': '0.76',
                        'GHS': '4.98',
                        'GIP': '0.76',
                        'GMD': '49.52',
                        'GNF': '9210',
                        'GTQ': '7.74',
                        'GYD': '208.55',
                        'HKD': '7.85',
                        'HNL': '24.49',
                        'HRK': '6.49',
                        'HTG': '78.37',
                        'HUF': '276',
                        'IDR': '13940.00',
                        'ILS': '3.63',
                        'IMP': '0.76',
                        'INR': '70.93',
                        'IQD': '1190.000',
                        'ISK': '120',
                        'JEP': '0.76',
                        'JMD': '132.72',
                        'JOD': '0.710',
                        'JPY': '109',
                        'KES': '100.60',
                        'KGS': '68.70',
                        'KHR': '4015.00',
                        'KMF': '429',
                        'KRW': '1114',
                        'KWD': '0.303',
                        'KYD': '0.83',
                        'KZT': '380.63',
                        'LAK': '8559.50',
                        'LBP': '1511.15',
                        'LKR': '178.40',
                        'LRD': '160.75',
                        'LSL': '13.53',
                        'LTC': '0.03208728',
                        'LTL': '3.22',
                        'LVL': '0.66',
                        'LYD': '1.385',
                        'MAD': '9.53',
                        'MDL': '17.05',
                        'MGA': '3465.0',
                        'MKD': '53.78',
                        'MMK': '1519.04',
                        'MNT': '2453.75',
                        'MOP': '8.08',
                        'MRO': '357.0',
                        'MTL': '0.68',
                        'MUR': '34.23',
                        'MVR': '15.49',
                        'MWK': '728.47',
                        'MXN': '19.14',
                        'MYR': '4.10',
                        'MZN': '61.87',
                        'NAD': '13.53',
                        'NGN': '361.50',
                        'NIO': '32.60',
                        'NOK': '8.43',
                        'NPR': '113.78',
                        'NZD': '1.45',
                        'OMR': '0.385',
                        'PAB': '1.00',
                        'PEN': '3.33',
                        'PGK': '3.36',
                        'PHP': '52.13',
                        'PKR': '139.30',
                        'PLN': '3.73',
                        'PYG': '6084',
                        'QAR': '3.64',
                        'RON': '4.14',
                        'RSD': '103.53',
                        'RUB': '65.47',
                        'RWF': '886',
                        'SAR': '3.75',
                        'SBD': '8.06',
                        'SCR': '13.67',
                        'SEK': '9.05',
                        'SGD': '1.35',
                        'SHP': '0.76',
                        'SLL': '8390.00',
                        'SOS': '582.00',
                        'SRD': '7.46',
                        'SSP': '130.26',
                        'STD': '21050.60',
                        'SVC': '8.75',
                        'SZL': '13.52',
                        'THB': '31.23',
                        'TJS': '9.43',
                        'TMT': '3.50',
                        'TND': '2.968',
                        'TOP': '2.26',
                        'TRY': '5.18',
                        'TTD': '6.77',
                        'TWD': '30.72',
                        'TZS': '2317.00',
                        'UAH': '27.70',
                        'UGX': '3670',
                        'USD': '1.00',
                        'USDC': '1.000000',
                        'UYU': '32.58',
                        'UZS': '8380.00',
                        'VEF': '248487.64',
                        'VND': '23287',
                        'VUV': '111',
                        'WST': '2.60',
                        'XAF': '573',
                        'XAG': '0',
                        'XAU': '0',
                        'XCD': '2.70',
                        'XDR': '1',
                        'XOF': '573',
                        'XPD': '0',
                        'XPF': '104',
                        'XPT': '0',
                        'YER': '250.30',
                        'ZAR': '13.27',
                        'ZEC': '0.02056344',
                        'ZMK': '5253.08',
                        'ZMW': '11.94',
                        'ZRX': '4.04721481',
                        'ZWL': '322.36'}}}
    

    【讨论】:

    • 哦,这是语言的一个好点!我很抱歉我没有把它放在 OP 中,我会更新它以显示这一点。我只是通过 HTTPS 使用简单的 GET 请求。我忘记了汇率端点,但它不是我正在寻找的,我想尝试获取 just 可作为列表的加密硬币的列表(不一定支持交易)。最终这可能是目前不可能的,可能是对 Coinbase 本身的 API 更新的请求......
    • 我想我会接受这个作为答案,因为它确实列出了所有的硬币。最终的解决方案是加载所有货币(法定货币),然后与汇率进行比较以获得硬币列表。就目前而言,无法确定官方支持哪些代币。不过,这暂时可以。谢谢!
    • 好的...数据可能在某处...值得查看开发站点上列出的不同 API 端点/URL
    • 如果你只想要加密货币,为什么不从上面提供的费率字典中只提取“密钥”?编辑:没关系,这不是你想要的......;)
    【解决方案3】:

    也许不是你问的,但你也可以使用https://api.pro.coinbase.com/currencies

    import requests
    import json
    
    uri = 'https://api.pro.coinbase.com/currencies'
    response = requests.get(uri).json()
    
    for i in range(len(response)):
        if response[i]['details']['type'] == 'crypto':
            print(response[i]['id])
    

    这将返回可用于交易的硬币。

    【讨论】:

      猜你喜欢
      • 2022-01-14
      • 2020-09-29
      • 1970-01-01
      • 2021-08-02
      • 1970-01-01
      • 1970-01-01
      • 2021-11-21
      • 2022-01-13
      相关资源
      最近更新 更多