如何在 Marketplace 上创建一个 REST API 插件
本文档介绍了如何在QuickNode Marketplace上创建REST API插件。内容包括:申请开发者账户、构建和测试插件(如何开发REST API, 如何进行配置、健康检查,单点登录等)、提交插件到QuickNode Marketplace的流程(包括填写表单,测试访问,以及QuickNode审核标准)。
概述
为 QuickNode Marketplace 创建 REST API 插件,你可以通过添加自定义 REST 接口来扩展 QuickNode 的功能。开发 QuickNode marketplace 插件使你能够在 QuickNode Marketplace 上部署你的 API 并将其货币化,从而为广大的开发者社区提供访问权限。一旦你的插件获得批准,它将在 QuickNode Marketplace 上展示,你将获得 QuickNode 团队的支持和推广,以帮助你接触潜在用户并最大限度地发挥你的服务的影响力。
在本指南中,我们将介绍创建你自己的 REST API 插件的步骤,并提供相关主题的深入指南和资源链接。
你将做什么
- 了解如何开发和测试 QuickNode Marketplace 的 REST API 插件
- 了解将你的插件提交到 QuickNode Marketplace 的过程,包括准备、批准和货币化
你需要的
- 一个免费的 QuickNode 帐户
- 用于测试的 Ngrok(可选,但建议用于本地开发)
在 QuickNode 上申请开发者帐户
首先,让我们申请一个开发者帐户,以便能够在 QuickNode Marketplace 上创建插件。从你的 QuickNode 仪表板,点击左侧导航栏上的 切换到合作伙伴 选项卡,然后完成 marketplace 帐户的申请。以下是该表格的预览:

新 marketplace 合作伙伴的审批过程可能需要长达 7 个工作日,但是,通常情况下,你可以在 1-2 个工作日内收到回复。
构建和测试你的 REST API 插件
创建 REST API 插件涉及开发和测试你的服务,以确保其符合 QuickNode 的标准。
步骤 1:开发你的 REST API 插件
你可以从头开始开发你的 REST API 插件,重点是为配置、健康检查以及你希望公开的 REST API 路径构建必要的接口。
QuickNode 提供包含配置和健康检查功能的入门代码;但是,这些入门代码目前不支持 REST API 插件。我们正在积极努力将 REST API 支持添加到入门代码中,该功能将很快可用。目前,建议从头开始构建你的 REST API 插件。
在开发期间,你需要实现配置和健康检查所需的接口,以及你希望公开的 REST API 路径。
| 编程语言 | 入门代码仓库 |
|---|---|
| Python | QuickNode Marketplace 入门代码 - Python |
| JavaScript | QuickNode Marketplace 入门代码 - JavaScript |
| Ruby | QuickNode Marketplace 入门代码 - Ruby |
| Go | QuickNode Marketplace 入门代码 - Go |
| Ruby on Rails | QuickNode Marketplace 入门代码 - Ruby on Rails |
配置
你的插件必须包含以下接口来管理其生命周期:
| 接口 | 描述 |
|---|---|
/provision |
用于为 QuickNode 用户配置你的插件的新实例。 |
/deprovision |
当用户决定停止使用你的插件时,处理插件实例的移除。 |
/deactivate_endpoint |
停用与你的插件关联的特定接口。 |
/update |
允许更新现有的已配置的插件实例。 |
健康检查
实现一个健康检查接口(例如,/healthcheck),QuickNode 可以使用它来验证你的服务的可用性。
单点登录 (SSO)
如果你的插件包含外部仪表板,你可能需要实现基于 JWT 的 SSO。
步骤 2:测试你的插件
测试你的 REST API 插件是在将其提交到 QuickNode Marketplace 之前的关键步骤。qn-marketplace-cli 工具旨在帮助你直接在本地开发环境中或服务器上测试插件的功能。
虽然有关如何使用此工具的所有信息都可以在 GitHub 仓库 中详细找到,但让我们一起检查一些信息。
在继续之前,请确保你的插件在开始测试之前正在运行。在配置测试时,使用适当的 host URL(例如,http://localhost:3000 或你的远程服务器 URL)。
安装 qn-marketplace-cli
首先,通过从 QuickNode GitHub 仓库 下载预构建的二进制文件,在你的机器上安装 qn-marketplace-cli。或者,如果需要,你可以从源代码构建它。
测试配置
由于你的插件必须实现四个配置接口来管理其生命周期(/provision、/deprovision、/deactivate_endpoint 和 /update),因此你可以使用 CLI 工具单独或一次性测试这些接口。
info
安装 qn-marketplace-cli 工具后,你可能需要提供正确的路径来执行它。例如:
go/bin/qn-marketplace-cli help
或者,你可以导航到 CLI 工具所在的目录并直接运行该命令:
cd go/bin/
./qn-marketplace-cli help
pudd 命令模拟了为你的插件p配置、u更新、d停用和d取消配置接口的整个生命周期。以下是该命令以及你需要使用的标志的说明:
一次性测试所有配置
./qn-marketplace-cli pudd \
--base-url=http://localhost:3000/provisioning \
--basic-auth=<your-auth-code> \
--chain=<selected-chain> \
--network=<selected-network> \
--plan=<your-plan-slug> \
--endpoint-url=<your-endpoint-url> \
--wss-url=<your-wss-url>
| 标志 | 描述 |
|---|---|
--base-url |
插件配置 API 的基本 URL。 |
--basic-auth |
插件的基本身份验证凭据。默认为 username = Aladdin 和 password = open sesame (默认 "QWxhZGRpbjpvcGVuIHNlc2FtZQ==")。 |
--chain |
要为其配置插件的链(默认为 "ethereum")。 |
--endpoint-id |
要为其配置插件的接口 ID(可选)(默认为 "72b1201c-84fd-4244-ad21-f056a97f043d")。 |
--endpoint-url |
要为其配置插件的接口 URL(可选 - 默认为以太坊主网接口) (默认 " https://long-late-firefly.quiknode.pro/4bb1e6b2dec8294938b6fdfdb7cf0cf70c4e97a2/")。 |
--network |
要为其配置插件的网络(默认为 "mainnet")。 |
--plan |
要为其配置插件的计划。(默认为 "discover") |
--quicknode-id |
要为其配置插件的 QuickNode ID(可选)(默认为 "5f649496-0d0a-4637-9b4b-e96fbe19bcdd")。 |
--wss-url |
要为其配置插件的 WebSocket URL(可选 - 默认为以太坊主网接口) (默认 "wss://long-late-firefly.quiknode.pro/4bb1e6b2dec8294938b6fdfdb7cf0cf70c4e97a2/")。 |
如果你需要有关任何命令或标志的更多信息,CLI 提供内置的帮助选项。你可以按如下方式访问常规帮助或各个命令的特定帮助:
常规帮助
./qn-marketplace-cli help
命令特定帮助
./qn-marketplace-cli pudd --help
qn-marketplace-cli 允许你在本地和远程服务器上测试你的插件。对于本地测试,可以针对在 localhost 上托管的服务运行命令。对于服务器测试,只需将命令指向你部署的服务。
例如,如果你正在使用我们的 QuickNode Marketplace 入门代码 - JavaScript,这是一个用 Node.js 构建的示例插件,你可以使用以下命令在本地测试配置。这假设你已将用户名和密码分别设置为 username 和 password。
示例 PUDD 命令
./qn-marketplace-cli pudd \
--base-url http://localhost:3030/provisioning \
--quicknode-id foobar \
--endpoint-id bazbaz \
--chain ethereum \
--network mainnet \
--basic-auth dXNlcm5hbWU6cGFzc3dvcmQ=
测试 REST API 接口
CLI 还支持测试 REST API 方法,使你可以确保你的 REST API 插件正常运行。以下是你需要使用的命令:
示例 REST API 测试命令
./qn-marketplace-cli rest \
--rest-url=http://localhost:3000/your-rest-path \
--rest-verb=POST \
--rest-body='{"key":"value"}' \
--basic-auth=<your-auth-code> \
--chain=ethereum \
--network=mainnet \
--plan=<your-plan-slug> \
--quicknode-id=<your-quicknode-id> \
--endpoint-id=<your-endpoint-id> \
--endpoint-url=<your-endpoint-url>\
--wss-url=<your-wss-url>
除了上一个示例中提到的标志之外,特定于 REST 命令的标志的描述如下:
| 标志 | 描述 |
|---|---|
--rest-body |
要在 REST 调用中使用的 REST 请求正文。 |
--rest-url |
用于进行 REST 调用的 URL。 |
--rest-verb |
要使用的 REST HTTP 方法或动词(例如,GET 或 POST)。 |
info
所有配置和更新 API 必须使用 HTTP 基本身份验证 进行保护。你将在 Marketplace 引导过程中收到凭据,可在插件的安全选项卡中访问。对于本地测试,你可以设置自己的用户名和密码,并使用 Base64 生成基本身份验证值。
对于 Base64 编码,你可以使用 像这样的 网站之一以 username:password 格式创建你的值。

使用 ngrok 进行测试
对于本地测试,ngrok 可以是一个有用的工具,可以通过安全隧道将你的本地服务公开到互联网。这允许你在测试配置、更新和取消配置操作时模拟真实世界的条件。
要设置 ngrok,请运行适用于你的操作系统的命令来安装它:
- Mac
- Windows
- Linux
brew install ngrok/ngrok/ngrok
choco install ngrok
curl -s https://ngrok-agent.s3.amazonaws.com/ngrok.asc | sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null && echo "deb https://ngrok-agent.s3.amazonaws.com buster main" | sudo tee /etc/apt/sources.list.d/ngrok.list && sudo apt update && sudo apt install ngrok
安装 ngrok 后,请确保你的本地服务器在端口 3000 上运行(或你所需的端口)。然后,运行 ngrok 以创建一个指向你的本地服务的安全 URL:
ngrok http 3000
这将提供一个公共 URL(例如,https://abcd1234.ngrok.io),你可以使用它来测试你的插件与 qn-marketplace-cli,就像它部署在实时服务器上一样。
步骤 3:参考相关指南
在你开发和测试你的插件时,你可能需要参考其他指南和资源:
测试清单
在将你的插件提交到 QuickNode Marketplace 之前,彻底测试它是至关重要的。这包括运行 PUDD 命令来测试所有配置接口,验证健康检查,并测试你的插件为计划支持的链提供的所有 REST 路径。
请放心,如果任何事情需要进一步关注,QuickNode 团队将在内部审查期间提供反馈。
将你的 REST API 插件添加到 Marketplace
一旦你的 REST API 插件开发和测试完毕,下一步就是将其提交到 QuickNode Marketplace。本节介绍在 marketplace 中创建你的插件的过程,包括填写所需的表格并将你的插件提交以供批准。
步骤 1:在 Marketplace 中创建你的插件
首先,登录到你的 QuickNode 仪表板并导航到 切换到合作伙伴 选项卡。在这里,你将开始将你的 REST API 插件添加到 marketplace 的过程。
步骤 2:插件表单 - 基本信息
你需要提供有关你的插件的详细信息,这些信息分为几个部分:
基本信息
- 插件名称和描述:提供插件的名称和描述。
- 图标和屏幕截图:上传代表你的插件的视觉效果。请参考 图标指南 和屏幕截图指南 以获得最佳实践
- 支持的链和网络:列出你的插件支持的链和网络。(例如,以太坊主网)
- 配置相关的 URL:提供配置、取消配置等的 URL。(例如,https://api.yourservice.com/provision)
- JWT 密钥:(如果适用)生成并提供 JWT 密钥 (你可以使用
openssl rand -hex 32命令来生成随机 JWT 密钥代码。)。 - 支持电子邮件和 URL:提供客户支持的联系信息。
- 警报电子邮件:输入用于接收有关你的插件状态的警报的电子邮件地址。
- 使用客户的 QuickNode API 接口:指定你的插件是否将与 QuickNode API 接口交互。
插件类型
- 选择插件类型:选择 REST API。
- 添加 REST 路径:定义你的插件将公开的 REST 路径,包括:
- HTTP 方法(例如,
GET、POST) - REST API URL(例如,https://api.yourservice.com/prices)
- 健康检查 URL(例如,https://api.yourservice.com/healthcheck)
- 文档 URL(例如,https://yourservice.com/docs/api)
- 描述(例如,获取受支持的Token的最新加密货币价格。)
- 示例请求正文(例如,
{"token": "ETH", "currency": "USD"})

步骤 3:插件表单 - 功能
高亮显示用户将从你的插件中受益的关键功能。(例如,实时价格更新,支持多种加密货币)。
步骤 4:插件表单 - 计划Pricing
列出你将提供给 QuickNode 用户的定价计划。(例如,具有有限请求的免费层,具有无限访问权限的高级层)。
步骤 5:插件表单 - 测试访问
完成提交表单后,从 QuickNode 团队请求测试访问权限。他们将审查你的插件,如果一切正常,则会授予你在 QuickNode 环境中测试你的插件的权限。
Marketplace 插件审批标准
QuickNode 批准在以下一项或多项标准中表现出色的插件:
- 可扩展性:该插件在 QuickNode 的高流量需求下表现出强大的性能。
- 专业功能:该插件提供独特的、专门构建的功能,以满足特定的区块链开发需求。
- 创新:该插件引入了突破性的功能或与区块链交互的新颖方法。
- 核心基础设施:该插件是我们客户的区块链开发堆栈中的一个基本组成部分。 符合这些标准的插件不仅增强了 QuickNode 的生态系统,还为我们的用户提供了重要的价值。
如果你的插件满足这些要求中的一个或多个,我们很可能会联系你以了解更多信息并快速跟踪你的插件。
上线
在成功测试和批准后,你将在结帐页面、接口的插件选项卡和公共网站上获得应用程式位置。你将在 QuickNode MarketPlace 上获得位置,并获得额外的促销支持,以帮助你接触潜在客户。
总结
恭喜你创建并将你的 REST API 插件提交到 QuickNode Marketplace!
如果你有任何问题,请随时使用我们在 Discord 上的专用频道,或使用下面的表单提供反馈。请通过在 Twitter 和我们的 Telegram 公告频道 上关注我们来了解最新信息。
我们 ❤️ 反馈!
如果你对新主题有任何反馈或要求,请告诉我们。我们很乐意听到你的来信。
额外资源
- 原文链接: quicknode.com/guides/mar...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~