跳转至内容

与 Hummingbot 配合使用 Injective Helix

作者:Emerald

欢迎阅读 Injective Helix Hummingbot 连接器指南,这是关于使用 Hummingbot 在 Injective 去中心化交易所进行整合和交易的全面资源。Injective Helix 利用去中心化的一层区块链 Injective Protocol,提供快速安全的交易和最低的费用。

通过 Injective Helix,用户可以访问全网流动性,进行隐私交易,并在用户友好的界面上享受无缝的交易体验。

该平台支持现货和保证金上的各种交易对。结合 Hummingbot,它允许交易者轻松执行他们的策略。

你将学到什么

  • 设置钱包并允许它根据你的策略进行交易
  • 制作一个演示做市策略
  • 在 Injective 和 Hummingbot 上制作自己的策略时的提示与技巧

让我们开始吧!

先决条件

  • 一些终端技能
  • Injective 代币(用于支付费用和交易)。如果你在教程后面使用 Injective 水龙头,你可以免费开始。

安装

安装 Docker

Docker 是一个软件平台,它允许人们通过将软件打包成标准化单元(称为'容器')来快速构建和部署应用程序,这些容器包含了软件运行所需的一切。这使得 Docker 成为安装和维护 Hummingbot 的最简单方法。

作者的主要操作系统是 Mac 和 Linux,但 Windows 也受支持。

  • Windows
  • Mac
  • Linux

安装 Hummingbot

  1. 打开终端,转到你希望安装 Hummingbot 的目录。

  2. 运行 git clone https://github.com/hummingbot/hummingbot.git --depth=1,这将从 GitHub 下载最新的 Hummingbot 发布版本。

  3. 运行 cd hummingbot 进入 Hummingbot 工作目录。

  4. 运行 docker compose up -d 来启动你的 Hummingbot 实例

使用 Injective 设置 Hummingbot

Injective 可以通过多种方式配置自动化交易,我们将重点关注最安全和用户友好的方式:账户委托。

通过账户委托,你不只有一个而是 2 个账户。第一个账户是你的投资组合,这是你的资金所在的位置。

第二个账户是交易账户,它进行你的日常交易。交易账户有权使用你投资组合账户上的资金进行交易,但不能提取资金或将其转移到其他地方。

设置你的钱包

为了便于使用,我们将使用 Keplr,这是一个支持多个账户的 Cosmos 钱包,这使得创建交易和投资组合账户变得容易。

注意:在现实世界中,你希望这两个账户分开,但目前这样是可以的。有关更多详细信息,请参见本文档底部的提示和技巧。

安装 Keplr

  1. 在你最喜欢的浏览器(Chrome、Brave、Firefox 等都可以)上访问 keplr.app 并点击"安装 Keplr"按钮

  2. 按照特定浏览器的安装程序进行操作。

创建投资组合账户

  1. 在浏览器中打开扩展程序,你应该会看到此屏幕。点击"Create new wallet"按钮:

  2. 点击"Create new recovery phrase":

  3. 当警告出现时,选择"understood"并在下一个屏幕中选择 12 或 24 个单词的助记词。这个助记词将让你访问你在 Keplr 上保存的所有加密货币!

  4. 重要的是要将它们写下来,并将助记词隐藏起来,只有你知道。24 个单词比 12 个单词更安全,但写起来更麻烦。

  5. 如果你失去了对电脑或数据的访问权限,你可以使用写有单词的纸张来恢复整个钱包

  6. 在下一个屏幕中,应用程序会要求你输入 2 个你写下来的随机单词,这是为了再次检查你是否正确地写下了它们。

  7. 找到它要求的 2 个单词并在验证窗口中写下它们

  8. 将钱包命名为"Hummingbot Portfolio"
  9. 如果这是第一次设置,创建一个用于登录 Keplr 的密码,然后点击"next"。
  10. 在链选择屏幕中,找到 Injective 并打开它,然后点击保存:

创建交易账户

  1. 重复上述过程,但将钱包命名为"Hummingbot Trading"
  2. 当你点击扩展面板右上角的账户图标时,你现在应该会看到类似这样的内容:

当 Keplr 打开时,请注意几件事情(我们稍后需要这些):

  • 投资组合钱包地址
  • 交易钱包助记词
  • 投资组合钱包助记词

委托

我们现在需要确保交易钱包能够访问投资组合钱包的资金进行交易。为此我们使用委托。

先决条件

你需要在投资组合和交易钱包中存入资金,以支付交易和授权交易钱包权限的费用。为简单起见,我们只关注主网。

你可以使用 Injective 水龙头为你的钱包添加一些小额资金来支付费用,但是,我们建议购买 Injective 并把一小部分(例如 0.1 INJ)放在交易账户上用于支付费用,把更大一部分(你愿意用于交易的金额)放在你的投资组合账户上。

如果你不想购买 INJ 并为你的账户添加资金,你可以访问这里的水龙头:https://inj.supply

  1. 在终端中,运行docker compose exec hummingbot bash登录 Hummingbot Docker shell。

  2. 下载 Emerald 的账户委托脚本(它比官方的账户委托脚本更加用户友好,但尚未合并到 hummingbot 中),运行wget https://raw.githubusercontent.com/peterwilli/ModernDragonHoard/6bba346ecd8e425ef2c8351732a6801106701322/hummingbot/connector/exchange/injective_v2/account_delegation_script.py

  3. 激活 hummingbot 环境:conda activate hummingbot

  4. 运行python account_delegation_script.py --help查看所有账户委托选项。

  5. 按你的意愿配置委托

  6. 查看市场 ID,看看你想在哪个市场上交易。例如:https://lcd.injective.network/injective/exchange/v1beta1/spot/markets 用于现货市场,https://lcd.injective.network/injective/exchange/v1beta1/derivative/markets 用于衍生品市场。

  7. 例如,通过这个调用,你允许交易账户在衍生品市场上交易 INJ-USDT(将 trading_account_address 替换为你之前记录的实际交易账户地址):python account_delegation_script.py --network mainnet --grantee_address trading_account_address --granter_subaccount_index 0 --derivative_market_ids 0x9b9980167ecc3645ff1a5517886652d94a0825e54a77d2057cbbe3ebee015963

  8. 你会收到一个输入私钥的提示,在此处可以粘贴我们之前记下的投资组合钱包助记词。完成后,会发出一笔交易来完成授权。如果出现错误,请确保你的账户中有足够的 Injective 余额来支付费用。

正在连接到 Hummingbot

现在我们将把交易账户连接到 Hummingbot!通过运行 exit 命令退出 Hummingbot 容器。

  1. 运行 docker compose attach hummingbot 进入实际的 Hummingbot 实例。在确认提示处按回车,直到需要输入密码。输入一个你记住的密码,稍后登录/再次解密密钥时需要。此过程完全在本地进行,没有"密码重置"!

  2. 设置密码后,你就进入了主界面,看起来像这样:

  1. 现在我们将把 Injective 交易钱包连接到 Hummingbot,在主窗口中,根据你想使用现货还是永续市场,输入 connect injective_v2connect injective_v2_perpetual 并按回车。

  2. 你将被问到几个问题。按如下方式回答并按回车:

  1. 完成后,你应该看到"connected to injective_v2"。现在你可以以最安全的方式开始使用 Injective 的策略!

提示与技巧

在家庭服务器上交易

在本教程中我们使用了委托账户,这具有安全优势,例如降低运行机器人设备的价值(因为它不包含你实际的私钥),使其不那么吸引人偷盗。

例如,在我的设置中,我的交易机器人日夜运行在我卧室里,使用一台二手的 16GB 内存 Mac Mini M2,价格约 600 美元,但你也可以找到更便宜的 8GB 版本,这对 Hummingbot 来说已经足够。功耗大约为 7 瓦,如果你有太阳能电池板,这基本上是免费运行的,即使在冬天也是如此。这比运行在云服务器上是一种便宜且可靠的替代方案。

为 Injective 优化你的策略

在打开示例策略和在 Injective 上进行实盘交易时要小心!每个操作,甚至取消订单,都会收取你 Injective 余额中的一小部分费用。确保你的交易账户中有一些"燃料",我通常会在交易账户中保留 0.01 到 0.1 Injective,这足够用几个月。

为 Injective 优化你的策略,避免我犯过的同样错误(我的机器人默默地消耗了大约 100 inj,因为它每秒下了数百个订单)。

只在必要时下单或取消订单,尽量避免过于频繁地刷新订单!(根据我的经验,检查当前订单价格或数量与你的策略想要下单的差异,看是否超过某个阈值,这可以消除最大的费用消耗)。

不要在你的交易账户中添加过多 Injective,这是为了防止你的策略下太多订单并耗尽你的钱包来支付费用!