Skip to main content
本指南获取钱包在 Pump.fun 上部署的每个代币。它通过钱包的解析历史记录,直到历史记录耗尽,筛选出 Pump.fun 用于启动代币的两个指令。 这是解析 Streams 指南 跟踪 Pump.fun 铸造 的历史对应版本:相同的程序、相同的指令名称和相同的解码字段——按需获取,而不是实时推送。
1

查看程序

Pump.fun 通过两个指令根据版本来启动代币:createcreate_v2。解析事件通过与解析 Streams 相同的 IDL 目录解码指令,因此在匹配之前,通过其 describeProgram 方法确认确切的解码名称和账户角色:
Request
检查响应的 instructions 列表中是否有 createcreate_v2,以及在其 roles 列表中查找所需账户——通常是新的 mint 地址,和 creator 账户角色或 creator 字段在 args 中。两个指令版本不一定共享一个形状,这就是为什么下面的代码检查参数和几个角色名称而不是假设一个的原因。
2

构建请求

分页获取创建者钱包的历史记录:
值得提前了解三个与流过滤器的区别:
  • address 是必须的——不支持程序范围的扫描,所以您获取的是一个钱包的部署,而不是 Pump.fun 上的每个部署。对于信息流,使用 解析 Streams
  • 请求没有服务器端指令过滤器。历史记录返回地址触及的所有内容,下一步是在客户端筛选出 Pump.fun 指令。
  • 没有 includeFailed 开关。历史记录返回成功和失败的交易,因此在客户端检查 parsed.transactionStatus ——失败的部署永远不会产生活跃的铸造。
3

分页浏览历史记录

每个结果都携带交易的每个指令。扫描 parsed.instructions 以查找 create/create_v2 命中,并继续传递 paginationToken,直到它消失:
pumpfun-mint-history.js
4

提取每个部署

从解码指令中提取 mint、创建者和元数据,正如流监听器所做的那样:
检查 ix.decoded 是否存在,然后才能信任 argsaccounts ——否则,Pump.fun 程序的未识别构建将显示为 mint: null,仅能使用 rawDatarawAccounts

下一步

跟踪 Pump.fun 铸造

实时版本:一个重新连接安全的监听器,记录每个新部署着陆时的情况。