如何获取 Coinbase CryptoCurrency 硬币列表

How to get a list of Coinbase CryptoCurrency Coins

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

但是现在他们列出了很多硬币的列表,据我所知,有些不能用于实际交易,但出于教育目的列出(如查看此类硬币时在他们的网站上所述)。

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

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

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

和:

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

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

如有任何帮助,我们将不胜感激!

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

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

要获得 1 个特定字段,您可以使用像 response['data']['rates']['BTC'] 这样的行从 response/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'}}}

也许不是你问的那样,但你也可以使用 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])

这将 return 个可用于交易的硬币。

以下代码:

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

你可以使用 curl -X GET https://api.exchange.coinbase.com/products

参考 https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_getproducts