⚡ 新消息:ElysiumTestnet 发布QuicknodeTestnet Kinetiq 在 HyperEVM 上的 EVM 链的端点
获取一个endpoint通过 SOC 2 II 类认证 · ISO 27001
键值存储是每个Quicknode 套餐的组成部分,无需额外配置。您可以在Quicknode 开发者门户中创建和管理列表,或者利用账户中已有的API密钥,通过13个REST端点完成所有操作。
创建一个列表。
通过开发者门户,或向 REST API 发送一次 POST 请求。
在您的管道中阅读它。
在Streams 过滤器中调用qnLib.qnContainsListItems,或将列表连接到Webhook。
随时随地进行更新。
从后端或agent 获取列表的PATCH请求。运行中的过滤器会读取当前版本。
更新正在运行的Streams 过滤器所基于的动态列表,而无需重新部署该过滤器。
在不修改过滤器代码的情况下修改列表。
通过 REST API 发送一个 PATCH 请求会更改什么 qnLib.qnContainsListItems 看到。
列表和值会在所有使用它们的地方自动更新。
当您更新列表或值时,这些内容将在Streams 、Webhooks 以及通过 REST API 全局可用。
仅需一个密钥即可管理数百万条数据。
过滤器会将每个区块与整个列表进行比对,无论该列表规模如何扩大。
qnLib.qnContainsListItems(“watched_wallets”, 发件人)
键值存储有两种数据类型:列表和值。
存储在单个键下的、具有名称的字符串项集合。最适合用于成员资格检查:该地址是否在我的关注列表中?
qnLib.qnUpsertList在列表中添加或删除项目qnLib.qnAddListItem添加一项qnLib.qnRemoveListItem删除一项qnLib.qnGetList阅读完整列表qnLib.qnContainsListItems批次成员查询qnLib.qnDeleteList删除列表条目区分大小写:0xAbC1 和 0xabc1 是不同的条目。请以过滤器进行比对时所使用的大小写形式存储区块链地址。
一个键值对。最适合用于随时间推移存储和检索一个特定的数据点,例如你最近处理的区块。
qnLib.qnAddValue写入一个值qnLib.qnGetValue读取一个值qnLib.qnBulkValues一次写几篇qnLib.qnDeleteValue删除一个值数据以区块为单位持续保存,从一次Streams 执行延续到下一次。将lastProcessedBlock写入为 19271294 在一轮结束时,并在下一轮开始时重新读出。
键值存储的范围限定在Quicknode 账户内,而非单个项目或endpoint 。REST API 也是访问您的agents 在运行之间保存的状态的入口。
Streams
过滤器会在块到达时使用 qnLib.qnContainsListItems 进行批次成员资格检查。
Webhooks
Webhooks 读取与您的Streams 过滤器所检查的相同列表。
REST API
为您的后端、脚本和 CI/CD 管道提供 13 个端点。这些端点读取的数据与过滤器读取的数据相同。
您可以在Streams 筛选器中免费读取和比较列表,并提取值。在Webhooks 中使用这些列表的功能也包含在内。
已经有两个应用采用了这种模式。克隆其中一个。
这两个示例应用都是基于本页所述的精确循环构建的:一个Streams 过滤器,用于读取Key-Value Store中存储的观察列表,该观察列表会在流运行期间实时更新。
const 发件人 = txs.map(tx => tx.from)const 点击量 = await qnLib.qnContainsListItems(“watched_wallets”, 发件人)
在Solana 和Ethereum 上监控一组钱包地址。在用户界面中添加或移除地址后,应用会更新键值存储中的列表,而过滤器正是基于该列表进行检查的。该流无需重新部署。Next.js · TypeScript · SSE
const 交易员 = 订单.map(o => o.用户)const 点击量 = await qnLib.qnContainsListItems('watched_traders', 交易者)
在Hyperliquid Core上实时跟踪交易订单。在键值存储列表中实时查看关注的交易者地址和订单状态,因此无需重启流即可过滤更改。Next.js · TypeScript · SSE
常见问题
成本、限制、范围以及各层面的配合方式。Key-Value Store 文档涵盖了所有endpoint 及函数。
键值存储是Quicknode 用于存储数据管道所依赖的小块状态的账户级存储,这些状态以列表和值的形式组织。Streams 过滤器、Webhooks 以及外部应用程序均通过过滤器内的qnLib函数以及其他地方的REST API,读写同一组数据。例如,watch_wallets这样的列表用于驱动成员资格检查;而lastProcessedBlock这样的值则存储一个数据点,该数据点会随着时间推移由数据管道进行更新。