NEO N3区块链-多合约交易的结构化费用



我正在用Python学习NEO区块链编程我已经开始做一个模块化的项目,不同的部分由不同的智能合约硬链接在一起执行。

我想有一个功能,如:发送1个NEO到合同A ->合约A制造1个XXX令牌并将其发送给合约B ->合约B做一些操作或将资金锁定一段时间,然后允许用户收回它

这是一个纯理论简化的例子来说明我的问题。在这种情况下,交易费如何支付?如果我想要一个合约呼叫另一个合约,这个合约需要支付这笔交易的费用吗?

N3费用由交易发送方(签名者#0)支付,特别是网络(验证/大小)和系统(执行)费用。无论执行多少代码,以及它与合约调用的关系有多深,都是平等计算的,并使用单一的系统费用支付。通常您通过invokefunction或invokescript RPC api(返回数据中的gasconsumed)进行测试调用来估计它。

合约可以支付系统费用,如果它是一个交易发送者(在这种情况下,它必须有一个适当的verify方法),但这将是相同的模型——一个发送者账户支付整个执行。