Что означает "Ошибка пользовательской программы 0xa7" в якоре?
Моя программа Anchor дает мне
Transaction simulation failed: Error processing Instruction 1: custom program error: 0xa7
и ничего полезного в логах.
Как мне вообще начать это отлаживать?
1 ответ
Ошибка пользовательской программы 0xa7
Error: 167: The given account is not owned by the executing program.
Это может произойти, если вы передаете учетную запись, которая, как предполагается, принадлежит программе, но не является ею.
Это может произойти случайно, если вы забудете установить
declare_id!(/* ... */)
к идентификатору программы, которую вы пытаетесь поразить.
Рассмотрите возможность регистрации идентификатора программы, которую вы используете в своем клиенте javascript:
console.log(program.programId)
А затем посмотрите, соответствует ли он открытому ключу, который находится в вашем
target/idl/yourprogram.json
файл.