Spot Connector Developer Checklist - Hummingbot
URL: https://hummingbot.org/developers/connectors/spot-connector-checklist/
Contents:
- Spot Connector v2.1¶
- Prerequisites¶
- API Checklist¶
- Directory Setup¶
- Connector¶
- Tests¶
- Build Process¶
- CONSTANTS¶
- Web Utils¶
- Utils¶
Before proceeding with the setup of the Spot Connector, ensure that you have the Hummingbot source version installed on your system. Follow the detailed installation instructions provided at Hummingbot Installation Guide.
Create connector folder inside hummingbot/hummingbot/connector/exchange called connector_name.
connector_name = the name of the connector in lowercase and separated with underscores if applies.
Example without underscore: binance
Example with underscore: crypto_com
Create the following files inside of the connector folder:
Create test folder dwad inside hummingbot/test/hummingbot/exchange called connector_name.
Create the following files inside of the test folder:
Add to the constant files the following variables
connector_name_order_book.py
For now we will not implement any method, the only purpose of this step because we need to import this class in the connector_name_api_order_book_data_source.py and we don’t want to have errors.
connector_name_api_order_book_data_source.py
test_connector_name_api_order_book_data_source.py
Now we are going to start implementing the functionalities of the Order Book Data source but in a TDD way.
listen_for_subscriptions
listen_for_order_book_diffs
listen_for_order_book_snapshots
connector_name_auth.py
test_connector_name_auth.py
Replace binance for connector_name.
connector_name_api_user_stream_data_source.py
test_connector_name_api_user_stream_data_source.py
Now we are going to start implementing the functionalities of the User Stream Data source but in a TDD way.
If you need Listen Key:
listen_for_user_stream
connector_name_exchange.py
test_connector_name_exchange.py
Replace binance for connector_name.
A lot of tests are already in the Generic test class! But you have to implement some methods to let it work.
trade_event_for_full_fill_websocket_update
Methods to implement of ExchangePyBase
update_time_synchronizer
_user_stream_event_listener
Add connector_name_api_key and connector_name_api_secret to the conf_global_TEMPLATE.yml