如何为市场创建一个 REST API 插件

  • QuickNode
  • 发布于 2025-01-30 17:47
  • 阅读 21

本文提供了一份详尽的指南,讲述了如何为QuickNode Marketplace创建和提交REST API附加组件。文章从申请开发者账户开始,逐步讲解了创建、测试和向市场提交API添加的各个步骤,包含必要的资源和工具链接,确保读者了解整个开发和上线过程。

概述

QuickNode Marketplace 创建 REST API 插件,使你能够通过添加自定义 REST 端点来扩展 QuickNode 的功能。开发 QuickNode 市场插件,可以让你在 QuickNode Marketplace 部署和盈利你的 API,提供对广大开发者社区的访问。 一旦你的插件获得批准,它将被展示在 QuickNode Marketplace 上,并且你将获得 QuickNode 团队的支持和推广,以帮助你接触潜在用户并最大化你的服务的影响力。

在本指南中,我们将逐步介绍创建你自己 REST API 插件的步骤,同时提供对相关主题的深入指南和资源的链接。

你将做什么

  • 学习如何为 QuickNode Marketplace 开发和测试 REST API 插件
  • 学习将你的插件提交到 QuickNode Marketplace 的过程,包括准备、批准和货币化

你将需要什么

在 QuickNode 申请开发者账户

首先,让我们申请一个开发者帐户,以便能够在 QuickNode Marketplace 创建插件。在 QuickNode 控制台中,点击左侧导航栏中的 Switch to Partners 选项卡,然后填写市场帐户申请。以下是表单的预览:

QuickNode Marketplace Partners Application Form

新市场合作伙伴的审批过程可能需要最多 7 个工作日,但通常,你可以期待在 1-2 个工作日内收到回复。

构建和测试你的 REST API 插件

创建 REST API 插件涉及到开发和测试你的服务,以确保其符合 QuickNode 的标准。

第一步:开发你的 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 用于验证你的服务的可用性。

阅读健康检查 URL 的指南

单点登录 (SSO)

如果你的插件包含外部仪表板,你可能需要实现基于 JWT 的单点登录。

了解更多关于 SSO 如何为市场合作伙伴工作的信息

第二步:测试你的插件

在将你的 REST API 插件提交到 QuickNode Marketplace 之前,测试你的插件是一个关键步骤。qn-marketplace-cli 工具旨在帮助你在本地开发环境或服务器中直接测试插件的功能。

虽然有关如何使用此工具的所有信息在 GitHub 仓库 中都有详细说明,但让我们一起查看一些信息。

在继续之前,确保你的插件在开始测试之前正在运行。在配置测试时使用适当的主机 URL(例如, http://localhost:3000 或你的远程服务器 URL)。

安装 qn-marketplace-cli

首先,通过从 QuickNode GitHub 仓库 下载预构建的二进制文件,在你的机器上安装 qn-marketplace-cli。另外,如果你愿意,可以从源代码构建它。

测试供给

由于你的插件必须实现四个供给端点以管理其生命周期( /provision/deprovision/deactivate_endpoint/update),你可以使用 CLI 工具单独测试这些端点或一次性测试所有端点。

信息

安装 qn-marketplace-cli 工具后,你可能需要提供执行它的正确路径。例如:

go/bin/qn-marketplace-cli help

或者,你可以导航到 CLI 工具所在的目录并直接运行命令:

cd go/bin/
./qn-marketplace-cli help

pudd 命令模拟整个供给、更新、停用和解除供给的生命周期。下面是命令以及你需要使用的标志的说明:

一次性测试所有供给

./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 = Aladdinpassword = open sesame(默认 "QWxhZGRpbjpvcGVuIHNlc2FtZQ==")。
--chain 供给插件的链(默认 "ethereum")。
--endpoint-id 为插件供给的端点 ID(可选)(默认 "72b1201c-84fd-4244-ad21-f056a97f043d")。
--endpoint-url 为插件供给的端点 URL(可选 - 默认值为以太坊主网端点( default " 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 构建的示例插件,你可以使用以下命令在本地测试供给。这假定你将用户名和密码分别设置为 usernamepassword

示例 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)。

信息

所有供给和更新 API 都必须使用 HTTP 基本身份验证 进行安全保护。你将在市场入驻过程中收到凭证,这些凭证可以在插件的安全选项卡中访问。对于本地测试,你可以设置自己的用户名和密码,并使用 Base64 生成 Basic Authentication 值。

为了进行 Base64 编码,你可以在 这样的 网站上以 username:password 格式创建你的值。

Base64 Encode

使用 ngrok 测试

对于本地测试,ngrok 可以是一个有用的工具,通过安全隧道将本地服务暴露给互联网。这允许你在测试供给、更新和解除供给操作时模拟实际的工作条件。

要设置 ngrok,通过运行适合你操作系统的命令安装它:

  • Mac
    
    brew install ngrok/ngrok/ngrok
- Windows

choco install ngrok

- Linux

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](https://abcd1234.ngrok.io/)),你可以使用该 URL 通过 `qn-marketplace-cli` 测试你的插件,就像它在实际服务器上部署一样。

### 第三步:参考相关指南 

在你开发和测试插件时,你可能需要参考更多指南和资源:

- [市场的审批流程是如何工作的](https://learnblockchain.cn/article/11891)
- [图标指南](https://learnblockchain.cn/article/11526)
- [截图指南](https://learnblockchain.cn/article/11526)

测试清单

在将插件提交到 QuickNode Marketplace 之前,彻底测试插件至关重要。这涉及运行 PUDD 命令以测试所有供给端点,验证健康检查,并测试你的插件提供的所有 REST 路径。

请放心,如果有任何问题需要进一步关注,QuickNode 团队在内部评审过程中会提供反馈。

## 将你的 REST API 插件添加到市场 

一旦你的 REST API 插件开发和测试完成,下一步就是将其提交到 QuickNode Marketplace。本节涵盖在市场中创建你的插件的过程,包括填写所需表单和提交你的插件以供审批。

### 第一步:在市场中创建你的插件 

要开始,登录你的 QuickNode 控制台,导航到 **Switch to Partners** 选项卡。在这里,你将开始将你的 REST API 插件添加到市场的过程。

### 第二步:插件表单 - 基本 

你需要提供有关你的插件的详细信息,这些信息分为几个部分:

#### 基本信息 

- 插件名称和描述:为你的插件提供名称和描述。
- 图标和截图:上传代表你插件的视觉元素。 **请参阅 [图标指南](https://learnblockchain.cn/article/11526) 和 [截图指南](https://learnblockchain.cn/article/11526) 以获取最佳实践**
- 支持的链和网络:列出你的插件支持的链和网络(例如,以太坊主网)。
- 供给相关的 URL:提供供给、解除供给等的 URL(例如, [https://api.yourservice.com/provision](https://api.yourservice.com/provision))。
- JWT 秘钥: (如果适用)生成并提供一个 JWT 秘钥(你可以使用 _`openssl rand -hex 32`_ 命令来生成随机的 JWT 秘钥代码。)。
- 支持邮箱和 URL:提供客户支持的联系信息。
- 警报邮箱:输入用于接收有关你插件状态的警报的电子邮件地址。
- 使用客户的 QuickNode API 端点:指定你的插件是否会与 QuickNode API 端点进行交互。

#### 插件类型 

1. 选择插件类型:选择 **REST API**。
2. 添加 REST 路径:定义你的插件将公开的 REST 路径,包括:

- HTTP 方法(例如,`GET`,`POST`)
- REST API URL(例如, [https://api.yourservice.com/prices](https://api.yourservice.com/prices))
- 健康检查 URL(例如, [https://api.yourservice.com/healthcheck](https://api.yourservice.com/healthcheck))
- 文档 URL(例如, [https://yourservice.com/docs/api](https://yourservice.com/docs/api))
- 描述(例如,获取支持的代币的最新加密货币价格。)
- 示例请求正文(例如, `{"token": "ETH", "currency": "USD"}`)

![Add-On Form - Basic](https://img.learnblockchain.cn/2025/03/03/create-add-on-1-basic-72f705aff0bc424500c3b7df8dcd3c91.png)

### 第三步:插件表单 - 功能 

突出你插件的关键特性,让用户受益(例如,实时价格更新,支持多种加密货币)。

### 第四步:插件表单 - 计划 

列出你将为 QuickNode 用户提供的定价计划(例如,免费层级具有有限请求,高级层级具有无限访问)。

### 第五步:插件表单 - 测试访问 

完成提交表单后,请求 QuickNode 团队的测试访问。他们将审核你的插件,如果一切正常,将向你授予在 QuickNode 环境中测试插件的访问权限。

#### 市场插件批准标准 

QuickNode 批准在以下一个或多个标准中表现出色的插件:

1. **可扩展性**:插件在 QuickNode 高流量需求下展示出强大的性能。
2. **专用功能**:插件提供独特的、专门用于解决特定区块链开发需求的功能。
3. **创新**:插件引入开创性的能力或对区块链交互的新方法。
4. **核心基础设施**:插件作为我们客户区块链开发堆栈中的一个重要组成部分。

符合这些标准的插件不仅增强了 QuickNode 的生态系统,还为用户带来了显著的价值。

如果你的插件符合一个或多个要求,我们将有很可能联系你以了解更多信息并加速你插件的发布。

## 上线 

经过成功测试和批准后,你将在结账页面的应用程序、端点的插件选项卡以及公共网站上获得位置。你将在 QuickNode MarketPlace 上得到展示,并获得额外的推广支持,以帮助你接触潜在客户。

## 结束语 

恭喜你创建并将你的 REST API 插件提交到 QuickNode Marketplace!

如果你有任何疑问,请随时使用我们在 [Discord](https://discord.gg/quicknode) 上的专用频道或使用下面的表单提供反馈。通过关注我们的 [Twitter](https://twitter.com/QuickNode) 和 [Telegram 公告频道](https://t.me/quicknodehq),以及时了解最新情况。

#### 我们 ❤️ 反馈!

[告诉我们](https://airtable.com/shrKKKP7O1Uw3ZcUB?prefill_Guide+Name=How%20to%20Create%20a%20REST%20API%20Add-On%20for%20Marketplace) 如果你有任何反馈或新的主题请求。我们很乐意听到你的声音。

## 额外资源 

- [QuickNode Marketplace](https://marketplace.quicknode.com/)
- [所有市场合作伙伴指南](https://learnblockchain.cn/tags/marketplace-partner)

>- 原文链接: [quicknode.com/guides/qui...](https://www.quicknode.com/guides/quicknode-products/marketplace/how-to-create-a-rest-api-add-on-for-marketplace)
>- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
QuickNode
QuickNode
江湖只有他的大名,没有他的介绍。