首页 > 解决方案 > NEAR 智能合约生锈错误:“无法使用 Borsh 反序列化值”

问题描述

我正在尝试调用视图方法来检索 u128 值的 Vec,结果出现此错误我不知道该怎么做有人可以帮助我吗?

{
  "block_hash": "76auef76bmvvKT6kVZabiCrrHeTzoBP2vxGZGqaBjDc1",
  "block_height": 54564995,
  "error": "wasm execution failed with error: FunctionCallError(HostError(GuestPanic { panic_msg: \"Cannot deserialize value with Borsh\" }))",
  "logs": []
}
    at JsonRpcProvider.query (json-rpc-provider.js:116)
    at async ConnectedWalletAccount.viewFunction (account.js:356)
    at async <anonymous>:1:1
TypedError @ errors.js:18
query @ json-rpc-provider.js:116

谢谢您的帮助!

标签: rustblockchainsmartcontractsnearprotocol

解决方案


我的疯狂猜测是,您重新部署了一份合约,在其中更改了状态结构的结构(标有 的结构#[near_bindgen])。因此,当您调用任何方法时,它都无法将现有状态反序列化为新结构。如果是这种情况,您有几个选择:


推荐阅读