关于 xrpl
xrpl 是一项为使用 xrpl.js 构建更安全应用提供规则指导的编码技能,涵盖安全、钱包、交易、金额和连接实践,并链接上游文档与可运行示例。
主要功能
- 01按任务查找规则
- 02支付与交易安全要点
- 03钱包和签名指导
- 04金额处理与分页实践
- 05链接文档和代码示例
适用场景
- 01实现安全的入账处理
- 02构建并提交 XRPL 交易
- 03审查 XRPL 集成的安全性
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ peersyst/ xrplskills --skill xrpl安装后在 Claude Code 中输入/xrpl确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
metadata.jsonrules/amounts.mdclient.mdread-pagination-marker.mdsecurity-lastledgersequence.mdsecurity-partial-payment.mdsecurity-validate-destination-tag.mdsecurity-validate-meta.mdtx-autofill-before-sign.mdtx-handle-tec-codes.mdtx-idempotent-retry.mdtx-submitandwait.mdwallet-prefer-ed25519.mdwallet-regular-key-for-hot-wallets.mdwallet-secure-entropy.md详细介绍
xrpl
rules/ 下的每条规则都是独立的:包含错误示例、正确示例,以及指向 xrpl.js 上游源代码、xrpl.org 文档和(如有)XRPL Developer Portal 代码示例的链接。使用下方索引,跳转到与任务相关的规则。
此技能不是 API 参考。完整的类型签名请参阅 js.xrpl.org。XLS 协议规范请使用配套的 xrpl-standards 技能——如果工作涉及 AMM、MPT、NFToken、Credentials、Batch 等,请同时加载这两项技能。
请先阅读:安全
以下四条规则不可妥协。违反其中任何一条都曾导致资金损失。
security-partial-payment— 处理收到的付款时,始终使用delivered_amount入账,绝不要使用Amount。部分付款膨胀是 XRPL 交易所的典型攻击手法。security-validate-meta— 初步的tesSUCCESS不代表交易已应用。只有已验证账本中的 meta 才具有权威性。security-lastledgersequence— 提交交易时绝不能省略LastLedgerSequence。否则交易可能在数周后重放。security-validate-destination-tag— 遵守requireDestTag;托管目的地址缺少标签会导致资金损失。
何时阅读哪些规则
在编写代码之前,将用户的任务对应到需要查阅的规则。
| 用户的任务或描述 | 阅读这些规则 |
|---|---|
| “为收到的付款入账”、“存款处理程序”、“监控付款” | security-partial-payment、security-validate-meta、read-pagination-marker |
| “签名并提交”、“发送交易”、“发送 XRP” | tx-autofill-before-sign、tx-submitandwait、security-lastledgersequence、tx-handle-tec-codes |
| “设置交易所存款地址”、“托管账户” | security-validate-destination-tag、wallet-regular-key-for-hot-wallets |
| “生成钱包”、“密钥管理” | wallet-secure-entropy、wallet-prefer-ed25519、wallet-regular-key-for-hot-wallets |
| “连接到 rippled”、“websocket”、“重新连接” | client |
| “余额计算”、“转换 XRP / drops”、“IOU 数值” | amounts |
| “重试失败的交易”、“tec 错误” | tx-handle-tec-codes、tx-idempotent-retry、tx-submitandwait |
| “列出信任线 / NFT / 报价”、“account_lines”、“account_objects” | read-pagination-marker |
| “审计我们的 XRPL 集成” | 先阅读所有 security-* 规则,再阅读 amounts 和 wallet-*。 |
完整规则索引
以下影响标签与各规则文件的 frontmatter(CRITICAL、HIGH、MEDIUM)相对应。
安全
security-partial-payment—CRITICAL— 读取delivered_amount,而不是Amountsecurity-validate-meta—CRITICAL— 等待validated: true后再入账security-lastledgersequence—CRITICAL— 始终设置LastLedgerSequencesecurity-validate-destination-tag—CRITICAL— 遵守目的地址上的requireDestTag
金额与数字
amounts—CRITICAL— XRP 使用 drops +BigInt,IOU 使用bignumber.js,绝不使用 JSnumber;遵守 IOU 15 位尾数限制
客户端与连接
client—HIGH— 每个应用共用一个Client,优先使用wss://而非https://,信任内置的重连机制,并始终在关闭时断开连接
钱包与签名
wallet-secure-entropy—CRITICAL— 只使用Wallet.generate();绝不自行编写熵生成代码wallet-prefer-ed25519—MEDIUM— 默认使用 ed25519wallet-regular-key-for-hot-wallets—HIGH— 使用SetRegularKey,以便禁用主密钥
交易与提交
tx-autofill-before-sign—HIGH— 签名前调用client.autofill(tx)tx-submitandwait—HIGH— 优先使用submitAndWait,而非submittx-handle-tec-codes—HIGH— 区分tec*(已应用,但失败)与tem*/tef*/ter*(未应用)tx-idempotent-retry—HIGH— 重试时复用Sequence或Ticketread-pagination-marker—MEDIUM— 对分页请求循环处理marker
代码示例
此技能中的规则说明了要做什么以及为什么要这么做。需要可运行的端到端示例(了解如何实际构造、签名并提交交易)时,请参阅 XRPL Developer Portal 代码示例。这些示例由 XRPLF 维护,并会及时更新以适配 xrpl.js。请优先使用这些示例,而不要自行编写示例代码。
| 任务 | 示例 |
|---|---|
| 构造并发送 XRP 付款 | send-xrp |
| 为付款添加备注 | send-a-memo |
| 安全处理部分付款 | partial-payment |
| 监控账户的入账付款 | monitor-payments-websocket |
| 提交交易并确保最终性,支持重试 | reliable-tx-submission, submit-and-verify |
预先检查目标地址的 requireDestTag | require-destination-tags |
遍历分页的 account_* 响应 | markers-and-pagination, walk-owner-directory |
| 配置常规密钥 / 禁用主密钥 | assign-regular-key, disable-master-key |
| 离线签名 / 多重签名 | secure-signing, multisigning |
使用 Tickets 并行提交 | use-tickets |
| 已发行货币 / IOU | issue-a-token, freeze, clawback |
| AMM | create-amm, amm-clob |
| NFToken | non-fungible-token, nft-modular-tutorials |
| MPT(多用途代币) | mpt-generator, mpt-sender, issue-mpt-with-metadata |
| Escrow、Checks、Payment Channels | escrow, checks, claim-payment-channel |
| Credentials、DID | credential, issue-credentials, verify-credential, did |
| 从零开始 | get-started, quickstart |
| 当用户询问“如何发送付款/铸造 NFT/设置托管”,且答案需要可运行代码时,请获取匹配的示例并据此调整——不要凭记忆复述结构。 |
使用方法
从上面的表格中选定一条规则后,读取其文件:
Read <skill-dir>/rules/<rule-name>.md
<skill-dir> 会解析为该技能的安装位置——用户级 Claude Code 安装位于 ~/.claude/skills/xrpl/,项目级安装位于 .claude/skills/xrpl/,claude.ai 上位于 /mnt/skills/user/xrpl/,也可能位于由插件管理的路径。不要将目录写死;应依赖宿主解析的路径。
每个规则文件包含:
- Frontmatter —
title、impact(CRITICAL / HIGH / MEDIUM)、tags,以及适用时的xrpl_js_source、upstream_docs、code_sample。没有合适链接的字段会被省略;这些都应视为可选元数据。 - 为何重要 — 一两句话说明可能出现的故障。
- 错误示例 — 常见的错误代码示例。
- 正确示例 — 符合惯用写法的修正方案。
- 备注 — 边缘情况、相关修正案、版本注意事项。
- 另请参阅 — 明确链接到上游 xrpl.js 源文件、xrpl.org 协议文档,以及(如有)开发者门户代码示例。
配套技能:xrpl-standards
如果任务涉及某项特定的 XLS 修正案(AMM、MPT、NFToken、Credentials、Batch、DID、Clawback、Permissioned DEX 等),请同时加载 xrpl-standards 技能。该技能包含原始规范文本——字段定义、交易格式、账本对象、失败条件——而本技能有意不重复这些内容。
权威外部资源
- xrpl.js API 参考:https://js.xrpl.org
- xrpl.js 源代码:https://github.com/XRPLF/xrpl.js
- 协议文档:https://xrpl.org/docs
- 代码示例:https://github.com/XRPLF/xrpl-dev-portal/tree/master/_code-samples
- 标准(XLS):加载
xrpl-standards技能