Cointime

扫码下载App
iOS & Android

The Graph Indexer线上会议 #188

项目方

TL;DR: Ricky 分享了他在指数器操作自动化工具方面的进展,包括一个“索引器管理界面”和一个“内容质量分配优化器”。他展示了几个演示视频,包括删除Subgraph、服务质量指标和实时ISA分数。该会议概述了一项七步计划,最终目标是将知识/笔记、AI agents 和编码环境无缝集成,并与GRC-20兼容。

大家好,欢迎阅览 Indexer Office Hours 会议纪要,第 188 场!

视频链接:https://youtu.be/r04mwY9N6Wo


观看 Lark Davis 的 GRTiQ 播客,Lark Davis 是一位有影响力的加密内容创作者,也是广受关注的 YouTube 频道和时事通讯 Wealth Mastery 的推动者。

重要存储库的最新更新

Reth 新版本:

  • 1.1.4 版:
  • 日期:2024-12-11 11:58:33 UTC
  • 此版本修复了 miner_ 变体的 fromstr 实现,这是 op-batcher 所必需的。OP-Reth 的用户应优先考虑此更新。
  • 紧急指标:黄色
  • 紧急原因:核心 OP-Reth 功能的重要修复。
  • 1.1.3 版:
  • 日期:2024-12-11 11:58:33 UTC
  • 此版本引入了性能增强、错误修复和重大 API 更改(包括新的 NodePrimitives 抽象),OP-Reth 用户的更新优先级为中等,所有其他用户的更新优先级为低。
  • 紧急指标:黄色
  • 紧急原因:核心 OP-Reth 功能的中等更新优先级。
  • sfeth/fireeth:新版本 v2.8.2 :
  • 日期:2024-12-17 15:04:20 UTC
  • 该版本将 firehose-core 更新到 v1.6.8,并通过减少内存分配和删除不必要的跟踪来引入改进的 Substreams 性能。此外,还添加了新标志以增强客户端连接管理和块获取持续时间控制。
  • 紧急指标:黄色
  • 紧急原因:性能改进,不是关键。
  • Nethermind:新版本 v1.30.0 :
  • 日期:2024-12-12 10:15:46 UTC
  • 该版本解决了 Nethermind 用户的启动崩溃问题,并修复了 .NET 9 升级后的 JSON RPC 模块处理问题。这两项更新对于维护系统稳定性和兼容性都非常重要。
  • 紧急指标:黄色
  • 紧急原因:修复了可能中断服务的问题。

有关不同客户端的信息

  • Prysm:新版本 v5.2.0 :
  • 日期:2024-12-16 19:42:18 UTC
  • 版本 v5.2.0 包括对 mev-boost 用户的强制性更新,以防止在 gas 限制增加时回退到本地区块。它还引入了 QUIC 作为默认协议,以及对验证器操作至关重要的各种改进和修复。
  • 紧急指标:红
  • 紧急原因:强制更新以防止执行回退。
  • Teku:新版本 24.12.0 :
  • 日期:2024-12-12 11:19:51 UTC
  • 版本 24.12.0 包括数据块发布的关键错误修复和性能改进,特别适用于使用本地生成数据块的操作员。不会引入即时的重大更改,但操作员应为下一版本中的指标名称更改做好准备。
  • 紧急指标:黄色
  • 紧急原因:重要更新,但不是关键更新。
  • Nimbus:新版本 v24.12.0 :
  • 日期:2024-12-13 08:13:54 UTC
  • Nimbus v24.12.0 引入了对 bootstrap_nodes.yaml 规范的支持,从而改进了节点配置。这是一个低紧急性版本,操作员可以在两周内方便时进行更新。
  • 紧急指标:绿
  • 紧急原因:在您空闲时更新。
  • Lighthouse:新版本 v6.0.1 :
  • 日期:2024-12-16 06:25:41 UTC
  • Lighthouse v6.0.1 解决了一些小问题并优化了 v6.0.0 中的功能,包括状态管理和错误修复。理想情况下,用户应该升级到 v6.0.1 以获得更好的性能,但由于修复的性质,这并不重要。这些更新向后兼容 v5.x.y。
  • 紧急指标:绿
  • 紧急原因:低优先级、非关键更新。

索引器服务和 Agent(TS):新版本:

  • 0.21.11 版:
  • 日期:2024-12-12 19:02:30 UTC此版本包括对 subgraph 部署中往返的优化,从而提高了性能。操作员应考虑更新以从提高效率中受益。
  • 紧急指示器:黄色
  • 紧急原因:性能改进,不重要。
  • GraphOps 目前在 Arbitrum Sepolia 上运行此版本,没有问题。
  • 0.21.10 版:
  • 日期:2024-12-12 19:02:30 UTC
  • 此版本降低了子图分页的详细程度,删除了 DAI 注入功能,并增加了对 Boba、Boba BNB 的支持,以及对 Blast 的修复。
  • 紧急指标:黄色
  • 紧急原因:性能改进,不重要。

协议重要变更的最新更新

  • 不断发展的 Graph 协议经济学 (2024)
  • GIP-0081:为付款编制索引
  • 一种机制,协议参与者(通常是网关)可以激励候选索引器为 Sungraph 提供服务。
  • GIP-0067:弃用 L1(主网)协议
  • 关于 L1 弃用时间表中最后一步的快速更新。对 Staking 和基于 GNS 的转账工具的支持将很快被取消。由于假期的原因,它可能会被推迟到 1 月的第一天,而不是原定的 12 月 28 日。
  • 有关争议 #GDR-22 的信息请求
  • 有关争议 #GDR-23 的信息请求
  • 公告:扩大仲裁委员会和PoI工作组的更新
  • 为了加强 The Graph 的仲裁流程并确保稳健的治理,我们已经完成了将仲裁委员会扩大到五名成员的工作,这标志着增强系统能力的重要一步。
  • HorizonStaking 合约 #1073 的 TRST 审计修复(merged)
  • DisputeManager 合同 #1075 的 TRST 审计修复(merged)
  • GraphPayments 审计后的变化 #1078(open)
  • Graph Payments 合约的 TRST 审计修复 #1072(merged)
  • chore(deps): 将 nanoid 从 3.3.7 升级到 3.3.8 #1079(closed)

Ricky 是一位在数据科学和自动化方面具有专业知识的索引员,他分享了自上次参加 Indexer Office Hours (#183) 以来他一直在做的事情。之前的讨论,请访问 The Graph Indexer Office Hours #179

  • Ricky 的网站
  • 最近的帖子解释了他的愿景

Ricky:在 IOH 183 中,我展示了一个我一直在构建的用户界面,用于自动管理索引器的所有移动部分。不幸的是,我们似乎丢失了那段录音,但我有一些视频展示,作为开始。

早期版本视频

  • 这是索引器管理界面的早期版本。您会发现它与 Grafana 非常相似。它本质上就像 Grafana 的替代接口,使用相同的确切连接和所有内容。因此,第一个图表仅按(Subgraph)子图显示查询量。
  • 在这里,我设置了它,每个日志都有一个界面,然后对于每个日志,我可以查看不同的错误摘要,然后我有一个初始化的 LLM 聊天,可以帮助我解决不同组件的问题。
  • 然后我可以做很多不同的事情。我可以调整我的 PostgreSQL 数据库设置,这是我一开始意识到的一场彻底的灾难。例如,此界面允许您轻松地进行这些动态调整,运行不同的命令,然后还可以模拟您的分配管理。
  • 基本上,我正在构建过去分享的教程,获取所有这些数据并将其制作成索引器的有用界面。所以你可以关闭所有的分配和类似的事情,决定要同步哪些子图,这就是你在这里看到的 [时间戳 14:46]。您将拥有总查询数、子图的实体计数、信号、奖励比例等信息,您可以将所有这些内容放在一个地方,然后直接从界面同步子图。
  • 这只是第一步,也是一个早期版本。

删除Subgraph视频

  • 你可以根据子图的大小、它们获得的查询数量来删除它们,然后在这里 [15:37],你可以围绕它设置规则,然后一次性对子图进行广泛的暂停和删除。

服务质量指标视频

  • 在这里,你可以通过子图、链、延迟、后面的区块等信息来查看。

Matthew Darwin |Pinax:要进入 Grafana?(或者日志存储在哪里?索引器管理接口是用什么技术栈编写的?

Ricky:我为自己的索引器设置它的方式是,我基本上将每个日志放入一个文本文件中,然后我从中读取(为了简单起见),但我确实想在它使用传统日志记录内容的地方设置它。所以我会考虑使用 Loki 和其他来源。一开始,我将所有 Docker 容器日志输出到文本文件中并从中读取,但总的来说,我的目标是使其与现有堆栈兼容。到目前为止,我一直在使用 Payne 的 Docker 容器堆栈,在新索引器上设置它的方式是,它基本上是从您传统设置的变量中读取,这几乎就是所需的全部内容。对于 Payne,我正在进行新的设置,我们将评估如何最好地在该设置以及其他索引器上进行设置。

在过去的几周里,我一直没有处理这个问题,因为我一直需要升级我的索引器,而 Payne 非常乐于助人,为我的新索引器处理了所有事情。希望这将是一次非常棒的合作,并将为索引器社区带来有价值的工具。

索引器完全准备就绪后,我们将要关注的一件事是长时间运行的查询和围绕索引创建自动化等。如果其他人想使用这些工具,它可能会开始对成本节约产生非常有意义的影响。我想让这个设置尽可能简单。它只需要 .env 变量并从那里找出问题。特别是这部分,将是一项正在进行的持续工作。非常感谢 Payne 的帮助,让我能够追求其中的一些事情。

stake-machine.eth :直接在 DB 中删除子图或通过 graphman / API?Vector.dev + Loki 应该不错。

Ricky:从本质上讲,它的工作方式是我有一个 shell CLI 命令,它的工作方式与传统命令非常相似,当您运行它时,您可以与 CLI 交互。所以我编写了一个略有不同的版本,一次只运行一个命令,然后退出,这样,通过我的自动化,我可以直接通过管道命令。所以,是的,其中一些并不是最好的方法,但这就是对我来说有效的方法。

stake-machine.eth 中:我们已经要求 graphman API 很久了。🙂

Matthew Darwin |Pinax:穷人的 API。

里奇:接下来,我的目标是开始以实际合理的方式展示使用 AI 代理的不同功能应用程序,希望这些应用程序能够很好地工作。希望将来我能够分享一个更生动和有效的版本。一旦我们完成了索引器设置,我们将继续为我自己的索引器(Payne 的索引器)尝试一下,然后与任何想要使用它们的人共享更多这些工具。

Matthew Darwin |Pinax:索引器管理接口是用什么技术栈编写的?

Ricky:这是在 Python 中使用并使用名为 Shiny for Python Express 的工具,该工具来自一家专门从事 R 编程的公司。我分享的原始教程是用 R 编写的。他们在 Python 生态系统中创建了一些工具来创建应用程序,这就是我正在使用的工具,但该工具本身是可以互换的。

Matthew Darwin |Pinax:很想试试。非常酷的东西。

ISA 评分视频 [23:45]

Ricky:这将实时显示您的 ISA 分数。所以,这是采用公共 ISA 存储库,有点像逆向工程,非常接近实时版本。您可以查看不同子图和不同链的分数明细,并能够发现任何问题。其中很多工作仍在进行中。

这是更广泛的七步项目路线图的一部分。对于其中一些,最好从这个小组那里获得反馈,看看是否对这些事情有任何保留。

  1. 自动管理:
  2. 策展信号分配优化器
  3. Automated Curation Assistant 演示
  4. 自动委托
  5. 自动化工具以最大限度地减少提供的不准确数据:查询一致性
  6. 自动执行索引器操作:
  7. 索引器管理界面
  8. 日志控件:Demo
  9. 删除子图
  10. QoS 指标
  11. ISA 评分
  12. 自动化子图开发:子图开发 demo
  13. 构建与 GRC-20 兼容的终极编码工作流程。这是主要项目,也是我正在构建的目标。在我看来,下一个演变是知识/记笔、AI 代理和编码环境的自然集成,所有这些都比今天更加和谐地工作。此外,很明显这样做,[同时] 保持与 GRC-20 和 Obsidian 的兼容性并免费提供所有这些功能,开始变得比花钱让人们向 Geo: Knowledge flow 演示添加信息更具可持续性和更高的质量。
  14. 利用我正在开发的工具的全自动公共产品软件 AI 代理贡献者。

Ricky:我有一个策展工具,您可以在其中找到不同的机会。在这里,您可以看到每个子图有多少个查询。我已经在某种程度上展示了这一点,但它过去有一些问题,现在它已经修复了。

在此基础上,我构建了一个代理示例。

  • Automated Curation Assistant 演示

您有一个界面,可以通过它进行管理。在这里,我向它请求一些好机会,它指出了两个 APR 高于 100% 的机会。

它还会将这些可视化,以便我可以看到随着时间的推移,然后一旦我有了这些信息,我就可以要求它执行某种类型的管理策略。

我认为这是一个很好的例子,因为有些人认为 AI 代理是你可以要求做任何事情的东西,但在这种情况下,我将 AI 代理视为非常小的模块化组件,其目标是知道在正确的时间与哪些工具交互,所以当你要求它给你一个管理机会列表时, 它总是会给你相同的列表。

你可以在我一直在试验的另一个工具中看到这一点,对于任何给定的子图,你可以从状态端点获取一个状态,告诉你给定子图上的查询一致性是什么样的,然后当它检测到不一致时,它能够找到不同索引器之间的分歧块,然后使用该信息, 它可以查找索引器的实体更改,并将其与实际的链上信息进行比较,从而获得链上事实。

在此上下文中,您可以看到 AI 代理所做的只是为作业选择合适的工具,而不是实际为您提供响应本身的 AI 代理。

我现在正在用不同的 AI 代理和项目做很多实验。

我正在构建的一切都是为了以某种方式改进协议,我认为所有这些事情都是如此。能够与这个小组讨论这些事情是有帮助的,这样我们就可以确定我们认为对方案无益的任何领域。

撇开策展不谈,你可以看到关于如何管理委托的类似设计,你有这种 AI 工具,但最终你有一个人工在循环中确认决策并做出不同类型的决策。

我将开始开发一些更专业的代理来管理我的索引器的不同方面,从那里开始,我在为Edge & Node工作的时间里发现的一个重要项目是更多地自动化子图开发。这可能是对生态系统的一个非常好的附加值。通过 The Graph 获得更多可用和访问的数据是一项重大任务。我们可以看到所有链上活动都可用,因此我想开始削减 The Graph 上目前不存在的一些高价值合约和项目,尤其是在 The Graph 支持的某些链上,例如 Base 和 Solana。我认为我们可以看到很多活动目前在 The Graph 上不存在,我认为让这种情况更容易发生是一个很大的方面。

能够从 The Graph 进行查询并不一定必须成为 subgraph 开发人员,因为根据我的经验,这是相当具有挑战性的。这是我开始取得一些进展的。

  • Subgraph 开发演示

[33:22]

你可以看到你可以提供一个合同,然后它会帮助你完成开发子图的过程。您可以生成架构,并且将有一个很好的起点。它将为您提供 AI 驱动的建议,让您添加不同的内容。然后你继续进行映射,有点类似的事情。

Matthew Darwin |Pinax:graph-cli 中的 AI 代理?

最终,我想努力的主要项目之一是创建一个非常好的内容管理界面并编写您自己的笔记。如果你熟悉的话,你可以把它看作是 Obsidian 或 Roam Research 风格,并将所有内容信息集中在一个真正容易对接不同类型编码项目的地方。

如果你开始把这些部分整合在一起,把这个知识内容管理系统和编码、项目和你关心的东西整合在一起,并更好地整合这些东西,我认为你就会开始拥有相当强大的软件。如果你以一种与 Geo 之类的东西兼容的方式向人们提供它,那么它就会开始开辟一些非常有趣的可能性。

  • 知识流演示

以一种与 Obsidian 非常相似的格式存储我的所有笔记,但你实际上可以将这些信息带入更多预装了 LLM 的编码环境中,然后你可以连接已经设置好所有内容、所有文件的东西,它有点像它自己的开发环境。

我认为与付钱让人们填写知识图谱相比,这样的东西是一个很好的解决方案。我对 Geo 工作的看法是创建人们愿意付费但免费提供的东西,并使其与 GRC-20 标准兼容。

我确实设法制作了一些与 GRC-20 兼容的东西,并将数据写入我自己的数据库。我仍然在调整很多不同的东西。

这些都是朝着这个方向前进的垫脚石。

[38:38]

现在,我所做的一切都是为了简化索引器操作、更高效,并为这个社区提供价值,因此,作为索引器,如果您有任何困难的领域,我想听听它们,看看我能做些什么来提供帮助。

我将开始共享我的所有代码,尤其是 Python 代码。最初,我的计划是开发这些工具,更多地将它们用于我自己的工作,但我开始更倾向于从一开始就公开所有内容,任何想做出贡献的人都可以。

在我的网站上,对于查询一致性工具,我提供了它,所以你看到的 AI 代理工具是开源的。

Matthew |Pinax:Ricky,你的东西看起来很棒。我听到你说的我最感兴趣的事情是:

  • 索引器调整,所以查找长查询,创建索引,这非常关键。
  • 有关如何更快、更好、更轻松地构建子图,以及如何统一我们拥有的工具集(Graph CLI、Substreams 开发容器)的资源。如何构建一套更全面的工具,不会让用户感到困惑。
  • POI 调查,如果我们要开始收集日志,将其提供给 POI 调查工具会有所帮助。

很乐意与您合作开发这些工具。

Ricky:是的,当然这些都是很棒的标注。谢谢,Matthew。关于最后一点,对于我展示的查询一致性工具,我想努力的一件事是 — 我正在等待 graphix 变得更加公开,以便我用作工具,因为这样当涉及到实际数据时,您就有了这个有点可信的事实来源,然后您有一个界面,每个人都可以轻松地与自己的数据交互和收集。 但随着时间的推移,您至少将 Graphix 作为这个扎实的真相来源。我很想在所有这些事情上继续与你们合作。

Marc-André |Ellipfra:是的,Ricky 已经想出了很多有用的 POI 工具。连接到日志是一个有趣的想法,Matthew。显然,要实现这一点有几个挑战。

Matthew Darwin |Pinax:我们聊聊如何实现这一目标......

Vince |Nodeify:Ricky,我为 graphix 图像制作了一个管道。

Ricky:如果有人想看一看或开始考虑其中一些工具如何很好地用于他们的堆栈,我将努力使我今天拥有的工具可供公开访问和可用。我想对于很多索引器来说,我用于自己的堆栈的东西不会是一个现实的方法,而且我不太熟悉其他堆栈可能是什么样子。我认为探索它如何与 Launchpad 和 Kubernetes 之类的东西很好地配合会有所帮助。我会开始分享,然后也许我们可以作为一个小组迭代其中的一些事情。

Matthew Darwin |Pinax:是的,肯定对与 Launchpad 集成感兴趣。

(相关专业名词、注释、代码库、超链接等请关闭博客查找)

#web3数据 #TheGraph #区块链数据索引

评论

所有评论

推荐阅读