Building a new connector to my exchange

Hello, I am developing our own exchange connector with hummingbot . I have read the docs and everything and I have seen the examples but I am still confused with what I am supposed to do or from where to start, also how can I debug what I am doing inside of hummingbot and make my exchange available as a connector to see if everything is working?

Also our exchange is based on Javascript SDK, is it possible to download and dockerize it every time someone uses our bot? if not, then IU just need guidance the examples looks kinda the same to me for example do I have to provide the same code in the examples ? or just the files you guys asked me and you are going to do something about them to make them look exactly like the examples?

I know those might be beginner questions but I want to develop one and if there is someone who can point me to the right direction whether someone who has developed their own connector or someone from hummingbot would be great, Thanks a lot.

Hi @Mostafa, have you gone through this page?

https://docs.hummingbot.io/developers/connectors/

To get started developing, you should install Hummingbot from source (git clone) so that you can set up your development environment. To build a connector to your exchange, you’ll need to create a new folder and new connector files here (https://github.com/CoinAlpha/hummingbot/tree/master/hummingbot/market).

If you have changed the code, you will need to compile the new code and run Hummingbot, and you can test it.

Creating a new exchange connector means you need to map out your exchange’s APIs to Hummingbot. It doesn’t matter that your exchange is Javascript SDK, since Hummingbot will just need to interface with the external APIs.

Creating a connector can be split up into these 3 major tasks:

  1. Data Source & Orderbook Tracker
  2. Active Order Tracker & User stream tracker(if applicable)
  3. Market Connector itself

We should suggest starting with #1 first, testing, before proceeding to the others.

Hope this helps.