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.

¿Cómo se actualizará el tokenUri de ERC721 en Opensea?

He implementado un contrato inteligente en la red de Rinkeby. Estoy tratando de obtener el tokenUri basado en un valor booleano de la siguiente forma:

function tokenURI(uint256 tokenId)
    public
    view
    override
    returns (string memory)
{
    require(_exists(tokenId), "¡Consulta de token URI para un token inexistente!");
    if(revealed == true) {
        return string(abi.encodePacked(BASE_URI, "/", Strings.toString(tokenId), ".json"));
    } else {
        return string(abi.encodePacked(BASE_URI, DEFAULT_METADATA));
    }
}

El código anterior funciona bien. Puedo consultar el token URI en etherscan y obtener la salida deseada. Sin embargo, esto no se refleja en Opensea. Opensea siempre muestra la imagen antigua. Tengo una función con la que puedo establecer el valor booleano revelado.

He esperado durante 24 horas para ver si Opensea se actualiza, pero no lo hace. ¿Cuál puede ser el problema?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El problema podría deberse al almacenamiento en caché en los sistemas de Opensea. Opensea podría estar almacenando en caché los metadatos del token y no actualizarlos incluso después de haber actualizado el valor booleano “revealed”. Puedes intentar forzar a Opensea a actualizar los metadatos cambiando ligeramente el tokenURI, por ejemplo, agregando un número de versión al final de la URL.

    También puedes intentar contactar al equipo de soporte de Opensea para solicitar asistencia en la actualización de los metadatos de tu token.

Comments are closed.