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

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

我的 Anchor 程序给我一个 Transaction simulation failed: Error processing Instruction 1: custom program error: 0xa7,日志中没有任何有用的信息。

我该如何开始调试呢?

自定义程序错误 0xa7 是 Error: 167: The given account is not owned by the executing program.

如果您传入的帐户应该属于某个程序,但实际上不是,则可能会发生这种情况。

如果您忘记将 declare_id!(/* ... */) 设置为您要点击的程序 ID,则可能会意外发生。

考虑记录您在 javascript 客户端中使用的程序 ID:

console.log(program.programId)

然后查看它是否与您 target/idl/yourprogram.json 文件中的 public 键匹配。