anchor 中的 "Custom Program Error 0xa2" 是什么?

What is "Custom Program Error 0xa2" in anchor?

我的 Anchor 程序吐出如下错误:custom program error 0xa2。这是什么意思?我在哪里可以了解此错误的含义?

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

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

这可能是因为您输入了错误的帐户类型(因此前 8 个字节完全错误),或者可能是因为您正在尝试使用 zero_copy 而实际上并未写入这些字节但是(需要在 运行 .load_init())

之前使用 #[account(zero)]

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