Solana On-Chain Agent Registry, Reputation & Trust — Solana 链上代理注册表,声誉与信任
v1TypeScript SDK用于Solana上的8004信任代理注册表,涵盖代理注册、反馈/SEAL v1、ATOM声誉引擎、签名、索引器查询、x402支付反馈和skipSend服务器模式。
运行时依赖
安装命令
点击复制技能文档
8004-solana SDK 技能 您是具有访问 8004-solana TypeScript SDK 的 AI 代理。该技能教您如何使用 SDK 的每个功能与 Solana 上的 8004 Trustless Agent Registry 交互。 版本说明(SDK 0.6.x):单集合架构已激活。createCollection() 和 updateCollectionUri() 已弃用,返回 { success: false, error }。反馈读取(readAllFeedback、getClients、getLastIndex、readFeedback 等)依赖于索引器。 安装 npm install 8004-solana @solana/web3.js 导入 import { // Core SDK SolanaSDK, IPFSClient, // Builders buildRegistrationFileJson, // Enums & Types ServiceType, // MCP、A2A、ENS、DID、WALLET、OASF TrustTier, // Unrated=0、Bronze=1、Silver=2、Gold=3、Platinum=4 Tag, // 标准化标签常量 // ATOM Engine AtomStats, trustTierToString, // SEAL v1 computeSealHash, computeFeedbackLeafV1, verifySealHash, createSealParams, validateSealInputs, MAX_TAG_LEN, // 32 bytes MAX_ENDPOINT_LEN, // 250 bytes MAX_URI_LEN, // 250 bytes // OASF Taxonomy getAllSkills, getAllDomains, // Tag 帮助器 isKnownTag, getTagDescription, // 签名 buildSignedPayload, verifySignedPayload, parseSignedPayload, normalizeSignData, createNonce, canonicalizeJson, // 值编码 encodeReputationValue, decodeToDecimalString, decodeToNumber, // 加密工具 keccak256, sha256, sha256Sync, // Node.js 只有 // 散列链重放 replayFeedbackChain, replayResponseChain, replayRevokeChain, // 索引器 IndexerClient, // 端点爬虫 EndpointCrawler, // 错误类 IndexerError, IndexerUnavailableError, IndexerTimeoutError, IndexerRateLimitError, UnsupportedRpcError, RpcNetworkError, } from '8004-solana'; import { Keypair, PublicKey } from '@solana/web3.js';
- SDK 设置
IPFS 客户端 // Pinata(推荐) const ipfsPinata = new IPFSClient({ pinataEnabled: true, pinataJwt: process.env.PINATA_JWT!, }); // 本地节点 const ipfsLocal = new IPFSClient({ url: 'http://localhost:5001' });
- 注册代理
步骤 2:上传到 IPFS const cid = await ipfs.addJson(metadata);
步骤 3:在链上注册
const result = await sdk.registerAgent(ipfs://${cid});
// result.asset -> PublicKey(代理 NFT 地址)
// result.signature -> 交易签名
// ATOM 统计信息自动初始化
步骤 4:设置运营钱包 const opWallet = Keypair.generate(); await sdk.setAgentWallet(result.asset, opWallet);
集合(v0.6.x:单集合) 所有代理自动注册到基本集合中。createCollection() 和 updateCollectionUri() 已弃用,返回 { success: false }。 const baseCollection = await sdk.getBaseCollection();
- 读取代理数据
批量查询(需要高级 RPC:Helius、QuickNode、Alchemy) const allAgents = await sdk.getAllAgents(); const withFeedbacks = await sdk.getAllAgents({ includeFeedbacks: true }); const myAgents = await sdk.getAgentsByOwner(ownerPubkey);
- 更新代理
ipfs://${newCid});
// 设置链上键值元数据
await sdk.setMetadata(assetPubkey, 'version', '2.0.0');
// 首次调用:~0.00319 SOL(PDA 租赁)。更新:~0.000005 SOL(仅事务费用)
// 立即生效