Códigos de Error de Aptos
Esta página cataloga errores comunes encontrados en la blockchain de Aptos y explica cómo resolverlos siempre que sea posible. Como en todo software, el propio código es la fuente de verdad para el manejo de errores y siempre contendrá entradas que no se encuentran aquí. En cambio, esta matriz tiene como objetivo ayudarte a abordar esos errores más típicamente encontrados, malinterpretados o ambos.
Para las fuentes de estos errores, consulta:
Ayúdanos a actualizar esta lista enviando pull requests con los errores que encuentres. Si no sabes cómo resolver el error, como se describe en la columna Acción, simplemente déjala en blanco.
Errores Frecuentes
Sección titulada «Errores Frecuentes»INSUFFICIENT_BALANCE_FOR_TRANSACTION_FEE
Sección titulada «INSUFFICIENT_BALANCE_FOR_TRANSACTION_FEE»Esto significa que el gas máximo posible usado para la transacción es mayor que el saldo de APT en la cuenta del remitente de la transacción (o pagador de la tarifa). Para resolverlo, por favor envía la transacción con una cantidad máxima de gas menor e inténtalo de nuevo.
Por ejemplo, si la cantidad máxima de gas es 1000 unidades de gas y el precio por unidad de gas es 100
octas, el total de APT requerido en la cuenta sería 0.00100000
APT (1000 * 100 / 100000000
). El valor predeterminado suele ser 200000
unidades de gas, lo que terminaría requiriendo 0.20000000
APT. Si tienes problemas con esto, por favor contacta a tu proveedor de wallet.
OUT_OF_GAS
Sección titulada «OUT_OF_GAS»Esto significa que la transacción usó más gas del que el remitente especificó como máximo para la transacción, y abortó como resultado. Para resolverlo, intenta aumentar la cantidad máxima de gas y envía la transacción de nuevo.
SEQUENCE_NUMBER_TOO_OLD
Sección titulada «SEQUENCE_NUMBER_TOO_OLD»Esto significa que el número de secuencia de la transacción en la cuenta del remitente ya ha sido usado y confirmado en la blockchain. Para enviar una nueva transacción a la blockchain, intenta enviarla de nuevo con un nuevo número de secuencia.
SEQUENCE_NUMBER_TOO_NEW
Sección titulada «SEQUENCE_NUMBER_TOO_NEW»Esto solo ocurre en simulación, pero significa que el número de secuencia enviado es mayor que el siguiente número de secuencia para la cuenta. Por favor, reduce el número de secuencia e inténtalo de nuevo.
Máquina Virtual de Move (VM)
Sección titulada «Máquina Virtual de Move (VM)»Error | Significado | Posible Resolución |
---|---|---|
LOOKUP_FAILED | Una función que se está llamando no está presente en la red que se está utilizando | Verifica que las dependencias de la cadena de on-chain tengan la misma versión |
UNKNOWN_VALIDATION_STATUS | No queremos que el valor por defecto sea válido. | N/A |
INVALID_SIGNATURE | La transacción tiene una firma incorrecta. | Envía una nueva transacción con una nueva firma |
INVALID_AUTH_KEY | Clave de autenticación de cuenta incorrecta. | Envía una nueva transacción con una nueva firma, verifica que la cuenta coincida con la clave de autenticación y no se haya rotado |
SEQUENCE_NUMBER_TOO_OLD | Secuencia de número demasiado antigua. | Envía una nueva transacción con una secuencia de número más reciente de la cuenta |
SEQUENCE_NUMBER_TOO_NEW | Secuencia de número demasiado nueva. | Envía una nueva transacción con una nueva firma |
INSUFFICIENT_BALANCE_FOR_TRANSACTION_FEE | Insuficiente saldo para pagar por max_gas especificado en la transacción. El saldo necesita ser superior a max_gas_amount * gas_unit_price para proceder. | Financia la cuenta con más APT para pagar la tarifa de gas |
TRANSACTION_EXPIRED | La transacción ha expirado. | Envía una nueva transacción con un tiempo de expiración más lejano en el futuro |
SENDING_ACCOUNT_DOES_NOT_EXIST | La cuenta de envío no existe. | Crea la cuenta antes de enviar la transacción de nuevo |
REJECTED_WRITE_SET | Esta transacción de conjunto de escritura fue rechazada porque no cumplió con los requisitos para uno. | N/A |
INVALID_WRITE_SET | Esta transacción de conjunto de escritura no se puede aplicar al estado actual. | N/A |
EXCEEDED_MAX_TRANSACTION_SIZE | La longitud del campo de programa en la transacción sin procesar excede la longitud máxima. | La transacción es demasiado grande para una sola transacción; si esta es una publicación de paquete, intenta dividirla en múltiples paquetes |
UNKNOWN_SCRIPT | Este script no está en nuestra lista de permitidos de scripts. | N/A |
UNKNOWN_MODULE | La transacción está intentando publicar un nuevo módulo. | N/A |
MAX_GAS_UNITS_EXCEEDS_MAX_GAS_UNITS_BOUND | La cantidad máxima de gas enviada con la transacción excede el límite máximo de gas en la VM. | Disminuye la cantidad máxima de gas en la transacción por debajo del valor máximo en el programa de gas |
MAX_GAS_UNITS_BELOW_MIN_TRANSACTION_GAS_UNITS | La cantidad máxima de gas enviada con la transacción no es suficiente para cubrir el costo intrínseco de la transacción. | Aumenta la cantidad máxima de gas por encima del valor mínimo en el programa de gas |
GAS_UNIT_PRICE_BELOW_MIN_BOUND | El precio por unidad de gas enviado con la transacción es inferior al precio mínimo de gas establecido en la VM. | Disminuye el precio por unidad de gas por debajo del precio mínimo de unidad de gas en el programa de gas |
GAS_UNIT_PRICE_ABOVE_MAX_BOUND | El precio por unidad de gas enviado con la transacción es superior al precio máximo de gas establecido en la VM. | Disminuye el precio por unidad de gas por debajo del precio máximo de unidad de gas en el programa de gas |
INVALID_GAS_SPECIFIER | El especificador de gas enviado es o bien malformado (no es un identificador válido), o no hace referencia a un especificador de gas aceptado. | N/A |
SENDING_ACCOUNT_FROZEN | La cuenta de envío está congelada. | N/A |
UNABLE_TO_DESERIALIZE_ACCOUNT | No se pudo deserializar el blob de la cuenta. | N/A |
CURRENCY_INFO_DOES_NOT_EXIST | La información de moneda no pudo ser encontrada. | N/A |
INVALID_MODULE_PUBLISHER | La cuenta emisora no tiene permisos para publicar módulos. | N/A |
NO_ACCOUNT_ROLE | La cuenta de envío no tiene un rol. | N/A |
BAD_CHAIN_ID | La cadena_id de la transacción no coincide con la publicada en la cadena. | Verifica que tu cadena_id coincida con la cadena_id de tu red |
SEQUENCE_NUMBER_TOO_BIG | El número de secuencia es demasiado grande y se desbordaría si se ejecutara la transacción. | N/A |
BAD_TRANSACTION_FEE_CURRENCY | La moneda de gas no está registrada como moneda de tarifa de transacción. | N/A |
FEATURE_UNDER_GATING | La característica solicitada está destinada a una versión futura de Aptos en lugar de la actual. | N/A |
SECONDARY_KEYS_ADDRESSES_COUNT_MISMATCH | El número de direcciones de firmante secundario es diferente del número de claves públicas secundarias proporcionadas. | Verifica las direcciones de firmante secundario multi-agente o multi-ed25519 y las claves públicas secundarias para que coincidan |
SIGNERS_CONTAIN_DUPLICATES | Hay duplicados entre los firmantes, incluyendo el remitente y todos los firmantes secundarios. | Elimina cualquier firmante duplicado |
SEQUENCE_NONCE_INVALID | La secuencia nonce en la transacción es inválida (demasiado nueva, demasiado antigua o ya usada). | N/A |
CHAIN_ACCOUNT_INFO_DOES_NOT_EXIST | Hubo un error al acceder a la información de la cuenta específica de la cadena. | N/A |
MODULE_ADDRESS_DOES_NOT_MATCH_SENDER | la dirección del módulo publicador no es la cuenta que finalmente mantendrá el módulo. | Confirma que la dirección del módulo en el contrato de Move coincide con el remitente de la transacción |
ZERO_SIZED_STRUCT | Se informa cuando una estructura tiene cero campos. | N/A |
DUPLICATE_MODULE_NAME | El remitente está intentando publicar dos módulos con el mismo nombre en una sola transacción. | Confirma que cada módulo tiene un nombre único |
BACKWARD_INCOMPATIBLE_MODULE_UPDATE | El remitente está intentando publicar un módulo que rompe las comprobaciones de compatibilidad. | Confirma que los nuevos módulos que se están publicando no rompen la compatibilidad hacia atrás |
CYCLIC_MODULE_DEPENDENCY | El módulo actualizado introduce una dependencia cíclica (es decir, A usa B y B también usa A). | Verifica los bucles en las dependencias de sus módulos que se están publicando |
INVALID_FRIEND_DECL_WITH_SELF | No se puede marcar el módulo en sí como un amigo. | Confirma que ningún módulo tiene marcado como amigo en los módulos que se están publicando |
INVALID_FRIEND_DECL_WITH_MODULES_OUTSIDE_ACCOUNT_ADDRESS | No se pueden declarar módulos fuera de la dirección de cuenta como amigos. | Confirma que todos los amigos están en la misma dirección de cuenta en los módulos que se están publicando |
INVALID_FRIEND_DECL_WITH_MODULES_IN_DEPENDENCIES | No se pueden declarar módulos que dependen de este módulo como amigos. | Verifica las declaraciones de amigos de los módulos que se están publicando |
CYCLIC_MODULE_FRIENDSHIP | El módulo actualizado introduce una amistad cíclica (es decir, A es amigo de B y B también es amigo de A). | Verifica las declaraciones de amigos de los módulos que se están publicando |
INVALID_PHANTOM_TYPE_PARAM_POSITION | Un parámetro de tipo fantasma se usó en una posición no fantasma. | Confirma que los tipos fantasma se usan solo con genéricos |
LOOP_MAX_DEPTH_REACHED | Los bucles están demasiado anidados. | Verifica si hay muchos bucles anidados |
TYPE_RESOLUTION_FAILURE | Falló al resolver el tipo debido a que el enlazado se rompió después de la verificación. | N/A |
RESOURCE_DOES_NOT_EXIST | Intentamos acceder a un recurso que no existe bajo la cuenta. | Verifica el contrato y posiblemente cámbialo para manejar recursos que no existen |
RESOURCE_ALREADY_EXISTS | Intentamos crear un recurso bajo una cuenta donde ese recurso ya existe. | Verifica el contrato y posiblemente cámbialo para manejar recursos que ya existen |
UNKNOWN_STATUS | Un estado reservado para representar un estado vm desconocido. Esto es std::u64::MAX, pero no podemos hacer coincidencia de patrones en eso, así que ponemos el valor codificado. | N/A |
LINKER_ERROR | Esto puede deberse a que la función no ha sido publicada en la cadena o por intentar llamar a una función inválida como resultado de una dirección de cuenta incorrecta, nombre de módulo o nombre de función. Esto podría no suceder localmente si las fuentes están disponibles localmente pero aún no han sido publicadas en la cadena. | Hay muchas razones, pero deberías verificar tus direcciones de cuenta, nombres de módulo y nombres de función para determinar que son correctos y están publicados |
FAILED_TO_DESERIALIZE_ARGUMENT | Este error en la deserialización de argumentos es activado por una de las siguientes verificaciones de validación. 1) Excede el límite en el número de estructuras anidadas o desempaquetadas (incluyendo en un vector). El total máximo de argumentos es igual a profundidad * número de argumentos. La profundidad máxima es actualmente 10. 2) La estructura anidada excede la profundidad máxima mencionada anteriormente. 3) Los argumentos serializados al constructor contenían datos extra. 4) Estaba deserializando utf8 pero los constructores de estructuras están deshabilitados. 5) El argumento de cadena es demasiado largo. 6) La deserialización BCS falla para utf8. | N/A |
Biblioteca Estándar de Move (stdlib)
Sección titulada «Biblioteca Estándar de Move (stdlib)»Error | Significado |
---|---|
INVALID_ARGUMENT | El llamador especificó un argumento inválido (HTTP: 400). |
OUT_OF_RANGE | Una entrada o resultado de un cálculo es fuera de rango (HTTP: 400). |
INVALID_STATE | El sistema no está en un estado donde la operación puede ser realizada (HTTP: 400). |
UNAUTHENTICATED | Solicitud no autenticada debido a token de autenticación faltante, inválido o expirado (HTTP: 401). |
PERMISSION_DENIED | El cliente no tiene permisos suficientes (HTTP: 403). |
NOT_FOUND | Un recurso especificado no se encuentra (HTTP: 404). |
ABORTED | Conflicto de concurrencia, como conflicto de lectura-modificación-escritura (HTTP: 409). |
ALREADY_EXISTS | El recurso que un cliente intentó crear ya existe (HTTP: 409). |
RESOURCE_EXHAUSTED | Sin gas u otras formas de cuota (HTTP: 429). |
CANCELLED | Solicitud cancelada por el cliente (HTTP: 499). |
INTERNAL | Error interno (HTTP: 500). |
NOT_IMPLEMENTED | Característica no implementada (HTTP: 501). |
UNAVAILABLE | El servicio no está disponible actualmente. Indica que un reintento podría resolver el problema (HTTP: 503). |
Cuentas de Aptos
Sección titulada «Cuentas de Aptos»Error | Significado | Posible Resolución |
---|---|---|
EACCOUNT_ALREADY_EXISTS | La cuenta ya existe. | N/A |
EACCOUNT_DOES_NOT_EXIST | La cuenta no existe. | Crea la cuenta primero |
ESEQUENCE_NUMBER_TOO_BIG | El número de secuencia excede el valor máximo para un u64. | Proporciona un número de secuencia más pequeño |
EMALFORMED_AUTHENTICATION_KEY | La clave de autenticación proporcionada tiene una longitud inválida. | Verifica tu clave de autenticación; debería ser un vector de 32 bytes |
ECANNOT_RESERVED_ADDRESS | No se puede crear cuenta porque la dirección está reservada. | N/A |
EOUT_OF_GAS | La transacción excedió su gas máximo asignado. | Aumenta la cantidad máxima de gas |
EWRONG_CURRENT_PUBLIC_KEY | La clave pública actual especificada no es correcta. | Confirma que la clave pública coincide con la cuenta |
EINVALID_PROOF_OF_KNOWLEDGE | La prueba de conocimiento especificada requerida para probar la propiedad de una clave pública es inválida. | Verifica tu prueba de conocimiento en la rotación de claves para asegurar que tiene firmas apropiadas |
ENO_CAPABILITY | El llamador no tiene una capacidad basada en firma digital para llamar a esta función. | Confirma que tienes la capacidad para las funciones llamadas |
EINVALID_ACCEPT_ROTATION_CAPABILITY | El llamador no tiene una oferta de capacidad de rotación válida de la otra cuenta. | Confirma que la cuenta que se está rotando es correcta |
ENO_VALID_FRAMEWORK_RESERVED_ADDRESS | La dirección a crear no es una dirección reservada válida para el framework de Aptos. | N/A |
EINVALID_SCHEME | Esquema especificado requerido para proceder con la operación del contrato inteligente - solo puede ser ED25519_SCHEME(0) O MULTI_ED25519_SCHEME(1). | Confirma que la transacción fue firmada correctamente al crear la cuenta |
EINVALID_ORIGINATING_ADDRESS | Aborta la transacción si la dirección de origen esperada es diferente de la dirección de origen en la cadena. | Confirma que estás rotando la clave de la cuenta correcta |
ENO_SUCH_SIGNER_CAPABILITY | La capacidad de firmante no existe en la dirección dada. | Confirma que la dirección es correcta |
Monedas de Aptos
Sección titulada «Monedas de Aptos»Error | Significado | Posible Resolución |
---|---|---|
ECOIN_INFO_ADDRESS_MISMATCH | La dirección de la cuenta que se usa para inicializar un CoinType no coincide con el desplegador del módulo. | Crea la moneda usando un CoinType en la misma cuenta que crea la moneda. |
ECOIN_INFO_ALREADY_PUBLISHED | CoinType ya está inicializado como una moneda. | N/A |
ECOIN_INFO_NOT_PUBLISHED | CoinType no ha sido inicializado como una moneda. | Crea la moneda con CoinType primero antes de usarla |
ECOIN_STORE_ALREADY_PUBLISHED | La cuenta ya tiene CoinStore registrado para CoinType . | N/A |
ECOIN_STORE_NOT_PUBLISHED | La cuenta no ha registrado CoinStore para CoinType . | Registra la cuenta para el CoinType |
EINSUFFICIENT_BALANCE | No hay suficientes monedas para completar la transacción. | Transfiere menos monedas, o adquiere más monedas antes de la transferencia |
EDESTRUCTION_OF_NONZERO_TOKEN | No se pueden destruir monedas no cero. | N/A |
EZERO_COIN_AMOUNT | La cantidad de moneda no puede ser cero. | No quemes monedas o realices otras acciones con monedas cero |
EFROZEN | CoinStore está congelado. Las monedas no se pueden depositar o retirar. | La cuenta está congelada para este token; habla con el propietario de la moneda |
ECOIN_SUPPLY_UPGRADE_NOT_SUPPORTED | No se puede actualizar el suministro total de monedas a una implementación diferente. | N/A |
ECOIN_NAME_TOO_LONG | El nombre de la moneda es demasiado largo. | El nombre de la moneda debe ser menor o igual a 32 caracteres |
ECOIN_SYMBOL_TOO_LONG | El símbolo de la moneda es demasiado largo. | El símbolo de la moneda debe ser menor o igual a 10 caracteres |
Tokens de Aptos
Sección titulada «Tokens de Aptos»Error | Significado |
---|---|
EALREADY_HAS_BALANCE | El token tiene saldo y no se puede inicializar. |
ECOLLECTIONS_NOT_PUBLISHED | No hay ninguna colección bajo esta cuenta. |
ECOLLECTION_NOT_PUBLISHED | No se puede encontrar la colección en la cuenta del creador. |
ECOLLECTION_ALREADY_EXISTS | La colección ya existe. |
ECREATE_WOULD_EXCEED_COLLECTION_MAXIMUM | Excede el número máximo de token_data de la colección. |
EINSUFFICIENT_BALANCE | Saldo de token insuficiente. |
EINVALID_TOKEN_MERGE | No se pueden fusionar los dos tokens con diferentes IDs de token. |
EMINT_WOULD_EXCEED_TOKEN_MAXIMUM | Excede el máximo permitido de datos de token. |
ENO_BURN_CAPABILITY | Sin capacidad de quema. |
ETOKEN_DATA_ALREADY_EXISTS | TokenData ya existe. |
ETOKEN_DATA_NOT_PUBLISHED | TokenData no publicado. |
ETOKEN_STORE_NOT_PUBLISHED | TokenStore no existe. |
ETOKEN_SPLIT_AMOUNT_LARGER_THAN_TOKEN_AMOUNT | No se puede dividir el token a una cantidad mayor que su cantidad. |
EFIELD_NOT_MUTABLE | El campo no es mutable. |
ENO_MUTATE_CAPABILITY | No autorizado para mutar. |
ENO_TOKEN_IN_TOKEN_STORE | Token no está en el token store. |
EUSER_NOT_OPT_IN_DIRECT_TRANSFER | El usuario no optó por transferencia directa. |
EWITHDRAW_ZERO | No se puede retirar 0 token. |
ENFT_NOT_SPLITABLE | No se puede dividir un token que solo tiene 1 cantidad. |
ENO_MINT_CAPABILITY | Sin capacidad de acuñación |
ECOLLECTION_NAME_TOO_LONG | El nombre de la colección es demasiado largo. |
ENFT_NAME_TOO_LONG | El nombre del NFT es demasiado largo. |
EURI_TOO_LONG | La URI es demasiado larga. |
ENO_DEPOSIT_TOKEN_WITH_ZERO_AMOUNT | No se puede depositar un token con 0 cantidad. |
ENO_BURN_TOKEN_WITH_ZERO_AMOUNT | No se puede quemar 0 token. |
EWITHDRAW_PROOF_EXPIRES | La prueba de retiro expira. |
EOWNER_CANNOT_BURN_TOKEN | El token no es quemable por el propietario. |
ECREATOR_CANNOT_BURN_TOKEN | El token no es quemable por el creador. |
ECANNOT_UPDATE_RESERVED_PROPERTY | Campos reservados para el contrato de token. No pueden ser actualizados por el usuario. |
EURI_TOO_SHORT | URI demasiado corta. |
ETOKEN_OFFER_NOT_EXIST | La oferta de token no existe. |