ExchangeUnion / market-maker-bot

MM Bot for OpenDEX. Make profits via arbitrage between OpenDEX and a connected CEX account like Binance 🤖
GNU Affero General Public License v3.0
104 stars 20 forks source link

Support multiple exchanges #1

Open xVETTEx opened 4 years ago

xVETTEx commented 4 years ago

If there is plans to add support to more exchanges than Binance, I think it would be good idea to use CCXT api to access exchanges instead of direct api. This would make it very easy to add support to other exchanges. What do you think about using CCXT?

Also I'm interested to make implementation about this.

erkarl commented 4 years ago

If there is plans to add support to more exchanges than Binance

Yes, there is.

I think it would be good idea to use CCXT api to access exchanges instead of direct api. This would make it very easy to add support to other exchanges. What do you think about using CCXT?

I did consider it when doing the initial implementation, but for some reason chose not to go that route. Can't remember the specific reason - let me look into CCXT again and come back to you.

Also I'm interested to make implementation about this.

The focus right now is to get the main exchange agnostic business logic rock solid and then add more exchanges. I'll create several issues in the coming days if you're interest in contributing.

Thanks again for getting this discussion started.

kilrau commented 4 years ago

Very good point @xVETTEx ! Let's check if https://github.com/ccxt/ccxt/blob/master/js/binance.js supports everything we need from Binance and if so, it shouldn't be an issue switching. @erkarl

The focus right now is to get the main exchange agnostic business logic rock solid and then add more exchanges. I'll create several issues in the coming days if you're interest in contributing.

Agreed.

erkarl commented 4 years ago

If we decide to go this route I'd consider making xud CCXT compatible first: https://github.com/ExchangeUnion/xud/issues/707

kilrau commented 4 years ago

If we decide to go this route I'd consider making xud CCXT compatible first: ExchangeUnion/xud#707

Why so? I believe this is independent and making arby use ccxt now will save us a lot of work going forward. (PS: Binance is among the officially "ccxt certified" exchanges: https://ccxt.readthedocs.io/en/latest/exchanges.html)

Why not let @xVETTEx give it a shot, while we take care of the business logic?

kilrau commented 4 years ago

https://github.com/ExchangeUnion/xud/issues/707 only applies to the use case: traders using some existing trading terminals to connect to xud for trading. It's something we definitely want to support in future, but limiting anything in regards to arby.

erkarl commented 4 years ago

Why so? I believe this is independent and making arby use ccxt now will save us a lot of work going forward. (PS: Binance is among the officially "ccxt certified" exchanges: https://ccxt.readthedocs.io/en/latest/exchanges.html)

Arby's codebase wise it would be cleaner/better if all the existing exchanges used CCXT. If adding CCXT to xud is not something we want to do in the near future then we can also make it happen with xud being the special snowflake and the rest of the exchanges using CCXT.

erkarl commented 4 years ago

@xVETTEx are you still up for this task?

xVETTEx commented 4 years ago

@erkarl yes, I'll first add xud to ccxt, then create PR for this.

kilrau commented 4 years ago

Sorry for the confusion @xVETTEx , we want to prio this CCXT issue here.

Making arby natively use ccxt to connect to exchanges immediately gives us compatibility with our 3 most wanted exchanges (which are ccxt certifified on top):

  1. Binance
  2. Bitfinex
  3. Kraken
erkarl commented 4 years ago

Alright, so the first step is to convert existing arby Binance code to use CCXT. Sounds good @xVETTEx?

kilrau commented 4 years ago

Do we have a status update here?

hatmer commented 4 years ago

I am a bit blocked by my lack of understanding of how Arby works. If xVETTEx returns and is interested perhaps he would be interested, or if it would be a simple task for Karl, then that might be more efficient. Otherwise I will keep at it.