跳转至内容

命令

本指南涵盖如何在 Hummingbot 客户端中使用 Gateway 命令。Gateway 命令允许您直接从 Hummingbot 管理钱包、执行兑换、管理流动性头寸并配置 Gateway 设置。

安装与设置

在使用 Gateway 命令之前,您需要安装并运行 Gateway。请按照 Gateway 安装指南 使用 Docker 或从源码设置 Gateway。

Gateway 运行后,您可以在 Hummingbot 中验证连接:

  1. 检查状态指示器:查看 Hummingbot 客户端右上角的 GATEWAY: 🟢 ONLINE
  2. 测试连接:运行 gateway ping 以验证 Gateway 是否可访问且链已连接
  3. 生成证书(如需要):运行 gateway generate-certs 以创建安全通信的 SSL 证书

如果在右上角看到 GATEWAY: 🔴 OFFLINE

  • 确保 Gateway 正在运行(检查 Docker 容器或进程)
  • 验证 Gateway 在正确端口上运行(默认:15888)
  • 检查 Hummingbot 和 Gateway 之间的证书是否匹配(如果以生产模式运行)
  • 查看 Gateway 日志中的任何错误消息

gateway --help

查看所有可用的 Gateway 命令及其描述:

>>> gateway --helpusage: gateway [-h] {allowance,approve,balance,config,connect,generate-certs,list,lp,ping,pool,swap,token} ...
positional arguments: {allowance,approve,balance,config,connect,generate-certs,list,lp,ping,pool,swap,token} allowance Check token allowances for ethereum connectors approve Approve token for use with ethereum connectors balance Check token balances config Show or update configuration connect Add a wallet for a chain generate-certs Create SSL certificate list List available connectors lp Manage liquidity positions ping Test node and chain/network status pool View or update pool information swap Swap tokens token View or update token information

gateway ping

测试与 Gateway 的连接并检查节点/链状态。

usage: gateway ping [-h] [chain]
 positional arguments: chain Specific chain to test (optional)
>>> gateway ping
 Gateway service is online.
 Testing network status for 2 chains...
 ethereum (base): - RPC URL: https://small-dimensional-pine.base-mainnet.quiknode.pro/d01204cade4fab5 2085cd0033c01bb2606a40c33 - 当前区块: 34463843 - 原生货币: ETH - 状态: ✓ 已连接
 solana (mainnet-beta): - RPC URL: https://dry-dawn-hill.solana-mainnet.quiknode.pro/41bbd7ad405c552f91cc92 8e044e5e04c66341d2 - 当前区块: 361378534 - 原生货币: SOL - 状态: ✓ 已连接

gateway list

列出所有可用的链、网络和连接器。

用法: gateway list [-h]
>>> gateway list
 +-------------+--------------+------------------------------------------------------------------+-------------------+ | connector | chain_type | networks | trading_types | |-------------+--------------+------------------------------------------------------------------+-------------------| | jupiter | solana | devnet, mainnet-beta | router | | meteora | solana | devnet, mainnet-beta | clmm | | raydium | solana | devnet, mainnet-beta | amm, clmm | | uniswap | ethereum | arbitrum, avalanche, base, bsc, celo, mainnet, optimism, polygon | amm, clmm, router | | 0x | ethereum | arbitrum, avalanche, base, bsc, mainnet, optimism, polygon | router | +-------------+--------------+------------------------------------------------------------------+-------------------+

gateway connect

为特定链添加钱包。这是将钱包连接到Gateway的主要方式。钱包成功添加后,它将自动成为Gateway配置中该链(ethereum或solana)的defaultWallet

用法: gateway connect [-h] [chain]
 positional arguments: chain 区块链链(例如,ethereum, solana)

添加普通钱包

>>> gateway connect ethereum
选择选项 (1) 添加普通钱包,(2) 添加硬件钱包,(3) 退出 [默认: 3]: 1输入您的ethereum钱包私钥: *********

添加硬件钱包

>>> gateway connect ethereum
选择选项 (1) 添加普通钱包,(2) 添加硬件钱包,(3) 退出 [默认: 3]: 2
输入您的硬件钱包地址 >>> 0x123...abc

注意

您添加的钱包将成为该链上所有操作的默认钱包。您可以通过运行gateway config ethereumgateway config solana来检查当前设置的默认钱包。

gateway balance

检查已连接钱包的代币余额。

用法: gateway balance [-h] [chain] [tokens]
 positional arguments: chain 链名称(例如,ethereum, solana) tokens 要检查的代币列表,以逗号分隔(可选)
>>> gateway balance
正在更新gateway余额,请稍候...
 正在获取ethereum:base的代币余额: all
 链: ethereum 网络: base 地址: <ethereum-address> 代币余额 ETH 0.0154 USDC 57.2579 WETH 0.0188
 正在获取 solana:mainnet-beta 的代币余额:全部
 链:solana 网络:mainnet-beta 地址:<solana-address> 代币余额 BONK 20508.7066 SOL 0.1413 USDC 27.9640

gateway config

查看和更新 Gateway 配置设置。

用法:gateway config [-h] [namespace] [action] [args ...]
 positional arguments: namespace 命名空间(例如,ethereum-mainnet,uniswap) action 要执行的操作(update) args 额外参数:<path> <value> 用于直接更新

查看配置

您可以查看任何 命名空间 的配置:

  • chain:ethereum,solana等
  • network:ethereum-mainnet,solana-mainnet-beta等
  • connector:jupiter,uniswap等
>>> gateway config solana-mainnet-beta
 Gateway 配置 - 命名空间:solana-mainnet-beta: nodeURL:https://dry-dawn-hill.solana-mainnet.quiknode.pro/41bbd7ad405c552f91cc928e044e5e04c66341d2 nativeCurrencySymbol:SOL defaultComputeUnits:200000 confirmRetryInterval:0.5 confirmRetryCount:10 basePriorityFeePct:90 minPriorityFeePerCU:0.1

更新配置

>>> gateway config solana-mainnet-beta update
 solana-mainnet-beta 的当前配置: nodeURL:https://api.mainnet-beta.solana.com nativeCurrencySymbol:SOL defaultComputeUnits:200000 confirmRetryInterval:0.5 confirmRetryCount:10 basePriorityFeePct:90 minPriorityFeePerCU:0.1
 可用配置路径:nodeURL,nativeCurrencySymbol,defaultComputeUnits,confirmRetryInterval,confirmRetryCount,basePriorityFeePct,minPriorityFeePerCU
 输入配置路径(或输入'exit'取消):nodeURL
 'nodeURL' 的当前值:https://api.mainnet-beta.solana.com v
 输入新值(或输入'exit'取消):

Gateway 在任何配置更改后将自动重启。

gateway token

查看或管理代币列表中的代币。

用法:gateway token [-h] [symbol_or_address] [action]
 positional arguments: symbol_or_address 代币符号或地址 action 要执行的操作(update)

获取代币信息

>>> gateway token WETH
 正在所有链的默认网络中搜索代币'WETH'...
 找到代币: chain network symbol name address decimals ethereum base WETH Wrapped Ether 0x4200000000000000000000000000000000000006 18

添加代币

>> gateway token HERMES update
 输入链(例如,ethereum,solana):solana
 未找到代币'HERMES'。我们将其添加到 solana(mainnet-beta)中。
 输入代币信息:
 Symbol [HERMES]:
 Name: HermesWizard
 Contract address: 24R8j15RDq3VoeRaSDFXMvSw4W7RLLZLdpTwK8ynx777
 Decimals [18]: 9
 要添加/更新的代币: { "symbol": "HERMES", "name": "HermesWizard", "address": "24R8j15RDq3VoeRaSDFXMvSw4W7RLLZLdpTwK8ynx777", "decimals": 9 }
 添加/更新此代币?(是/否) >>> 是
 正在添加/更新代币... ✓ 代币添加/更新成功!
 正在重启网关以使更改生效... ✓ 网关重启成功
 现在您可以使用 'gateway token HERMES' 来查看代币信息。

gateway pool

查看和管理流动性池信息。

用法: gateway pool [-h] [connector] [trading_pair] [action] [args ...]
 positional arguments: connector 连接器名称/类型 (例如,uniswap/amm) trading_pair 交易对 (例如,ETH-USDC) action 要执行的操作(update) args 附加参数:<address> 用于直接池更新

获取池信息

>>> gateway pool raydium/amm SOL-USDC
 正在获取 raydium/amm 上 SOL-USDC 的池信息...
 === 池信息 === 连接器:raydium/amm 交易对:SOL-USDC 池类型:amm 网络:mainnet-beta 基础代币:SOL 报价代币:USDC 池地址:58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2

添加池

>>> gateway pool raydium/amm LIGHT-SOL update
 === 为 raydium/amm 上的 LIGHT-SOL 添加池 === 链:solana 网络:mainnet-beta
 未找到 'LIGHT-SOL' 池。让我们将其添加到 solana (mainnet-beta) 中。
 输入池信息:
 池合约地址:7YZEyZ3DuHQTmgmKwzuXMYG6SHD3sCWZ3mLkU7HuLrfC
 要添加的池: { "address": "7YZEyZ3DuHQTmgmKwzuXMYG6SHD3sCWZ3mLkU7HuLrfC", "baseSymbol": "LIGHT", "quoteSymbol": "SOL", "type": "amm" }
 添加此池?(是/否) >>> 是
 正在添加池... ✓ 池添加成功!
 正在重启网关以使更改生效... ✓ 网关重启成功
 池已添加。您可以使用以下命令查看:gateway pool raydium/amm LIGHT-SOL

gateway swap

通过 DEX 连接器执行代币兑换。

用法: gateway swap [-h] [connector] [args ...]
 positional arguments: connector 连接器名称/类型 (例如,jupiter/router) args 参数:[base-quote] [side] [amount]。如未全部提供则进入交互模式。示例:gateway swap uniswap ETH-USDC BUY 0.1
 选项: -h, --help 显示此帮助消息并退出
>>> gateway swap jupiter/router
 输入基础代币 (符号或地址):SOL
 输入报价代币 (符号或地址):USDC
 输入交易金额:0.01
 输入方向 (BUY/SELL):BUY
 正在从 jupiter/router 获取 SOL-USDC 兑换报价...
 === 兑换交易 === 输入代币: SOL (EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v) 输出代币: USDC (So11111111111111111111111111111111111111112)
 价格: 186.61700000000002 USDC/SOL 滑点: 1% 价格影响: 0.00%
 您将花费: 金额: 1.86617 USDC 最大金额 (含滑点): 1.8848317 USDC
 您将收到: 金额: 0.01 SOL
 正在估算 solana mainnet-beta 的交易费用...
 === 交换后余额影响 === 钱包: 82SggY...yHx5
 代币当前余额 → 交易后 -------------------------------------------------- SOL 0.141273 → 0.151248 USDC 27.963970 → 26.097800
 交易费详情: 当前 gas 价格: 0.1000 lamports 预估 gas 成本: ~0.000025 SOL
是否执行此交换? (y/n) >>>
正在执行交换... 订单已创建: buy-SOL-USDC-1755721261102151 正在监控交易状态...
 ✓ 交易成功完成! 交易哈希: 5ToGDFBSALxAnY2nWjx1m1hNer9xp3bxg4dban1t5pefXHoaK41RiJJGxC7ZqLpy1nLx93DgZdtax8jqY3WzPwFa

gateway lp

管理 AMM 和 CLMM 池中的流动性头寸。

用法: gateway lp [-h] [connector] [{add-liquidity,remove-liquidity,position-info,collect-fees}]
 positional arguments: connector 连接器名称/类型 (例如, raydium/amm) {add-liquidity,remove-liquidity,position-info,collect-fees} 要执行的 LP 操作

列出头寸

>>> gateway lp raydium/amm position-info
 === raydium/amm 上的流动性头寸 === 链:solana 网络:mainnet-beta 钱包: 82SggY...yHx5
 输入交易对 (例如, SOL-USDC): SOL-USDC
 正在获取 SOL-USDC 的头寸...
 === AMM 头寸 === 池: 58oQCh...YQo2 交易对: SOL-USDC 价格: 186.849646 USDC/SOL
 持有量: SOL: 0.009999 USDC: 1.868401
 LP 代币: 0.015601

添加流动性

>>> gateway lp raydium/amm add-liquidity
 === 向 raydium/amm 添加流动性 === 链:solana 网络:mainnet-beta 钱包: 82SggY...yHx5 类型: 标准 AMM
 输入交易对 (例如, SOL-USDC): SOL-USDC
 正在获取 SOL-USDC 的池信息...
 === 池信息 === 池地址:58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2 当前价格: 186.803554 费用: 0.0025%
 池储备: SOL: 46972.751032 USDC: 8774676.823955 TVL (以 USDC 计): ~17549353.65 输入要添加的代币数量 (按 Enter 跳过):
 SOL 数量 (可选): 0.01
 USDC 数量 (可选): 2
 正在计算最优代币数量... 注意:流动性将受限于基础代币数量
 待添加的代币数量: SOL: 0.010000 USDC: 1.868497
 估算交易费用...
 === 添加流动性后的余额影响 === 钱包: 82SggY...yHx5
 代币当前余额 → 交易后 -------------------------------------------------- SOL 0.151259 → 0.141234 USDC 26.098180 → 24.229683
 交易费详情: 当前 gas 价格: 0.1000 lamports 预估 gas 成本: ~0.000025 SOL
 以当前价格向资金池添加流动性:186.803554
 滑点容忍度:1%
 是否要添加流动性?(是/否)>>> 是
 添加流动性... 交易已提交。订单ID:range-SOL-USDC-1755722086328873 正在监控交易状态...
 ✓ 交易成功完成! 交易哈希:5g3hDfWdSVpsXTdrqF1HqPKh9bH8bqpQ3XBoZXqHrCJKsCXQkGRhCc1YaBWYB3MNwcgEHRwyN5qyuP9dvNiexCUL
 ✓ 流动性添加成功! 使用 'gateway lp raydium/amm position-info' 查看您的持仓

移除流动性

>>> gateway lp raydium/amm remove-liquidity
 === 从 raydium/amm 移除流动性 === 链:solana 网络:mainnet-beta 钱包: 82SggY...yHx5
 输入交易对 (例如, SOL-USDC): SOL-USDC
 正在获取 SOL-USDC 的头寸...
 === AMM 头寸 === 池: 58oQCh...YQo2 交易对: SOL-USDC 价格:186.802435 USDC/SOL
 持有量: SOL: 0.010001 USDC: 1.868167
 LP 代币: 0.015601
 已选择持仓:58oQCh...YQo2
 要移除的百分比(0-100,默认100):100
 正在移除 100.0% 的流动性 您将收到: SOL: 0.010001 USDC: 1.868167
 估算交易费用...
 === 移除流动性后的余额影响 === 钱包: 82SggY...yHx5
 代币当前余额 → 交易后 -------------------------------------------------- SOL 0.141214 → 0.151189 USDC 24.229877 → 26.098044
 交易费详情: 当前 gas 价格: 0.1000 lamports 预估 gas 成本: ~0.000025 SOL
 是否要移除 100.0% 的流动性?(是/否)>>> 是
 正在移除流动性... 交易已提交。订单ID:range-SOL-USDC-1755722234730374 正在监控交易状态...
 ✓ 交易成功完成!
 ✓ 100.0% 流动性移除成功!

收取费用

>>> gateway lp raydium/clmm collect-fees
 === 从 raydium/clmm 收取费用 === 链:solana 网络:mainnet-beta 钱包: 82SggY...yHx5
 输入交易对 (例如, SOL-USDC): SOL-USDC
 正在获取 SOL-USDC 的头寸...

gateway approve

批准 ERC-20 代币用于 DEX 连接器(仅限以太坊)。

用法:gateway approve [-h] [connector] [token]
 positional arguments: connector 连接器名称/类型 (例如,jupiter/router) token 要批准的代币符号(例如,WETH)
>>> gateway approve uniswap/amm CBBTC
 正在获取 CBBTC 的 uniswap/amm 授权...
 === 授权交易 === 连接器:uniswap/amm 网络:ethereum base 钱包:0xDA50...6684
 要批准的代币: 符号:CBBTC 地址:Unknown 当前授权:0
 估算 ethereum base 的交易费用...
 === 授权后的余额影响 === 钱包:0xDA50...6684
 代币当前余额 → 交易后 -------------------------------------------------- CBBTC 0.000000 ETH 0.015378 → 0.015348
 交易费详情: 当前 Gas 价格:0.1000 gwei 估算 Gas 成本:~0.000030 ETH
 是否要继续执行授权?(是/否)>>> 是
 正在为 uniswap/amm 批准 CBBTC...
 正在提交 CBBTC 的批准...已提交 CBBTC 的授权申请。订单 ID: approve-cbbtc-1755722519391857 正在监控交易状态...
⚠ 交易已完成,状态为: OrderState.PENDING_APPROVAL

gateway allowance

检查 DEX 连接器的代币授权(仅支持以太坊)。

用法: gateway allowance [-h] [connector]
 positional arguments: connector 以太坊连接器名称/类型(例如,uniswap/amm)
>>> gateway allowance uniswap/amm 正在检查代币授权,请稍候...
 连接器:uniswap/amm 链: ethereum 网络: base 钱包: 0xDA50C69342216b538Daf06FfECDa7363E0B96684 代币 地址 授权额度 AAVE 0x6370...814b 无限 CBBTC 0xcbB7...33Bf 0 DAI 0x50c5...B0Cb 无限 LINK 0x88fb...e196 无限 USDC 0x8335...2913 无限 USDT 0xfde4...9bb2 0 VIRTUAL 0x0b3e...7e1b 无限 WETH 0x4200...0006 无限

gateway generate-certs

生成 SSL 证书用于安全的 Gateway 通信。

用法: gateway generate-certs [-h]

>>> gateway generate-certs
 输入密码短语以生成 Gateway SSL 证书 >>> ***** Gateway SSL 证书文件已创建在 /Users/feng/hummingbot/certs 目录下。

随后,从 Gateway 根目录运行 pnpm run setup 以将这些证书复制到 Gateway。