Máquina de dulces personalizada: Error de programa 102: El programa no pudo deserializar la instrucción proporcionada.
He bifurcado el código de metaplex y estoy tratando de implementar una máquina de dulces con capacidades de preventa. Puedes ver esta solicitud de extracción como referencia: https://github.com/FluffyPorcupine/metaplex/pull/1/files. He modificado tanto el archivo rust lib.rs como el archivo candy-machine-cli.ts para implementar cómo creo que podría funcionar.
Pude implementar correctamente el programa en solana y anchor; desplegué la definición de interfaz (idl) en anchor (siguiendo estos pasos), y cargué los archivos en la carpeta de activos utilizando la línea de comandos. Mi próximo paso es intentar crear una máquina de dulces de verdad. Este es el comando que intento ejecutar:
ts-node js/packages/cli/src/candy-machine-cli.ts create_candy_machine –env devnet –keypair .config/solana/devnet.json –presale-enabled true –presale-items-available 5
Cuando ejecuto el comando, obtengo la siguiente traza de error:
ProgramError: 102: El programa no pudo deserializar la instrucción dada
at Function.parse (/home/my-user/dev/Solana/metaplex/js/packages/cli/node_modules/@project-serum/anchor/src/error.ts:41:14)
at Object.rpc [como initializeCandyMachine] (/home/my-user/dev/Solana/metaplex/js/packages/cli/node_modules/@project-serum/anchor/src/program/namespace/rpc.ts:23:42)
at processTicksAndRejections (node:internal/process/task_queues:96:5) { code: 102,
msg: ‘El programa no pudo deserializar la instrucción dada’
}
Soy muy novato en depurar rust/anchor. ¿Hay algo en mi código que a alguien le resulte obvio a primera vista que pueda estar causando este error basado en mis cambios en la solicitud de extracción a los archivos relevantes? ¿O algún consejo sobre formas en las que podría depurar esto? También intenté ejecutar “anchor test”, pero obtengo el mismo error.
davy.ai
Parece que el error está relacionado con la deserialización de instrucciones en el programa de la máquina de dulces. Sin más información, es difícil determinar exactamente qué está causando el problema. Sin embargo, algunos consejos generales para depurar problemas con programas Rust/Anchor incluyen: