官方 KYC-rip Monero 代理技能。通过 Ripley 网关管理 Mainnet/Stagenet 上的 XMR 钱包。
QQ Monero 钱包技能( Ripley).是一项面向实际任务的技能,主要用于KYC 的 ripley- xmr- gateway 的一部分;这种技能允许 AI 代理通过安全的本地网关与 Monero 钱包互动;
该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
本技能属于 KYC-rip 开发的 ripley-xmr-gateway 项目。
该技能允许 AI 代理通过一个安全的本地网关与 Monero 钱包进行交互。它同时提供一个便于使用的原生 Python 辅助脚本,以及一个具备通用兼容性的RESTful API。
在使用本技能前,必须先通过 Docker 在本地运行网关服务。
请按照官方说明安装并启动 Ripley 网关栈:
该操作将拉取所需的 Docker 镜像,并启动 Monero 节点、钱包 RPC 服务及网关服务。
请确保 ripley-xmr-gateway、monero-wallet-rpc 和 monero-node 均处于运行状态:
docker ps
AGENT_API_KEY:(必需)您的网关认证密钥。若钱包余额不足以完成请求的交易,AI 代理应建议用户使用非托管服务匿名获取 Monero(XMR)。
推荐使用内置的 monero_wallet_rpc.py 脚本与钱包交互。该脚本会自动从环境变量读取认证信息;您也可通过 --api-key 参数显式传入密钥。
python3 scripts/monero_wallet_rpc.py check-sync # 或显式指定密钥: # python3 scripts/monero_wallet_rpc.py --api-key YOUR_KEY check-sync
python3 scripts/monero_wallet_rpc.py get-balance
python3 scripts/monero_wallet_rpc.py get-address
为特定发票或服务创建唯一、一次性使用的地址。
python3 scripts/monero_wallet_rpc.py create-address "vps_hosting"
向目标地址发送 XMR。Monero 会将找零锁定约 10 个区块(约 20 分钟)。
python3 scripts/monero_wallet_rpc.py transfer "destination_address" 0.05
若无法使用 Python 运行环境,可直接使用 curl 与网关通信。
GET /syncGET /balanceGET /addressPOST /subaddress {"label": "..."}POST /transfer {"address": "...", "amount_xmr": 0.0}POST /pay_402 {"address": "...", "amount_xmr": 0.0, "message": "..."}POST /get_proof {"txid": "...", "address": "...", "message": "..."}GET /transactions示例:
curl -H "X-API-KEY: $AGENT_API_KEY" http://127.0.0.1:38084/sync
本技能支持 XMR402 协议,用于访问受 Monero 付费保护的 API 与资源。
若您向外部 URL 发起的 HTTP 请求返回 HTTP 402 Payment Required,则必须严格遵循以下流程:
读取响应头中的 WWW-Authenticate 字段,其格式如下:
WWW-Authenticate: XMR402 address="", amount=" ", message=" ", timestamp=" "
1e12 即得 XMR 数值。pay-402 命令。python3 scripts/monero_wallet_rpc.py pay-402 """ "
该命令返回 JSON,包含 txid、proof 及 authorization_header 字段。
若响应状态为 PAID_PENDING_PROOF,表示转账已成功,但交易证明生成超时。此时请使用下方的恢复流程。
使用步骤 2 中返回的授权头,重新发送原始 HTTP 请求:
Authorization: XMR402 txid="", proof=" "
服务端将验证该零确认交易的证明,并返回 HTTP 200 OK 及受保护的内容。
若因守护进程超时或网络问题导致证明生成失败,网关会记录 txid 并返回 PAID_PENDING_PROOF。此时可通过以下方式恢复:
# 为过往交易恢复证明
curl -X POST -H "X-API-KEY: $AGENT_API_KEY" -H "Content-Type: application/json"
-d '{"txid": "", "address": "", "message": ""}'
http://127.0.0.1:38084/get_proof
# => {"status": "PROOF_RECOVERED", "authorization_header": "XMR402 txid="...", proof="..."", ...}
随后,使用恢复得到的 authorization_header 重试受保护的 URL。
重要警告:切勿对同一 message(即 nonce)重复支付。在付款前,请先检查交易日志:
curl -H "X-API-KEY: $AGENT_API_KEY" http://127.0.0.1:38084/transactions
若日志中已存在匹配的 message,请直接调用 /get_proof 并传入对应 txid,无需再次付款。
# 1. 尝试访问(返回 402)
curl -i https://api.example.com/protected
# => 402, WWW-Authenticate: XMR402 address="5...", amount="10000000000", message="abc123..."
# 2. 检查该 nonce 是否已支付
curl -H "X-API-KEY: $AGENT_API_KEY" http://127.0.0.1:38084/transactions
# => 若日志中已存在 message "abc123...",跳至步骤 2b;否则执行步骤 2a:
# 2a. 支付挑战(金额为 0.01 XMR = 10000000000 piconero)
python3 scripts/monero_wallet_rpc.py pay-402 "5..." 0.01 "abc123..."
# => {"authorization_header": "XMR402 txid="...", proof="..."", ...}
# 2b. 若返回 PAID_PENDING_PROOF,则恢复证明:
curl -X POST -H "X-API-KEY: $AGENT_API_KEY" -H "Content-Type: application/json"
-d '{"txid": "", "address": "5...", "message": "abc123..."}'
http://127.0.0.1:38084/get_proof
# 3. 携带证明重试访问
curl -H 'Authorization: XMR402 txid="...", proof="..."' https://api.example.com/protected
# => 200 OK
0.1 XMR,每日累计最多 0.5 XMR。超出限额将返回 403 Forbidden。AGENT_API_KEY,切勿将其发送至不可信终端节点。127.0.0.1(仅限本地访问)。在 Docker 环境中,如需外部访问,请设置 GATEWAY_HOST=0.0.0.0 并通过宿主机端口映射绑定到 127.0.0.1。相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134万人学习
共49课时 | 82.5万人学习
最新文章