🧰 UtlKit

Cómo Usar el Validador de Checksum de Dirección ETH: el 0x Debe Permanecer en Minúscula, Exactamente 40 Dígitos Hexadecimales, los Espacios de los Bordes se Recortan Antes de la Comprobación, la Mayúscula de EIP-55 la Decide keccak256 Un Dígito a la Vez, y el Formato en Mayúscula Hasta Cambia el Prefijo 0x a 0X

Recorre el validador de checksum de dirección ETH con sus comportamientos exactos: la exigencia de 0x en minúscula, 40 dígitos hexadecimales o fallo, espacios de borde recortados, la regla keccak256 que pone en mayúscula una letra cuando el dígito del resumen es 8 o más, y los tres estados de resultado con tres formatos de copia.

El Validador de checksum de dirección ETH responde a una sola pregunta sobre una dirección de Ethereum: ¿la mayúscula y minúscula de sus letras es la que prescribe EIP-55? Pegas una dirección, presionas Validar, y la herramienta hace el hash de la dirección con keccak256, deriva la forma canónica con mayúsculas y minúsculas mezcladas, y la compara con lo que escribiste letra por letra. Todo ocurre en tu navegador: la función keccak256 viene empaquetada en la página, no hay subida, y la dirección nunca sale de tu máquina.

Pega la dirección y presiona Validar

No hay comprobación en vivo: la entrada se lee solo cuando presionas el botón Validar. Si lo presionas con la entrada vacía, el resultado es simplemente el estado rojo de formato de dirección no válido, no un colapso ni un mensaje especial. Cuando la entrada pasa la puerta de formato, la herramienta compara tu cadena con la forma con checksum letra por letra, y el resultado es o bien checksum válido, cuando ambas son idénticas, o bien formato válido pero la suma de verificación no coincide, cuando las letras son correctas pero la mayúscula y minúscula no.

La puerta de formato: 0x más exactamente 40 dígitos hexadecimales

La puerta es una sola expresión regular con tres exigencias. La dirección debe empezar con el prefijo 0x en minúscula: una X mayúscula se rechaza aunque todo lo que sigue sea correcto. Después debe llevar exactamente 40 caracteres hexadecimales, lo que hace la cadena completa de 42 caracteres; un dígito de menos o uno de más, ambos fallan. Por último, los espacios iniciales y finales se recortan antes de la comprobación, así que una copia que traiga relleno alrededor de la dirección pasa igual, mientras que un espacio en cualquier punto interior no es un carácter hexadecimal y falla.

Cómo EIP-55 decide la mayúscula de cada letra

Una vez que el formato es válido, la herramienta calcula la forma canónica. Quita el prefijo 0x, pone los 40 caracteres hexadecimales en minúscula y los pasa a keccak256, que devuelve un resumen hexadecimal de 64 caracteres. Entonces recorre la dirección posición a posición: para cada una de las 40 posiciones mira el carácter correspondiente del resumen, y si ese dígito del resumen tiene valor 8 o más, es decir 8, 9 o alguna de las letras de la a a la f, la letra de la dirección en esa posición pasa a mayúscula; en caso contrario se queda en minúscula. Aproximadamente la mitad de las letras termina en mayúscula, y cuáles lo son lo decide enteramente el hash.

Qué significan los tres estados de resultado

Un checksum válido en verde significa que tu cadena es byte por byte la forma canónica de mayúsculas y minúsculas mezcladas, la forma que EIP-55 está diseñada para producir. El estado de aviso, formato válido pero la suma de verificación no coincide, significa que los 40 dígitos hexadecimales son todos correctos pero al menos una letra tiene la mayúscula equivocada; la dirección sigue apuntando a la misma cuenta, solo que no pasa la comprobación ortográfica. Una dirección toda en minúscula es el ejemplo clásico del estado de no coincidencia: el formato es válido y el checksum nunca coincide. Lo mismo pasa con un 0x en minúscula seguido de 40 dígitos hexadecimales en mayúscula: la puerta de formato se cruza, pero la forma canónica siempre empieza con una x minúscula en su prefijo, de modo que las dos nunca pueden ser iguales. Una cadena con X mayúscula en el prefijo ni siquiera llega a la comparación, porque la regla del prefijo sola ya la descarta.

Las tres copias que puedes llevarte

Cuando el formato es válido aparecen tres tarjetas de resultado, cada una con su botón de copiar. La primera muestra la cadena entera en minúscula. La segunda la muestra en mayúscula, y como la conversión se aplica a la cadena completa, hasta el prefijo pasa a ser 0X, una forma que no deberías pegar en una cartera. La tercera muestra la forma con checksum EIP-55, la que vale la pena copiar: es la dirección con una mayúscula y minúscula que lleva su propio certificado de validez.

Por qué importa la mayúscula y minúscula

En la blockchain, la mayúscula y minúscula no significan nada: minúscula, mayúscula y mixta son la misma cuenta, porque una dirección de Ethereum son 20 bytes y la mayúscula de las letras no forma parte de esos bytes. El checksum existe para el lado humano de la transacción. Enviar a una dirección mal tecleada es irreversible, y EIP-55 convierte aproximadamente la mitad de las letras en dígitos de verificación sensibles a la mayúscula, de modo que un carácter mal tecleado o transpuesto suele producir una cadena cuyo checksum no coincide, y las carteras y los formularios de exchange pueden rechazarla antes de que el dinero se mueva.

Qué no hay aquí, y hacia dónde ir después

La herramienta es deliberadamente estrecha: una entrada, un botón, sin historial guardado y sin control de intercambio, porque no hay nada que intercambiar. Si quieres ver el hash que dirige las decisiones de mayúscula, el Generador de Hash Keccak-256 calcula el mismo resumen keccak256 sobre cualquier entrada que elijas. Si trabajas con otras familias de hash, el Generador de hash las cubre, y si tu trabajo con Ethereum va de codificar llamadas a funciones y datos más que de direcciones, el Codificador/Decodificador ABI se encarga de ese lado, mientras la guía del codificador ABI recorre el mismo conducto keccak256 desde la dirección de la codificación.

Herramientas Relacionadas

Preguntas Frecuentes

¿El checksum cambia la dirección en sí misma?

No. La mayúscula y minúscula no forma parte de los 20 bytes de la dirección: minúscula, mayúscula y la forma mixta apuntan todas a la misma cuenta. El checksum solo marca qué ortografía exacta es la forma canónica, así que una dirección con la mayúscula equivocada es el mismo destino que no pasa una comprobación ortográfica.

¿Qué hace la herramienta con una entrada vacía o mal formada?

Informa del estado rojo de formato de dirección no válido, nada más. No hay colapso ni mensaje de error extra. Una entrada vacía, un 0x que falta, una X mayúscula, el número equivocado de dígitos hexadecimales y cualquier carácter no hexadecimal producen todos el mismo resultado único.

¿Se envía la dirección a algún sitio para ser verificada?

No. La función keccak256 viene empaquetada en la página y corre en tu navegador, de modo que la dirección se hace hash localmente y nunca sale de tu máquina. Tampoco se guarda nada entre visitas.

¿Por qué una dirección toda en minúsculas muestra una no coincidencia de checksum?

Porque la forma con checksum tiene aproximadamente la mitad de sus letras en mayúscula, decidido por el hash. Una cadena toda en minúscula nunca puede ser igual a esa forma, así que una dirección minúscula válida queda en el estado de no coincidencia hasta que la sustituyes por la versión con checksum.

¿Cuál de las tres salidas debería copiar?

La de checksum EIP-55. Es la única forma que lleva un checksum válido, y la forma que la mayoría de las carteras y formularios de exchange esperan. La copia en minúscula es útil para comparar, y la copia en mayúscula hasta cambia el prefijo 0x a 0X, así que es la que debes evitar pegar en cualquier parte.

Artículos Relacionados