当我在智能契约中发现两种类型的函数时,我一直在阅读文档和评估示例:查看和更改方法。
// View方法是只读的。它们不修改状态,但通常返回一些值。 // Change方法可以修改状态。但是调用时不会收到返回的值。
来自https://docs.nearprotocol.com/hackathon/hackathon-startup-guide-10-min
这些要求有多严格?如果不保持这些假设(例如,在视图方法中修改状态,或者在更改方法中不进行修改),会发生什么情况?
发布于 2019-09-15 22:22:35
正如贝里盖伊所说,如果函数试图改变状态,near view
将失败。然而,我在这里建议r306526647限制是人为的,应该取消。我们应该允许用户以near view
的形式运行任何函数,并将其视为一次尝试,因为它有多个很好的用法:
发布于 2019-09-15 22:00:54
如果试图更改视图函数中的状态,则视图调用将失败。这种区别只有在调用函数时才能真正表现出来。视图函数应该通过near view
调用,而更改函数应该通过near call
调用。
https://stackoverflow.com/questions/57947920
复制相似问题