mcpField
T
ton-swap

ton-swap

github.com/ton-org其他10110 次安装25 周前更新
代码仓库

关于 ton-swap

ton-swap 是通过 DEX 聚合器在 TON 上兑换代币的技能,适用于需要按报价执行兑换的用户。流程包括模拟交易、用户确认及交易状态轮询。

主要功能

  1. 01按代币地址获取兑换报价
  2. 02使用人类可读金额
  3. 03发送前模拟并检查资金流向
  4. 04确认后执行并轮询交易状态

适用场景

  1. 01兑换原生 TON 与 Jetton
  2. 02先查询已知 Jetton 的地址
  3. 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_quotefromToken、toToken、amountwalletSelector
emulate_transactionmessagesvalidUntil
send_raw_transactionmessageswalletSelector
get_known_jettons——

工作流

  1. 如果用户提到了代币名称(例如,“USDT”“jUSDC”),调用 get_known_jettons 以解析 jetton 地址
  2. 使用 fromToken、toToken 和 amount 调用 get_swap_quote
    • 原生 TON 使用 "TON",代币则使用 jetton 主合约地址
    • 数量采用人类可读格式(例如,"1.5" 表示 1.5 TON)
  3. 使用报价中的 transaction.messages 调用 emulate_transaction,对交换进行模拟运行——发送前验证预期的资金流动(TON/jetton 余额变化)
  4. 向用户展示报价详情和模拟结果,并询问一个简短的是/否确认问题
  5. 使用报价返回的交易参数调用 send_raw_transaction
  6. 使用返回的 normalizedHash 轮询 get_transaction_status,直到状态为 completed 或 failed(参见 ton-balance 技能)。用户可以要求跳过轮询。

注意事项

  • 执行前务必先向用户确认交换;如果可用,优先使用宿主客户端的结构化确认界面,否则接受自然语言的是/否回复,不要要求用户使用固定的确认短语
  • 报价会返回可直接用于 send_raw_transaction 的交易消息
  • 执行后,默认轮询 get_transaction_status。用户可以指定是否检查状态。
  • 如果未配置钱包,请先使用 ton-create-wallet 技能

评论

支持 Markdown