smartcontracts - 查看与更改智能合约的方法
问题描述
当我在智能合约中发现两种类型的功能时,我一直在阅读文档并评估示例:查看和更改方法。
// 视图方法是只读的。它们不会修改状态,但通常会返回一些值。
// change 方法可以修改状态。但是您在调用时不会收到返回值。
来自https://docs.nearprotocol.com/hackathon/hackathon-startup-guide-10-min
这些要求有多严格?如果这些假设不成立(例如,在视图方法中修改状态或在更改方法中未进行任何修改),将会发生什么?
解决方案
如果您尝试更改视图函数中的状态,则视图调用将失败。差异实际上仅在您调用该函数时才表现出来。视图函数应该通过调用,near view
而更改函数应该通过调用near call
。
推荐阅读
- c - 程序的错误输出,使用指向结构数组的指针
- python - 为什么 Pandas 抱怨 'n' 是 split 函数的无效关键字参数?
- geometry - what's the relationship between jaggedness and image resolution
- python - Flat file data cleanup with thousands or millions of records
- python - Pandas 数据框 groupby 使用独特的组合
- r - 在坐标翻转的“geom_bar()”图表上添加百分比变化
- r - ggplot: scale date monthly from Jan:Dec not Jan:Jan or Feb:Jan
- php - IDP Initiated SSO with Simple Saml
- javascript - Does setting an array element of type: object to null set the object value to null or just the array index?
- reactjs - React Bootstrap手风琴默认ActiveKey不起作用