簡體   English   中英

使用near-json-rpc和near-primitives時如何修復“預期的枚舉QueryRequest,找到枚舉QueryRequest”?

[英]How to fix "expected enum QueryRequest, found enum QueryRequest" when using near-json-rpc and near-primitives?

我正在嘗試使用near-json-rpc ,當我構建RpcQueryRequest時,我收到以下與近乎原始類型相關的錯誤:

expected enum near_primitives::types::BlockReference, found enum BlockReference
expected enum near_primitives::views::QueryRequest, found enum QueryRequest

導入BlockReferenceQueryRequest枚舉。 這是構建請求的代碼:

use near_primitives::types::Finality::DoomSlug;
use near_primitives::types::BlockReference::Finality;
use near_primitives::views::QueryRequest::ViewAccount;

...

let request = ViewAccount {
    account_id: "address.near".parse().unwrap()
};

let block_reference = Finality(DoomSlug);

let status_request = RpcQueryRequest {
    block_reference,
    request
};

在創建status_request時,使用block_referencerequest變量在最后 3 行中生成錯誤。

這是我在 Cargo.toml 中的依賴項:

[dependencies]
near-jsonrpc-client = "0.3.0"
futures = "0.3.24"
tokio = { version = "1.21.1", features = ["full"] }
near-primitives = "0.15.0"

關於如何解決這個問題的任何想法?

您正在使用 near-primitives版本 0.15 ,但 near-jsonrpc-client 版本 0.3 依賴於 near-primitives版本 0.12 這兩者是不兼容的,因此使用一個版本的類型代替另一個是行不通的。

您應該降低對近乎原語的依賴以匹配:

near-primitives = "0.12.0"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM