跳转到主要内容

Silverback平台的Ape SDK

项目描述

快速入门

Silverback 允许您创建和部署自己的Python机器人,以响应链上事件。Silverback库利用Ape开发框架以及其插件和包生态系统,让您能够开发简单但复杂的自动化应用程序,这些应用程序可以监听并响应实时链数据。

Silverback应用程序非常适合涉及持续监控和响应链上事件的使用场景,例如新确认的区块或合约事件日志。

这些类型应用程序的一些示例

  • 监控新池的创建和存款
  • 测量流行池的交易活动
  • 监听大型交易以更新电报群组

文档

请阅读开发用户指南以获取有关如何开发应用程序的更多信息。

依赖项

安装

Silverback 严重依赖 Ape 开发框架,因此熟悉如何使用 Ape 安装指南(Ape 安装用户指南)安装 Ape 和其插件是值得的。

It is suggested that you use a virtual environment of your choosing, and then install the Silverback package via one of the following options.

通过 pip

您可以通过 pip 安装最新版本。

pip install silverback

通过 setuptools

您可以克隆存储库并使用 setuptools 安装最新版本。

git clone https://github.com/ApeWorX/silverback.git silverback
cd silverback
python3 setup.py install

快速使用

查看 示例 了解如何使用库。

The example makes use of the [Ape Tokens](https://github.com/ApeWorX/ape-tokens) plugin.
Be sure to properly configure your environment for the USDC and YFI tokens on Ethereum mainnet.

要运行您的机器人对实时网络进行操作,此 SDK 包括一个简单的运行命令,您可以通过以下方式使用:

$ silverback run "example:app" --network :mainnet:alchemy
This runner uses an in-memory task broker by default.
If you want to learn more about what that means, please visit the [development userguide](https://docs.apeworx.io/silverback/stable/userguides/development.html).

Docker 使用

$ docker run --volume $PWD:/home/harambe/project --volume ~/.tokenlists:/home/harambe/.tokenlists apeworx/silverback:latest run "example:app" --network :mainnet
The Docker image we publish uses Python 3.11.

设置您的环境

如果您的环境没有完全配置,使用提供的示例运行 快速使用Docker 使用 将会失败。使用 SDK 的大部分常见问题都源于正确配置 Ape 插件以解锁您期望的行为。

您应该使用支持 WebSocket 的提供商来运行 Silverback。如果您想使用支持 WebSocket 的托管提供商 Alchemy 来运行此示例,您将需要一个 Ethereum 主网的 Alchemy API 密钥。如果您尝试在不提供此密钥的情况下运行 Docker 使用 命令,您将收到以下错误:

$ docker run --volume $PWD:/home/harambe/project --volume ~/.tokenlists:/home/harambe/.tokenlists apeworx/silverback:latest run "example:app" --network :mainnet:alchemy
Traceback (most recent call last):
  ...
ape_alchemy.exceptions.MissingProjectKeyError: Must set one of $WEB3_ALCHEMY_PROJECT_ID, $WEB3_ALCHEMY_API_KEY, $WEB3_ETHEREUM_MAINNET_ALCHEMY_PROJECT_ID, $WEB3_ETHEREUM_MAINNET_ALCHEMY_API_KEY.

前往 Alchemy,创建一个账户,然后在他们的仪表板上创建一个应用程序,并复制 API 密钥。

Docker 使用 命令运行给定示例的另一个要求是它使用 ape-tokens 插件通过符号查找令牌接口。为了使此功能正常工作,您应该使用包含 Ethereum 主网上 YFI 和 USDC 的令牌列表安装并配置该插件。这样做将在您的家目录中创建一个 ~/.tokenlists 隐藏文件夹,您必须使用以下标志将其挂载到 Docker 容器中:

... --volume ~/.tokenlists:/home/harambe/.tokenlists ...
It is suggested to install the 1inch tokenlist via `ape tokens install tokens.1inch.eth`.
See the [ape-tokens](https://github.com/ApeWorX/ape-tokens?tab=readme-ov-file#quick-usage) README for more information.

要检查这两个令牌是否存在于您的配置令牌列表中,您可以执行以下命令:

$ ape tokens token-info YFI
      Symbol: YFI
        Name: yearn.finance
    Chain ID: 1
     Address: 0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e
    Decimals: 18

$ ape tokens token-info USDC
      Symbol: USDC
        Name: Circle USD
    Chain ID: 1
     Address: 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
    Decimals: 6
If you want, you can comment out the two functions `exec_event1` and `exec_event2` that handle the contract log events from these contracts if you do not have the configured tokenlist, then your command should work.

开发

该项目正在积极开发中,为 Silverback 平台的发布做准备。事物可能尚未处于最终状态,可能会发生破坏性更改。欢迎评论、提问、批评和拉取请求。

有关更多信息,请参阅 贡献

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码发行版

silverback-0.5.10.tar.gz (62.3 kB 查看哈希值)

上传时间 源代码

构建发行版

silverback-0.5.10-py3-none-any.whl (47.2 kB 查看哈希值)

上传时间 Python 3

由以下支持