如何免费查看NEAR协议合同中的数据?

时间:2020-10-03 20:22:03

标签: nearprotocol

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

如何查看NEAR协议智能合约中存储的值? (例如,赌注池费用)

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

1 个答案:

答案 0 :(得分:2)

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

TL; DR:不,您不应该。

在NEAR协议中,存在与智能合约进行交互的方法:

  1. 提交带有FunctionCall动作的事务,该动作将使指定的方法在组块生成节点上执行,结果将通过区块链证明(就近API-js而言,这些是“更改方法”)
  2. 调用query(call_function) JSON RPC method,它将在只读环境中在RPC节点本身上执行指定的方法,并且该调用将永远不会通过区块链记录/验证(就近api-js而言)这些是“查看方法”)

您只能通过第一种方法来更改状态和链式操作(例如,跨合同呼叫,令牌转移或访问密钥添加/删除),因为区块链希望用户负担执行成本,因此用户应签署自己的协议。交易,他们将收取执行费用。

有时候,您不需要更改状态,相反,您只想读取存储在链上的值,并且支付的费用不是最优的(尽管如果您需要证明已完成操作,则可能仍然是理想的)。在这种情况下,您将首选第二种方法。通过JSON RPC调用方法是免费的,并且在合同执行期间提供了一个有限的上下文,但是在某些情况下(例如,当您要检查什么是抵押池费用或谁是合同的所有者时,等)。