After you have installed Gateway, you should be ready to interact with it. This page shows you various commands that help you configure Gateway from inside the Hummingbot client.
Running the gateway list command will list all available Gateway DEX connectors, the blockchains where they are supported, and their Connector Tier, which determines the level of maintenance effort allocated to the connector.
Use gateway connect [exchange] to add connections to DEXs. See Exchanges for all available connectors.
You will then be asked about which instance of Uniswap you want to connect. You'll be asked to specify chain (a Layer 1 blockchain architecture like ethereum or polygon), network (mainnet or testnet networks available for the chain like mainnet, arbitrum_one, optimism), and the private key of your wallet.
Gateway supports a robust configuration management system for each supported chain, network and exchange. You can see all the current configuration by running gateway config
Gateway will automatically restart to incorporate the new settings.
Alternatively, you may find it easier to edit the configuration files for each chain and connector directly. These are located in the /conf directory in your Gateway files. Make sure to stop and start the Gateway server after each change.
The node provider that you use to communicate with a blockchain network is critically important. The speed/latency of your node connection and its ability to read/write to the network may fluctuate greatly, especially in congested, volatile markets.
Whether you use a cloud node service like Alchemy or run your own node client, you will connect to the node via the RPC URL, defined for each chain/network combination. This is set by the nodeURL configuration parameter for each chain/network, defined in the configuration file for each chain.
To help new users use Gateway, Hummingbot assumes a default nodeURL for each supported chain/network and automatically connects to it when users connect to a DEX.
Currently, the default nodeURL for each chain/network uses Ankr RPC endpoints where available, since they do not require users to sign up for an account.
For certain testnet or other networks that Ankr doesn't support, the default nodeURL may be an alternate public endpoint, or in certain cases, an Infura endpoint, which users need to configure with their Infura key to use.
Here are the current default nodeURL settings for Ethereum mainnet and testnet networks, which are defined in the default config file:
Since token symbols are not unique and may have duplicates on each network, it's very important to understand how symbols map to addresses for each chain/network. Also, you may also need to approve tokens before you can trade them.