如何获取 Coinbase CryptoCurrency 硬币的列表

Posted

技术标签:

【中文标题】如何获取 Coinbase CryptoCurrency 硬币的列表【英文标题】:How to get a list of Coinbase CryptoCurrency Coins 【发布时间】: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 之外有什么想法吗? (这可能会中断,因为网站可以随时重新格式化等)。

任何帮助将不胜感激!

【问题讨论】:

【参考方案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])

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

【讨论】:

以上是关于如何获取 Coinbase CryptoCurrency 硬币的列表的主要内容,如果未能解决你的问题,请参考以下文章

如何使用NodeJS coinbase pro api从主体密钥获取价格

Coinbase API:如何获取所有受支持硬币的现货价格

安装 metamask 和 coinbase chrome 扩展时如何获取 metamask 以太坊对象?

Coinbase Pro 费用和总额

如何修复 react app 和 coinbase connect api 上的 cors 错误

Coinbase Python API 上的分页