BlockchainCommons/spotbit

Configuration API call needs to return more specific information about which servers it uses for which currencies.

wolfmcnally opened this issue · 0 comments

SpotBit's /configure API call returns two lists of exchanges, cached exchanges and on demand exchanges. The documentation does not make it clear what the actual difference is between these types of exchanges, or how each exchange relates to the list of currencies it supports. Here is the output of http://h6zwwkcivy2hjys6xpinlnz2f74dsmvltzsd4xb42vinhlcaoe7fdeqd.onion/configure as of 2021-01-21:

{
	"cached exchanges": ["gemini", "bitstamp", "okcoin", "coinbasepro", "kraken", "bitfinex", "bitflyer", "liquid", "coincheck", "bitbank", "zaif", "hitbtc", "binance", "okex", "gateio", "bitmax"],
	"currencies": ["USD", "GBP", "JPY", "USDT", "EUR"],
	"interval": 10,
	"keepWeeks": 3,
	"on demand exchanges": ["acx", "aofex", "bequant", "bibox", "bigone", "binance", "bitbank", "bitbay", "bitfinex", "bitflyer", "bitforex", "bithumb", "bitkk", "bitmax", "bitstamp", "bittrex", "bitz", "bl3p", "bleutrade", "braziliex", "btcalpha", "btcbox", "btcmarkets", "btctradeua", "bw", "bybit", "bytetrade", "cex", "chilebit", "coinbase", "coinbasepro", "coincheck", "coinegg", "coinex", "coinfalcon", "coinfloor", "coinmate", "coinone", "crex24", "currencycom", "digifinex", "dsx", "eterbase", "exmo", "exx", "foxbit", "ftx", "gateio", "gemini", "hbtc", "hitbtc", "hollaex", "huobipro", "ice3x", "independentreserve", "indodax", "itbit", "kraken", "kucoin", "lakebtc", "latoken", "lbank", "liquid", "livecoin", "luno", "lykke", "mercado", "oceanex", "okcoin", "okex", "paymium", "poloniex", "probit", "southxchange", "stex", "surbitcoin", "therock", "tidebit", "tidex", "upbit", "vbtc", "wavesexchange", "whitebit", "yobit", "zaif", "zb"],
	"updated settings?": "no"
}

The actual SpotBit Docs say:

For each of the listed fiat currencies, there is a list of five exchanges that will be used to average data for the /now/CURRENCY endpoint. They have been selected based on volume rankings and coinmarketcap's confidence rating. In order to stick with exchanges supported by ccxt, some candidates were excluded (such as btse). These exchanges should all be listed in the exchanges field of spotbit.config in order to ensure spotbit runs as smoothly as possible. The default config will include these values for you.

It goes on to list the standard configuration:

  • USD
    • coinbasepro
    • hitbtc
    • bitfinex
    • kraken
    • bitstamp
  • GBP
    • coinbasepro
    • coinsbank
    • bitstamp
    • kraken
    • cexio
  • EUR
    • kraken
    • coinbasepro
    • bitfinex
    • bitstamp
    • indoex
  • JPY
    • bitflyer
    • liquid
    • coincheck
    • bitbank
    • zaif
  • USDT
    • binance
    • okex
    • huobipro
    • bitmax
    • gateio

Which five exchanges are used for each currency is not provided by the results of the /configure call, however, and having to hard-code this list into applications is not an acceptable alternative since it can be configured on a per-server basis.

Expected result: SpotBit should return which servers are supported for which currencies in a way application developers can use.