You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cardano智能合约Vesting接收方钱包为空时执行失败的优化方案问询

Plutus Vesting 合约空接收钱包交易失败修复方案

问题根因

Cardano 链上所有交易的手续费必须由交易中包含的用户持有的 UTXO 覆盖,原 Vesting 代码默认将接收方作为交易手续费承担方,空钱包没有可用 UTXO 满足手续费抵扣要求,因此交易执行失败。

可行修改方案

  • 调整手续费承担方:修改交易构建逻辑,将手续费承担方指定为资金发放方,构建交易时直接将发放方的 UTXO 纳入交易输入用于抵扣手续费,不需要接收方提供任何 UTXO。
  • 脚本内预留手续费:修改 Vesting 资金存入逻辑,要求存入脚本的总金额 = 约定解锁金额 + 预估解锁手续费,解锁时手续费直接从脚本锁定的金额中扣除,剩余部分发放给接收方。
  • 新增预充值流程:在触发解锁前,先由发放方向接收方地址转入小额 ADA(通常仅需 0.2~0.5 ADA 即可覆盖手续费+最低 UTXO 要求),待接收方地址有可用 UTXO 后再执行正式解锁交易。
  • 优化交易签名规则:修改合约校验逻辑,允许解锁交易仅由发放方单方签名即可执行,手续费从发放方提供的输入 UTXO 中扣除,接收方无需参与签名也无需承担任何交易成本。
  • 调整交易输出配置:如果需要保留接收方承担手续费的逻辑,可在解锁交易的输出中额外给接收方补充满足手续费要求的小额 ADA,确保接收方收到的资产足够覆盖本次交易手续费,无需预先持有 ADA。

内容的提问来源于stack exchange,提问作者weera

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 09:15:03