mcpField
S
Snap Protocol Solana

Snap Protocol Solana

本地服务
github.com/agentzeny金融数据021 周前更新

关于 Snap Protocol Solana

Snap Protocol Solana 是面向 AI Agent 间私密转账的 Solana 支付协议和 SDK。它通过屏蔽池与零知识证明,阻止观察者将提现关联到特定存款。

主要功能

  1. 01SOL 和 USDC 屏蔽池
  2. 02Groth16 提现证明
  3. 03Merkle 路径票据处理
  4. 04中继式私密提现
  5. 05Agent Kit 与 LangChain 工具

适用场景

  1. 01在 Agent 之间进行私密支付
  2. 02提现时避免关联到特定存款
  3. 03通过中继提现实现 Gas 抽象

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"snap-public": {
"command": "npx",
"args": [
"-y",
"tsx"
],
"env": {
"SNAP_RPC_URL": "<SNAP_RPC_URL>",
"SNAP_POOL_ADDRESS": "<SNAP_POOL_ADDRESS>"
}
}
}
}
启动命令npx -y tsx
需要配置的环境变量
SNAP_RPC_URL
SNAP_POOL_ADDRESS

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmtsx

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

SNAP — Shield Network Agent Payments

在 Solana 上使用零知识证明实现 Agent 对 Agent 的私密支付。

GitHub stars snap-solana-sdk snap-langchain-tools License: MIT Solana

SNAP 已在 Solana 主网上线。有关该协议的威胁模型和信任假设,请参阅安全文档。

SNAP 的功能

SNAP 让 AI Agent 能够相互支付,而链上观察者无法得知付款双方。存款会通过密码学承诺存入一个屏蔽池。取款时,用户需提供 Groth16 证明,证明收款人有权获得这笔资金,同时不会泄露其申领对应的是哪笔存款。

工作原理

  1. Agent A 将 SOL 和一份承诺存入池中。
  2. Agent A 通过私密渠道向 Agent B 发送一条秘密便笺。
  3. Agent B 重建 Merkle 路径并生成 Groth16 证明。
  4. Agent B 使用 withdraw_zk 或 withdraw_zk_relayed 提取 SOL。
  5. 观察者 可以看到池中的活动,但无法将取款与特定存款关联起来。

快速开始

安装 SDK 及其对等依赖:

npm install snap-solana-sdk @solana/web3.js @coral-xyz/anchor

最简私密支付:

import { Connection, Keypair, PublicKey, clusterApiUrl } from "@solana/web3.js";
import { SNAPClient } from "snap-solana-sdk";

async function main() {
  const connection = new Connection("https://your-rpc-url.com", "confirmed");
  const sender = Keypair.generate();
  const recipient = Keypair.generate();
  const pool = new PublicKey("B8SyffZKt8LABKogWjH9rZcjY5PV2hyYRCbTxxbcrpFf");

  const snapA = new SNAPClient(connection, sender);
  const snapB = new SNAPClient(connection, recipient);

  const note = await snapA.deposit(pool, 0.1);
  const serialized = SNAPClient.serializeNote(note);
  await snapB.withdraw(pool, SNAPClient.deserializeNote(serialized), recipient);
}

void main();

如果你想运行本仓库中的演示,请使用:

npx tsx examples/basic-payment.ts
npx tsx examples/agent-to-agent.ts
npx tsx examples/relayed-withdrawal.ts

架构

组件描述
Solana 程序Anchor 程序,包含 deposit、withdraw_zk 和 withdraw_zk_relayed
ZK 电路使用 Poseidon 和深度为 10 的 Merkle 树的 circom Groth16 电路
SDKsnap-solana-sdk,用于便笺处理、证明生成和客户端 API
Agent Kit 插件Solana Agent Kit v2 插件,包含 snap_create_pool、snap_deposit、snap_withdraw 和 snap_withdraw_private
LangChain 工具snap-langchain-tools — 面向 LangChain/LangGraph Agent 的 StructuredTool 封装
中继器用于抽象 Gas 的私密取款 Express 服务

主网

池的面额为 0.1 SOL、1 USDC 和 10 USDC。信任假设请参阅 THREAT_MODEL.md。

字段值
程序 ID9uePoqdgaXpqFLQM2ED1GGQrwSEiqe3r6tW1AfsnrrbS
池 — 0.1 SOLB8SyffZKt8LABKogWjH9rZcjY5PV2hyYRCbTxxbcrpFf
池 — 1 USDC5LeuHrPBgHNhgbCy996MEjcsBk5gNHhVj6AiuuCHZ8od
池 — 10 USDCECuHf8kgiWfmL3Q6id4WGBQWvuukhzqvF5vsxuPAKZBv
网络Solana 主网 beta
协议费用0.25%

项目结构

├── programs/           # Solana program (Rust/Anchor)
├── circuits/           # circom ZK circuit
├── sdk-package/        # snap-solana-sdk npm package
├── agent-kit-tool/     # Solana Agent Kit plugin
├── relayer/            # Express relay service
├── agents/             # Demo agent scripts
├── examples/           # Minimal end-to-end examples
├── scripts/            # Deployment and quickstart scripts
├── docs/               # Troubleshooting, circuit, and compliance docs
└── tests/              # Integration tests

开发

# Build the Solana program
anchor build

# Run validator-backed tests
PATH="$HOME/.local/share/solana/install/active_release/bin:$PATH" anchor test --skip-build

# Build and test the SDK package
cd sdk-package && npm install && npm run build && npm test

安全

已知风险、协议限制和安全文档见 FINDINGS.md、docs/CIRCUIT_SPEC.md、docs/THREAT_MODEL.md、docs/COMPLIANCE.md 和 docs/GOVERNANCE.md。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。