在 Ride4dApps 中,可调用函数返回 WriteSet、TransferSet 或 ContractResult,但我仍然不明白它们之间的主要区别?谁为这种 dApp 付费?
问问题
52 次
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 回答