用 Go 监控 PumpSwap 流动性:三步搞定

  • 晓道
  • 发布于 2025-05-09 18:04
  • 阅读 787

用Go监控PumpSwap流动性:三步搞定

用 Go 监控 PumpSwap 流动性:三步搞定

最近我基于 Pump.fun 的 pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA.json IDL,用我的 solana-anchor-go 项目写了个简单工具,实时监控 PumpSwap 的流动性事件(比如新池子创建),特别适合抢开盘或分析市场。我把过程浓缩成三步,代码清晰又实用。如果觉得不错,欢迎到 solana-anchor-go 点个 star 支持!

前提准备

环境:Go 1.18+,Solana RPC 节点(推荐 helius 申请个免费的账号,或者https://api.mainnet-beta.solana.com)。

依赖:安装我的 solana-anchor-go:

go install github.com/daog1/solana-anchor-go@latest

IDL:PumpSwap 的 IDL 文件,在 github 仓库里面有(假设你已下载为 pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA.json)。

步骤 1:生成 IDL 的 Go 接口

用 solana-anchor-go 把 pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA.json 转换为 Go 代码,生成 PumpSwap 的接口。

运行以下命令:

solana-anchor-go -src=pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA.json

这会生成 generated/pump_amm包,包里面的内容和idl文件中的指令定义、账号、事件一一对应.比如 CreatePoolEventEventData(新池创建事件)。

步骤 2:监听 PumpSwap 事件

PumpSwap 的程序 ID 是 pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA。我们用 Go 订阅它的日志。

代码如下:


package main

import (
    "context"
    "log"

    "github.com/gagliardetto/solana-go"
    "github.com/gagliardetto/solana-go/rpc"
    "github.com/gagliardetto/solana-go/rpc/ws"
)

func main() {
    // 连接 WebSocket
    client, err := ws.Connect(context.Background(), "wss://api.mainnet-beta.solana.com")
    if err != nil {
        log.Fatalf("连接失败: %v", err)
    }
    defer client.Close()

    // PumpSwap 程序 ID
    programID := solana.MustPublicKeyFromBase58("pAMMBay6oceH9fJKBR...

剩余50%的内容订阅专栏后可查看

点赞 0
收藏 1
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论