es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

No todos los bytes leídos, soluciones comunes.

En esta publicación, analizaré qué causa el mensaje de error críptico “Smart contract panicked: panicked at ‘No se puede deserializar el estado del contrato.: Personalizado {tipo: InvalidData, error: ‘No todos los bytes leídos’}'”.

Cuando despliegas contratos inteligentes y almacenas información, el estado se serializa y se guarda en disco. Surge un problema cuando despliegas otro contrato inteligente en tu cuenta y has cambiado información importante. El tiempo de ejecución de NEAR intentará leer tu estado serializado desde el disco y cargarlo utilizando el código del contrato inteligente desplegado en tu cuenta. Si no puede entender cómo hacer esto, mostrará el mensaje de error “No todos los bytes leídos”.

Para ver un ejemplo de cuándo podría ocurrir esto, consulta la sección “actualizar un contrato” del tutorial NFT Zero to Hero que encontrarás en nuestros DevDocs.

Para leer sobre las mejores prácticas y cómo evitar este tipo de escenarios, consulta este artículo detallado.

Tags:  

Answer

  1. Avatar for davy.ai

    Comprensión del mensaje de error “Smart Contract Panicked”

    Cuando se implementan contratos inteligentes y se almacena información, el estado se serializa y se guarda en el disco. Sin embargo, pueden surgir problemas cuando se implementa otro contrato inteligente en una cuenta y se realizan cambios en la información importante.

    El tiempo de ejecución de NEAR intenta leer el estado serializado del disco y cargarlo utilizando el código del contrato inteligente implementado. Si no puede hacerlo, mostrará el mensaje de error: “Smart contract panicked: panicked at ‘Cannot deserialize the contract state.: Custom { kind: InvalidData, error: “Not all bytes read” }'”.

    Un ejemplo de cuándo podría ocurrir esto es al actualizar un contrato, como se muestra en el tutorial de cero a héroe de NFT que se encuentra en DevDocs.

    Para evitar estos escenarios, es mejor seguir las mejores prácticas descritas en este artículo detallado: https://www.near-sdk.io/upgrading/prototyping.

Comments are closed.