【发布时间】:2021-01-19 03:20:41
【问题描述】:
我应该为 NEAR 协议的每次读取付费吗?
如何查看 NEAR 协议智能合约中存储的价值? (例如质押池费用)
查看和更改方法有什么区别?
【问题讨论】:
标签: nearprotocol
我应该为 NEAR 协议的每次读取付费吗?
如何查看 NEAR 协议智能合约中存储的价值? (例如质押池费用)
查看和更改方法有什么区别?
【问题讨论】:
标签: nearprotocol
我应该为 NEAR 协议的每次读取付费吗?
TL;DR:不,你不应该。
在 NEAR 协议中,有多种方式可以与智能合约进行交互:
query(call_function) JSON RPC method,会在只读环境下获取RPC节点自身执行的指定方法,并且该调用永远不会通过区块链记录/证明(对于near-api-js来说这些是“查看方法”)您只能通过第一种方法更改状态和链式操作(例如跨合约调用、代币转移或访问密钥添加/删除),因为区块链希望用户承担执行成本,因此用户应该签署他们的交易,他们将被收取执行费用。
有时,您不需要更改状态,相反,您只想读取存储在链上的值,并且为它付费是次优的(尽管如果您需要证明操作已经完成,它可能仍然是可取的)。在这种情况下,您会更喜欢第二种方法。通过 JSON RPC 调用方法是免费的,并且在合约执行期间提供了有限的上下文,但在某些场景下就足够了(例如,当您想查看什么是质押池费用,或者谁是合约的所有者时,等)。
【讨论】: