/
Launch Hummingbot Miner

Installation


What is Hummingbot Gateway?

Gateway is a API server that allows Hummingbot to connect to protocols that are used in the amm-arb strategy and other future strategies.

TIP:
It is best to use Hummingbot docker build when using Gateway, you can check  here for installation.

Create SSL Certificates

  1. Run the command generate_certs in the Hummingbot client
  2. Enter a passphrase to be used later during installation

NOTE:
It's not recommended to use the same password as the Hummingbot instance.

Install Gateway via Docker

NOTE:
Only use gateway installation through docker when using hummingbot docker build.
  1. Take note of the absolute path where your Hummingbot files are stored. You can run the command pwd from the terminal while inside the folder.
  2. Copy and paste the following commands to your terminal:

Mac

curl https://raw.githubusercontent.com/CoinAlpha/hummingbot/development/installation/docker-commands/create-gateway.sh -o create-gateway.sh
curl https://raw.githubusercontent.com/CoinAlpha/hummingbot/development/installation/docker-commands/update-gateway.sh -o update-gateway.sh
chmod a+x *.sh
./create-gateway.sh

Linux

wget https://raw.githubusercontent.com/CoinAlpha/hummingbot/development/installation/docker-commands/create-gateway.sh
wget https://raw.githubusercontent.com/CoinAlpha/hummingbot/development/installation/docker-commands/update-gateway.sh
chmod a+x *.sh
./create-gateway.sh

It downloads the scripts from GitHub, sets their correct permission and runs the create-gateway script.

  1. Answer each prompt, review the summary and enter Y to proceed with the installation.

NOTE:
When creating a Gateway instance for Ethereum protocol connectors such as  Balancer,  Uniswap, and  Perpetual Finance the script picks up the settings from your global config file (conf_global.yml). Make sure to connect them first from the Hummingbot client before installing Gateway.

By default, Gateway will install on port 5000 which Hummingbot will connect to. If the default port is not available, Gateway will find the next port number.

  1. The file gateway.env is created where your Gateway settings are saved.

Configure Port Number (Optional)

In case the port number used by Gateway is not set to the default value of 5000, make sure to set the gateway_api_port in the Hummingbot client to match the same port number.

  1. Run command config gateway_api_port in the Hummingbot client
  2. Enter the port number indicated when Gateway was created

Update Gateway via Docker

To update the docker container, run the update-gateway.sh script and and follow the prompt instructions. The update script allows you to stop and delete the running instance, and update the docker image if it is not the latest. Upon completion, it will automatically execute the create-gateway.sh script to create a new Gateway container instance.

Install Gateway via source

NOTE:
Only use gateway installation through source when using hummingbot source build.

Prerequisites

Installation applies to Windows, Linux or macOS

  1. NodeJS - visit this page to download and install.
  • Tested versions v10.22.0, v10.22.1 and v10.23.1.
# to check your current version
node -v

TIP:
You can install  nvm to manage and use different node versions on the same system.
  1. Yarn - its required for node package installations.
# to install yarn
npm install yarn
  • Tested versions v1.22.5 and v1.22.10

Setup

Steps for setting up gateway-api

# clone the repo
git clone https://github.com/CoinAlpha/gateway-api
# open directory
cd gateway-api
# install npm packages
yarn install

# copy sample environment
cp .env.example .env

  • Edit .env file with your favorite text editor then save changes.
  • There are 3 ways to start the gateway
# run dev mode with hot reload on code changes
yarn run dev
# run debug mode with additional route debug logging
yarn run debug
# run prod mode
yarn run start

Setting up Kovan testnet

This guide will help you setup gateway-api instance for Kovan testnet. This will help you run some test to AMM_Arbitrage strategy without risking your funds.

You must have set your ETH wallet to Kovan test network, for metamask you can click the Ethereum Mainnet and select Kovan Test Network. To get test assets, you can go to https://gitter.im/kovan-testnet/faucet and login your github account. Provide your ETH wallet address.

TIP:
Assets sent to your ETH wallet from kovan-testnet are not real (mainnet) ETH, has no market value, and is only useful for testing

When connecting your Hummingbot to ethereum, you need to change to kovan instead of mainnet for your ethreum chain, websocket and node. See example below,

Add the following to your erc20_tokens_override.json found on your Hummingbot directory under conf or hummingbot_conf folder.

  "BAT": "0x1f1f156E0317167c11Aa412E3d1435ea29Dc3cCE",
  "WETH": "0xd0A1E359811322d97991E03f863a0C30C2cF029C",
  "DAI": "0x1528F3FCc26d13F7079325Fb78D9442607781c8C",
  "MKR": "0xef13C0c8abcaf5767160018d268f9697aE4f5375",
  "USDC": "0x2F375e94FC336Cdec2Dc0cCB5277FE59CBf1cAe5",
  "REP": "0x8c9e6c40d3402480ACE624730524fACC5482798c",
  "WBTC": "0xe0C9275E44Ea80eF17579d33c55136b7DA269aEb",
  "SNX": "0x86436BcE20258a6DcfE48C9512d4d49A30C4d8c4",
  "ANT": "0x37f03a12241E9FD3658ad6777d289c3fb8512Bc9",
  "ZRX": "0xccb0F4Cf5D3F97f4a55bb5f5cA321C3ED033f244"

Relaunch your Hummingbot client and setup an AMM_Arbitrage strategy.

Edit on GitHub