跳至内容

在 Hummingbot 中使用 Osmosis

cover

引言

这些说明帮助用户完成在 Hummingbot Gateway 上运行于 Osmosis DEX 的 (OSS) Hummingbot 高频交易机器人,执行自动做市套利或区间自动做市策略的安装、配置和操作。

前提条件

创建一个 Osmosis (Cosmos) 钱包

Cosmos 生态系统由跨链通信协议 (IBC) 提供支持,该协议功能上类似于区块链互联网。大多数 Cosmos 钱包原生支持所有 IBC 链,包括 Osmosis —— 尽管可能需要手动添加特定网络

请访问 Osmosis 官网或文档以获取最新的 Osmosis 钱包相关信息:

为了能够轻松导出钱包私钥,请使用 Leap。请注意,从 Leap 导出的私钥会包含一个 '0x' 前缀,必须将其删除。

为钱包充值

目前有多种通往 Cosmos 的跨链桥,但最简单的方法是通过 Osmosis DEX 前端直接存入资金。

注意

请确保您的钱包有足够的余额,包括用于支付 gas 费用的 OSMO


安装 Hummingbot

安装 Hummingbot 有两种主要方法:

Docker

安装 Hummingbot 的推荐方法是使用 Docker。

源码安装

对于熟悉命令行界面的高级用户,从源码安装可以实现自定义和私有化修改。

适用于各种环境的指南:


将 Osmosis 钱包添加到 Hummingbot

您需要导出指定交易钱包的私钥。强烈建议为此目的创建一个专用账户。

警告

请注意,导出的私钥开头可能带有 0x,可能需要删除以符合私钥格式校验。

→ 修改前:0x1234567890...

→ 修改后:1234567890...

从 Keplr 导出私钥

Keplr 是最受欢迎的基于 Cosmos 的钱包。但是,在创建 Keplr 钱包时,只有绑定 Google 账户的用户才能直接从 Keplr 导出私钥

注意

对于已绑定 Keplr-Google 的钱包,请点击此处查看导出私钥的操作说明。

若要绕过此限制,可改为导出助记词,然后使用支持导出私钥的其他 Osmosis 钱包(如 Leap 钱包)恢复钱包。

在没有绑定 Google 账户的情况下获取 Keplr 私钥的方法如下:

  1. 导出 Keplr 助记词。 image

  2. 使用该助记词,在另一个支持导出私钥的 Cosmos 钱包(例如 Leap 钱包)中恢复钱包。 image

  3. 从新恢复的钱包中导出私钥。

警告

你的钱包助记词极为敏感,请严格保密,切勿在线分享或告知任何你不信任的人。处理助记词时,请始终确保处于安全且私密的环境中。


从 Leap 导出私钥

从 Leap 钱包导出私钥的步骤如下:

  1. 打开 Leap 钱包,然后打开钱包菜单。

  2. 向下滚动至“安全”部分,选择“导出私钥”。 image

  3. 输入钱包密码,然后将鼠标悬停在模糊区域以查看私钥。

  4. 复制私钥,并务必删除显示密钥开头的‘0x’。 image

注意

图片基于 Leap 版本 0.10.7 和 Keplr 版本 0.12.70 在 Chrome 浏览器中制作;

将私钥添加到 Hummingbot

运行 gateway connect osmosis 并按照提示操作,将交易钱包添加到 Osmosis DEX 连接器中。

注意

Hummingbot 将 API 密钥和私钥以加密形式存储在本地计算机上,加密密钥为 Hummingbot 客户端密码。

image

网关连接

  • 要连接到 Osmosis 主网,请运行以下命令
>>> gateway connect osmosis
  • 要连接到 Osmosis 测试网,在提示时选择 'testnet' 而不是 'mainnet'。

  • 系统将提示您输入您的 Osmosis 私钥。如果有效,您应该会看到一条消息显示:连接器 osmosis_osmosis_mainnet 现在正在使用钱包 osmo

  • 为了确认连接,您可以运行下面的 balance 命令,查看 Hummingbot 是否能够从交易所获取可用余额

>>> gateway balance

运行策略

要开始交易,必须配置一个策略。Osmosis 连接器原生支持的两种策略是 amm_arbamm_v3_lp

准备

  1. 如果尚未完成,请使用 gateway connect osmosis 命令将钱包连接至 Osmosis 主网。之后,当您运行 gateway balance 时,应能看到您的 osmosis_osmosis_mainnet 钱包。

  2. 要显示交易钱包余额中特定代币的余额,请运行 gateway approve-tokens osmosis_osmosis_mainnet <TOKEN_SYMBOL_HERE>。下次运行 gateway balance 时,将显示该代币余额。

  3. 确保添加的交易钱包至少有 1 OSMO 以支付交易燃气费用。

创建新策略

使用 create 命令设置 amm_arbamm_v3_lp 策略。回答出现的问题提示,以便生成类似于以下示例配置的个性化配置。

>>> create

AMM_ARB 示例配置

strategy: amm_arb
connector_1: osmosis_osmosis_mainnet
market_1: OSMO-USDC
connector_2: uniswap_polygon_mainnet
market_2: USDC-WOSMO
min_profitability: 1.0
market_1_slippage_buffer: 1.0
market_2_slippage_buffer: 1.0
concurrent_orders_submission: false
debug_price_shim: false
gateway_transaction_cancel_interval: 600

AMM_V3_LP 示例配置

strategy: range_amm
connector: osmosis_osmosis_mainnet
market: OSMO-USDC
fee_tier: MEDIUM
price_spread: 1.0
amount: 1.0
min_profitability: 1.0

image

导入策略

运行 import 以获取本地存储文件的列表,使用方向键或 Tab 键滚动并选择一个文件。或者,您也可以直接运行 import <file_name.yml> 跳过提示。

>>> import

image

如果成功,您将看到:

image

启动策略

要运行交易策略:

  1. 确保已加载策略并且初步检查已通过。

  2. 运行 start

注意

amm_arb 策略将首先请求确认所选钱包。

image

使用脚本

脚本可以像策略一样通过使用 create --script 命令来创建。

>>> create --script

修改策略或脚本配置

可以通过手动编辑文件的方式对策略和脚本进行修改:

  1. 找到 hummingbot/scripts 文件夹,并使用任意文本编辑器或如 Visual Studio Code 的 IDE 打开相关文件。

  2. 进行所需更改并保存。

  3. 重启 Hummingbot 并运行以下命令重新启动机器人:

>>> start <strategy_name.yml>

或者,如果使用脚本:

start --script <script_name.py>


常用命令

你可以运行下方显示的 status 命令,或按下 CTRL + S 来检查机器人状态:

status

注意

status 命令目前在 amm_v3_lp 策略上存在一个问题

已知问题

  • amm_arb 和 amm_v3_lp 的 V1 策略兼容性正在开发中。
  • 不支持费用层级 'LOWEST',使用后将导致错误。
  • 在某些情况下,代币对必须按字母顺序排列。
  • PoolPrice RPC 可能会间歇性超时,从而导致 500 错误。

潜在改进

如果您有兴趣为该连接器或相关策略的新功能开发或改进贡献代码或资助悬赏,请随时联系 Pecunia.Finance


[用于补充更多 Osmosis 信息的占位符]


更多资源