首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Plutus Smart Contracts中不均匀地分配金额

如何在Plutus Smart Contracts中不均匀地分配金额
EN

Stack Overflow用户
提问于 2021-10-12 10:25:00
回答 1查看 40关注 0票数 0

我需要使用Plutus创建一个智能合约,将一笔金额不等地分配给2个钱包,这样我就可以为每笔交易定义自定义费用。我正在使用this documentation。我需要的是,我想将金额分成两个不相等的金额,并分别发送到一个单独的钱包。假设用户想要从他的钱包A向钱包B发送7$,我之前为每笔交易定义的额外费用是2$。使用下面的代码块,我如何将9$除以7$和2$,然后将它们发送到钱包B和C (C是我的钱包)。

代码语言:javascript
复制
validateSplit :: SplitData -> () -> ScriptContext -> Bool
validateSplit SplitData{recipient1, recipient2, amount} _ ScriptContext{scriptContextTxInfo} =
    let half = Ada.divide amount 2 in
    Ada.fromValue (valuePaidTo scriptContextTxInfo recipient1) >= half &&
    Ada.fromValue (valuePaidTo scriptContextTxInfo recipient2) >= (amount - half)
EN

回答 1

Stack Overflow用户

发布于 2021-10-22 12:06:39

好吧,如果你事先知道你的费用,为什么不把它包含在参数列表recipient1, recipient2, amount, fee中。所以你可以相应地减去它。或者,如果它始终是2 Ada,并且将始终是2 Ada,那么只需在合同中对其进行硬编码。否则,合同应该如何知道进入你钱包的费用(C)和进入另一个钱包的费用(B)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69538902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档