1

在 Ride4dApps 中,可调用函数返回 WriteSet、TransferSet 或 ContractResult,但我仍然不明白它们之间的主要区别?谁为这种 dApp 付费?

4

1 回答 1

1
  • TransferSet,它是一个 keyValue 列表,它定义了在您的合约调用时将进行哪些支付。
  • WriteSet,它是一个 keyValue 列表,它定义了在您的合约调用时将哪些数据存储在合约的帐户中(例如调用者地址和余额)。所以基本上它是一个数据条目列表,应该记录下来以读取 dApp 状态。
  • ContractResult,是WriteSet和TransferSet的组合。

发送者以 WAVES(1 + 4*(涉及的每个脚本的成本)) 向调用的矿工支付费用。

例子:

ContractResult(
             WriteSet([DataEntry(currentKey, amount)]),
             TransferSet([ContractTransfer(i.caller, amount, unit)])
            )

在哪里:

  • DataEntry (key : String, value : String | Binary | Integer | Boolean).
  • i.caller是调用者地址。
于 2019-03-28T16:11:15.727 回答