0

我的 Anchor 程序吐出一个看起来像这样的错误:custom program error 0xa2. 这是什么意思?我在哪里可以了解此错误的含义?

4

1 回答 1

1

这是Error: 162: 8 byte discriminator did not match what was expected.

这意味着锚点希望帐户的数据以特定的 8 个字节开头,但事实并非如此。

这可能是因为您传入了错误类型的帐户(因此前 8 个字节完全错误),或者可能是因为您尝试使用 zero_copy 并且尚未实际写入这些字节(需要使用 #[account( zero)] 在你运行之前 .load_init())

如果您尝试从最初不是用 Anchor 编写的程序引用帐户,而现在您正在用 Anchor 重写它,也会发生这种情况。您可能需要为此编写一些自定义序列化逻辑。

于 2021-12-26T03:45:47.343 回答