ELSOUL LABO B.V.(总公司:荷兰阿姆斯特丹,首席执行官:川崎文武)及 Validators DAO 宣布,已开源公开用于通过 Solana Geyser gRPC 串流即时侦测 pump.fun 代币铸造的研究开发用范例代码。 本范例代码是一个实作范例,用于以串流形式接收 Solana 上发生的链上事件,并即时侦测符合特定条件的事件。以 pump.fun 的代币铸造为主题,您可以查看一个处理从 Solana Geyser gRPC 串流传来的数据,并侦测事件发生的架构。 范例代码:https://github.com/ValidatorsDAO/solana-stream/tree/main/temp-release/trade-app 以 pump.fun 代币铸造侦测为主题的即时 Solana 数据处理 pump.fun 的代币铸造,在 Solana 上发生的链上事件中,是一个作为即时数据处理主题容易理解的事件。通过侦测新代币铸造发生的瞬间,并将该信息传递给后续处理,可以确认 Solana 应用程序所需的事件驱动型基本结构。 在 Solana 的即时应用程序中,快速掌握链上发生了什么事至关重要。接收新事件、识别对象、提取必要信息、再传递给下一个处理。这个流程是通知、记录、监控、分析、索引处理、后端处理等多种 Solana 应用程序共通的基础。 这次公开的范例代码,是将此流程以 pump.fun 代币铸造侦测这一具体形式呈现出来。各位开发者可以阅读实际的代码,确认其运作,并根据自己的用途扩充侦测条件或后续处理。 通过 Solana Geyser gRPC 串流接收链上事件 处理 Solana 链上事件的方法有多种选择,包括 HTTP RPC、WebSocket、Geyser gRPC、Shredstream 等。其中,Geyser gRPC 串流适合持续接收 accounts、slots、blocks、transactions 等数据,并在应用程序端进行即时处理的架构。 HTTP RPC 是请求并取得所需信息的机制。适合用于历史确认、状态取得、个别交易的确认等。另一方面,若要持续追踪链上发生的事件,在事件发生后持续查找大范围的架构,容易在通信量、处理量、取得时机等方面造成较大的负担。 WebSocket 是 Solana 开发中被广泛使用的有用机制。另一方面,通过 Geyser gRPC 串流,可以将事件作为连续的数据流接收,并在应用程序端当场处理。对于像 pump.fun 代币铸造侦测这样希望快速捕捉特定链上事件的处理,采用串流型的架构,更容易组建以事件发生时点的数据为起点的处理。 以 HTTP/2 与 Protocol Buffers 实现高效的串流通信 gRPC 是以 HTTP/2 为基础的通信方式,可活用长寿命连接、连接多路复用、标头压缩,以及通过 Protocol Buffers 实现的二进位表示。对于持续接收大量数据并在应用程序端处理必要事件的用途,这些特性直接关系到通信效率和实作的整理。 在重复 HTTP/1 式 request/response 的架构中,容易形成每次需要信息时都发出请求、等待回应,然后在应用程序端再次判定的流程。虽然 WebSocket 可以利用永续连接,但在以 JSON 为基础的订阅或广泛通知为中心的架构中,接收到的数据的解释、筛选、后续处理的设计可能大量偏向应用程序端。 Geyser gRPC 串流是以 HTTP/2 和 Protocol Buffers 为前提,易于持续接收结构化 Solana 数据的机制。对于链上事件的即时侦测,需要以串流方式接收所需数据。