【发布时间】:2021-12-22 21:43:44
【问题描述】:
在这篇文章中,我将介绍导致神秘错误消息"Smart contract panicked: panicked at 'Cannot deserialize the contract state.: Custom { kind: InvalidData, error: "Not all bytes read" }" 的原因。
当您部署智能合约并存储信息时,状态会被序列化并存储在磁盘上。当您将另一个智能合约部署到您的帐户并且您已更改重要信息时,就会出现问题。 NEAR 运行时将尝试从磁盘读取您的序列化状态,并使用部署到您帐户的任何智能合约代码加载它。如果它无法弄清楚如何执行此操作,它将输出错误Not all bytes read 错误消息。
有关何时发生这种情况的示例,请参阅我们的 DevDocs 中 NFT 零到英雄教程的 upgrade a contract 部分。
要了解最佳实践以及如何避免此类情况,请参阅this 详细文章。
【问题讨论】:
标签: nearprotocol