关于 ton-swap
ton-swap 是通过 DEX 聚合器在 TON 上兑换代币的技能,适用于需要按报价执行兑换的用户。流程包括模拟交易、用户确认及交易状态轮询。
主要功能
- 01按代币地址获取兑换报价
- 02使用人类可读金额
- 03发送前模拟并检查资金流向
- 04确认后执行并轮询交易状态
适用场景
- 01兑换原生 TON 与 Jetton
- 02先查询已知 Jetton 的地址
- 03在发送兑换交易前检查模拟结果
MCP 相关
该技能通过 TON MCP 工具获取兑换报价、模拟交易、发送交易并查询状态;可使用 get_known_jettons 解析代币地址。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ ton-org/ skills --skill ton-swap安装后在 Claude Code 中输入/ton-swap确认已加载。
详细介绍
交换 TON 代币
通过 DEX 聚合器在 TON 上交换代币。分两步进行:获取报价、向用户确认,然后执行。
MCP 工具
| 工具 | 必需参数 | 可选参数 |
|---|---|---|
get_swap_quote | fromToken、toToken、amount | walletSelector |
emulate_transaction | messages | validUntil |
send_raw_transaction | messages | walletSelector |
get_known_jettons | — | — |
工作流
- 如果用户提到了代币名称(例如,“USDT”“jUSDC”),调用
get_known_jettons以解析 jetton 地址 - 使用
fromToken、toToken和amount调用get_swap_quote- 原生 TON 使用
"TON",代币则使用 jetton 主合约地址 - 数量采用人类可读格式(例如,
"1.5"表示 1.5 TON)
- 原生 TON 使用
- 使用报价中的
transaction.messages调用emulate_transaction,对交换进行模拟运行——发送前验证预期的资金流动(TON/jetton 余额变化) - 向用户展示报价详情和模拟结果,并询问一个简短的是/否确认问题
- 使用报价返回的交易参数调用
send_raw_transaction - 使用返回的
normalizedHash轮询get_transaction_status,直到状态为completed或failed(参见ton-balance技能)。用户可以要求跳过轮询。
注意事项
- 执行前务必先向用户确认交换;如果可用,优先使用宿主客户端的结构化确认界面,否则接受自然语言的是/否回复,不要要求用户使用固定的确认短语
- 报价会返回可直接用于
send_raw_transaction的交易消息 - 执行后,默认轮询
get_transaction_status。用户可以指定是否检查状态。 - 如果未配置钱包,请先使用
ton-create-wallet技能
评论
支持 Markdown