gpt4 book ai didi

nearprotocol - NEAR 跨合约调用(允许一个账户将资金从托管账户释放到另一个账户)

转载 作者:行者123 更新时间:2023-12-05 04:41:21 27 4
gpt4 key购买 nike

我正在尝试学习如何允许 1 个帐户(“捐赠匹配器”)将资金存入第二个帐户( this contract ,作为“托管”帐户),第三个帐户(常规“捐助者”)然后被允许触发发送到第四个帐户(“收件人”,例如慈善机构)。

我作为占位符编写的函数可能没有任何意义,因为我假设(如当前所写)它可能会从调用者/签名者而不是托管/ self /契约(Contract)转移资金:

function transferFromEscrow(destinationAccount: AccountId, amount: u128): ContractPromiseBatch {
// TODO: Fix this function!
const toDestinationAccount = ContractPromiseBatch.create(destinationAccount);
return toDestinationAccount.transfer(amount);
}

感谢您的帮助!

official NEAR repo让我期待在 index.ts 中看到工作示例和 02.using-multiple-calls ,但我没有看到。

我也把这个问题发到了https://github.com/near-examples/cross-contract-calls/issues/13

最佳答案

如前所述here ,没有办法从其他账户提取/转移代币,所以你应该设计你的合约,要求用户将一些代币存入你的合约(通过类似存款的函数调用附加代币)。在核心合约中有这种模式的很好的例子:

  • lockup contract根据时间表锁定资金
  • staking-pool锁定委托(delegate)股份的代币
  • multisig contract通过使用带有 future 调用的所有参数的 add_request 函数和接受先前请求并执行它的 confirm 函数,使用两次调用来启用 2FA

关于nearprotocol - NEAR 跨合约调用(允许一个账户将资金从托管账户释放到另一个账户),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70104458/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com