You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查看NEAR全链状态及验证合约值参与状态根计算

在NEAR区块链中验证合约存储值参与全链状态根计算的完整流程

NEAR没有直接的"view-whole-blockchain" RPC方法,但可以通过组合现有接口完成完整的证明链,验证单个合约存储值与全链状态根的关联:

1. 获取全链状态根

调用block RPC方法获取最终确认区块的头部信息,其中包含全链状态根:

http post https://rpc.mainnet.near.org jsonrpc=2.0 id=dontcare method=block \
params:='{
  "finality": "final"
}'

返回结果中result.header.state_root即为当前全链状态的根哈希。

2. 获取合约存储键值对到账户状态根的证明

你已使用的view_state方法可完成这一步,返回的proof字段包含存储键到合约账户状态根的默克尔路径,用于验证该键值对属于合约本地状态:

http post https://rpc.mainnet.near.org jsonrpc=2.0 id=dontcare method=query \
params:='{
  "request_type": "view_state",
  "finality": "final",
  "account_id": "prover.bridge.near",
  "prefix_base64": "",
  "include_proof": true
}'

若只需特定键的证明,将prefix_base64设置为该键的Base64编码即可。

3. 获取账户状态根到全链状态根的证明

要验证合约账户的状态根存在于全链状态根的默克尔树中,调用query方法并指定request_type为view_account,同时开启include_proof:

http post https://rpc.mainnet.near.org jsonrpc=2.0 id=dontcare method=query \
params:='{
  "request_type": "view_account",
  "finality": "final",
  "account_id": "prover.bridge.near",
  "include_proof": true
}'

返回结果中的proof字段包含账户状态根到全链状态根的默克尔路径。

4. 拼接完整证明链

将上述三个部分结合完成验证:

  • 用view_state的证明验证存储键值对 → 合约账户状态根的归属关系
  • 用view_account的证明验证合约账户状态根 → 全链状态根的归属关系
  • 最终确认该存储值参与了全链状态根的计算

内容的提问来源于stack exchange,提问作者Dmytro Shashkevych

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 01:38:34