El número de bloque de Ethereum indica una altura de bloque. El hash se deriva de los datos del bloque, mientras que la marca de tiempo describe su momento temporal. Estos campos responden a preguntas distintas, aunque aparezcan juntos en un mismo registro.
La distinción resulta útil al consultar el estado de una cuenta. Una petición de saldo necesita más contexto que una dirección: su parámetro de bloque determina la altura solicitada. Elegir un número explícito permite dejar constancia de esa selección para que otra persona pueda interpretar después a qué altura se refería la consulta.
El número de bloque y el hash describen cosas distintas
Para las consultas de estado, la documentación JSON-RPC de Ethereum establece que el parámetro de bloque determina la altura. Por tanto, el número sirve para seleccionar una altura. El hash tiene una relación diferente con el registro: se deriva criptográficamente de los datos del bloque.
El objeto de bloque documentado en JSON-RPC representa su hash mediante 32 bytes. Existe una excepción expresa para los bloques pendientes, cuyo campo hash tiene el valor null. Conviene conservar esa salvedad al interpretar el campo, en lugar de esperar un hash cumplimentado en cualquier respuesta con estructura de bloque.
Al revisar un registro, identifica el número y el hash por separado. Junto al número, la pregunta útil es qué altura se ha seleccionado. Junto al hash, interesa saber qué hash de bloque ha comunicado esa respuesta. Así se mantienen visibles ambas funciones sin convertir una altura en una promesa de identidad irreversible del bloque.
La documentación de bloques de Ethereum explica la relación entre el hash y los datos del bloque. Aquí esa relación sirve para distinguir los campos; el objetivo no es desarrollar una guía de confirmaciones o finalidad.
Por qué una marca de tiempo es distinta de una altura
El campo timestamp del objeto de bloque recoge la marca de tiempo Unix correspondiente al momento en que se ensambló el bloque. Describe su tiempo, mientras que la altura indica la selección realizada para una consulta de estado. También debe distinguirse de una anotación sobre cuándo recuperaste la respuesta.
Ethereum divide el tiempo en intervalos de doce segundos llamados slots. Sin embargo, la documentación explica que algunos pueden quedar vacíos cuando el validador encargado de proponer un bloque está desconectado. Por ello, la duración de los slots no garantiza un intervalo de doce segundos entre cada par de bloques producidos.
De esas dos premisas se deduce una limitación: multiplicar una cantidad de bloques por doce segundos no garantiza recuperar la marca de tiempo de un bloque. Esto no significa que todos los intervalos difieran, ni proporciona otra fórmula para reconstruir el tiempo. En un ejercicio sobre un bloque concreto, conserva la marca temporal comunicada junto a su número, en vez de sustituirla por una estimación de intervalo fijo.
Cómo seleccionar una altura para consultar el estado
El parámetro de bloque admite un número entero codificado como cadena hexadecimal. Las cantidades JSON-RPC utilizan una representación hexadecimal compacta con el prefijo 0x. En los ejemplos hipotéticos siguientes, la altura decimal 1024 se escribe 0x400.
La etiqueta latest selecciona el último bloque propuesto en el contexto del nodo que responde. Por su parte, eth_blockNumber devuelve el número de bloque actual en el que se encuentra el cliente. Interprétalo como una observación relativa a ese cliente, no como una lectura de toda la red establecida de manera independiente.
Estas definiciones permiten otra deducción: conservar un parámetro entero explícito mantiene la altura solicitada entre consultas, mientras que repetir latest repite una selección relativa. La conclusión se limita a la altura de la petición. No garantiza una identidad inmutable del bloque, respuestas idénticas ni valores distintos al seleccionar dos alturas diferentes.
La documentación JSON-RPC de Ethereum describe los métodos y las convenciones de sus parámetros. Esa información establece el mecanismo de selección; esta explicación no acredita qué alturas históricas puede atender un proveedor concreto.
Separa el registro del bloque de la consulta de estado
eth_getBlockByNumber devuelve información sobre un bloque seleccionado por su número. Su función permite distinguir una petición del registro del bloque de otra que solicita el saldo de una cuenta a una altura determinada.
eth_getBalance devuelve el saldo de la cuenta situada en la dirección indicada. Su resultado debe conservarse junto con esa dirección y el parámetro de bloque seleccionado. No es un método general para consultar saldos de tokens; por eso el ejemplo se limita a interpretar el saldo de una cuenta.
Para las consultas a contratos, eth_call también figura entre los métodos que admiten un parámetro de bloque. Ejecuta una llamada sin crear una transacción en la cadena. Esto describe cómo se realiza la llamada; no garantiza que cualquier llamada arbitraria termine con un resultado correcto.
Si estás comparando estos registros con la información de una operación, la guía sobre cómo leer una transacción de Ethereum en un explorador de bloques ofrece contexto complementario. Aquí el foco sigue siendo seleccionar y registrar la altura de una consulta.
Dos registros de consulta hipotéticos
Imagina una ficha educativa para una red estipulada y una Cuenta A. Todos los datos del ejemplo son inventados. No se ha ejecutado ninguna petición y la ficha no presenta datos reales de una cuenta.
- Registro A: método
eth_getBalance; dirección Cuenta A; parámetro de bloque0x400, equivalente a la altura decimal 1024; resultado en blanco. - Registro B: método
eth_getBalance; dirección Cuenta A; parámetro de bloquelatest; resultado en blanco.
El registro A solicita el saldo con una selección explícita de altura. El registro B lo solicita seleccionando el último bloque propuesto. Dejar los resultados en blanco ayuda a aislar el mecanismo: las peticiones contienen instrucciones de selección distintas antes de considerar cualquier respuesta numérica.
Añade ahora una entrada separada para el registro del bloque de altura 1024, con espacios para el hash y la marca de tiempo devueltos. Mantén esos campos separados de la respuesta de saldo. Esta organización relaciona la altura, el registro del bloque y la pregunta sobre el estado sin tratar el hash o la marca temporal como otras formas de escribir la altura.
Si vuelves a la ficha, conserva los parámetros originales y registra cualquier observación nueva por separado. El ejemplo no presupone que los resultados deban diferir, que las consultas históricas estén disponibles ni que conservar una altura garantice una identidad de bloque sin cambios.
Lista de comprobación para interpretar una consulta registrada
- Identifica por separado el número de bloque, el hash y la marca de tiempo.
- Anota el método y la dirección de cuenta o los datos de entrada de la llamada que se examina.
- Conserva el parámetro entero exacto o la etiqueta relativa utilizada.
- Si muestras una altura hexadecimal en decimal, deja clara la correspondencia.
- Distingue una respuesta con información del bloque de una respuesta a una consulta de estado.
- Separa la altura solicitada de cualquier afirmación sobre disponibilidad del proveedor o identidad inmutable.
Material educativo elaborado con ayuda de inteligencia artificial. La ficha es hipotética y muestra cómo interpretar el contexto de una consulta.