/
Launch Hummingbot Miner

Activate Debug Console

How to activate debug console


The Debug Console

The debug console is a powerful tool for Hummingbot developers to inspect and modify the live states in Hummingbot while it's running. It gives access to a live Python console living in the same process as Hummingbot. It can be thought of as similar to the developer console found in most modern browsers.

Activating the Debug Console

The debug console is disabled by default. You need to enable it by setting debug_console: true in conf/conf_global.yml.

Enabling debug console in global config

Entering the Debug Console

When you start Hummingbot with debug console enabled, it will print out a "Started debug console" log message at start.

Started debug console logm essage

NOTE:
The port number printed in the debug message (port 8211 in the example above), you can use telnet or nc to access the debug console by connecting to the TCP port described in the log message.

Entering the debug console

Accessing Python Modules and Exposed Objects

Once you've entered the debug console, you have access to a fully featured Python interpreter living in the Hummingbot process.

You can access all the exposed properties under the HummingbotApplication class via the hb object.

Here are some of the exposed properties you can access from the debug console:

  • hb.strategy: The currently active strategy object
  • hb.markets: A dictionary of active market connectors
  • hb.acct: The currently active Ethereum wallet object
  • hb.clock: The clock object that's driving all the Hummingbot components

Some exposed variables under 'hb'

Sample Ways to Use the Console

Below is an example where a developer queries the currently active bids/asks under the strategy, and the current best ask price on Binance.

Example

You should refer to the source code of the exposed objects to see what properties you can inspect and modify inside the debug console.

Activating debug console with docker

First, you have to enable the debugging feature on the bot you are running by editing conf_global.yml and setting the debug_console parameter to true; you can do this with

nano {botinstallationfolder}/hummingbot_conf/conf_global.yml .

Save the file with "ctrl + o" then press enter, exit the file with "ctrl + x"

Now you will need to enter your docker's root with bash terminal capabilities to execute a command.

docker exec -u 0 -it CONTAINTERNAME bash

Now that you are inside the docker's root, you have to run unminimize command for the system to decompress, enabling you to install packages.

The system will prompt you to install necessary packages for decompression and answer Y for yes. When essential packages are installed, input command

apt-get install telnet to install telnet package.

Now you may connect to telnet the usual way with telnet localhost 8211

Developer Notes

Edit on GitHub