【问题标题】:How to view data in NEAR protocol contract for free?如何免费查看 NEAR 协议合约中的数据?
【发布时间】:2021-01-19 03:20:41
【问题描述】:

我应该为 NEAR 协议的每次读取付费吗?

如何查看 NEAR 协议智能合约中存储的价值? (例如质押池费用)

查看和更改方法有什么区别?

【问题讨论】:

    标签: nearprotocol


    【解决方案1】:

    我应该为 NEAR 协议的每次读取付费吗?

    TL;DR:不,你不应该。

    在 NEAR 协议中,有多种方式可以与智能合约进行交互:

    1. 使用 FunctionCall 操作提交交易,该操作将在块生成节点上执行指定的方法,并且结果将通过区块链证明(在 Near-api-js 中,这些是“更改方法”)李>
    2. 调用query(call_function) JSON RPC method,会在只读环境下获取RPC节点自身执行的指定方法,并且该调用永远不会通过区块链记录/证明(对于near-api-js来说这些是“查看方法”)

    您只能通过第一种方法更改状态和链式操作(例如跨合约调用、代币转移或访问密钥添加/删除),因为区块链希望用户承担执行成本,因此用户应该签署他们的交易,他们将被收取执行费用。

    有时,您不需要更改状态,相反,您只想读取存储在链上的值,并且为它付费是次优的(尽管如果您需要证明操作已经完成,它可能仍然是可取的)。在这种情况下,您会更喜欢第二种方法。通过 JSON RPC 调用方法是免费的,并且在合约执行期间提供了有限的上下文,但在某些场景下就足够了(例如,当您想查看什么是质押池费用,或者谁是合约的所有者时,等)。

    【讨论】:

      猜你喜欢
      • 2022-06-22
      • 2021-07-23
      • 2021-10-27
      • 2021-01-12
      • 2021-01-14
      • 2020-07-19
      • 2021-08-18
      • 2020-09-27
      • 2021-02-09
      相关资源
      最近更新 更多