跳转至内容

安装

本指南涵盖 Hummingbot API 的所有可用安装方法。

先决条件

  • 已安装 Docker 和 Docker Compose(用于 Docker 安装)
  • Python 3.10+ 和 Conda(用于源码安装)
  • 交易所 API 密钥用于交易

使用 Docker 是开始使用 Hummingbot API 的最简单方法。

1. 克隆代码仓库

git clone https://github.com/hummingbot/hummingbot-api
cd hummingbot-api

2. 运行设置脚本

./setup.sh

设置脚本将会:

  • 提示您设置 API 认证凭据(用户名/密码)
  • 配置数据库和消息代理连接
  • 创建一个包含所有必要配置的 .env 文件
  • 启动所需的 Docker 容器(PostgreSQL、EMQX)
  • 拉取最新的 Hummingbot Docker 镜像

如果您按 Enter 键,使用默认凭据:admin / admin

3. 启动 API

./run.sh

这将拉取所需的 Docker 镜像并使用 Docker Compose 和 docker-compose.yml 文件中定义的配置运行 Hummingbot API。

API 将可在 http://localhost:8000 访问。您可以在 http://localhost:8000/docs 查看交互式 Swagger UI 文档。

从源码安装(适用于开发者)

如果您正在开发或为 Hummingbot API 做贡献,可以从源码安装。

1. 克隆和设置

git clone https://github.com/hummingbot/hummingbot-api
cd hummingbot-api
./setup.sh

2. 安装依赖项

make install

这将:

  • 创建一个名为 hummingbot-api 的 conda 环境
  • 激活环境
  • 安装所有必需的依赖项
  • 设置 pre-commit 钩子

3. 以开发模式启动 API

./run.sh --dev

这将启动 Broker 和 Postgres DB 容器,并使用启用自动重载的 uvicorn 运行 API 以进行开发。

API 将可在 http://localhost:8000 访问。

安装 Python 客户端

Hummingbot API 客户端 是一个提供与 Hummingbot API 交互便利接口的 Python 库。

通过 pip 安装

pip install hummingbot-api-client

基本用法

import asyncio
from hummingbot_api_client import HummingbotAPIClient

# Create client instance
client = HummingbotAPIClient(
    base_url="http://localhost:8000",
    username="admin",
    password="admin"
)

# Use the client
async def main():
    accounts = await client.list_accounts()
    print(accounts)

asyncio.run(main())

验证安装

安装完成后,您可以验证 API 是否正在运行:

检查 API 健康状态

curl http://localhost:8000/health

访问 API 文档

打开浏览器并导航至:- 交互式 API 文档:http://localhost:8000/docs - 替代 API 文档:http://localhost:8000/redoc

配置

安装会创建一个包含您的配置的 .env 文件。您可以修改这些设置:

  • API_USERNAMEAPI_PASSWORD:API 认证凭据
  • DATABASE_URL:PostgreSQL 连接字符串
  • MQTT_HOSTMQTT_PORT:EMQX 消息代理设置
  • HUMMINGBOT_IMAGE:用于机器人的 Docker 镜像

故障排除

Docker 问题

如果 Docker 容器无法启动:

# Stop all containers
docker-compose down

# Remove volumes and restart
docker-compose down -v
./setup.sh
./run.sh

端口冲突

如果端口 8000 在您的系统上已被使用,您可以根据设置修改配置来更改它:

Docker

在你的 docker-compose.yml 文件中更新 ports 映射以使用一个不同的外部端口。例如,改为使用端口 8001

services:
  hummingbot-api:
    ports:
      - "8001:8000"  # Maps local port 8001 to container's port 8000

从源码运行

编辑 ./run.sh 脚本,在 uvicorn 命令中包含 --port 标志。例如,要在端口 8001 上运行:

if [[ "$1" == "--dev" ]]; then
    echo "Running API from source..."
    # Start dependencies and launch API with uvicorn
    docker compose up emqx postgres -d
    source "$(conda info --base)/etc/profile.d/conda.sh"
    conda activate hummingbot-api
    uvicorn main:app --reload --port 8001
fi

确保你选择的新端口尚未被占用。

开发问题

对于源码安装问题:

# Clean conda environment
make uninstall
make install

# Check logs
make run

下一步

安装完成后,请继续阅读 快速入门指南 以了解如何:

  • 添加交易所凭据
  • 查看你的投资组合
  • 下你的第一笔订单