Estadísticas de Bitcoin

Necesito obtener algunos valores para encontrar qué tan actualizado está mi cliente bitcoind.

Por ejemplo, me gustaría que la GUI me dijera:

  1. Si está al día. Si no, mostrar bloques/bloques totales
  2. ¿Cuántos bloques se han descargado?
  3. La hora en que se generó el último bloque recibido.

¿Hay comandos disponibles en la API de JSON para obtener esta información? ¿O de qué otra manera puedo lograr esto?

Saludos

Tenía la impresión de que la versión 5+ del cliente (bitcoin-qt) ofrece todas estas capacidades. ¿Me equivoco?
El cliente no puede saber si está actualizado en términos de bloques. La única forma en que el cliente puede saber que existe un bloque es validándolo. La única manera de validar un bloque es tenerlo ya. El cliente no tiene otro mecanismo para convencerse de que no es ya actual. (La excepción sería si hubiera un puesto de control delante).
¿Cómo sabe Bitcoin-QR que está "desincronizado"? Y también dice algo así como ~24 bloque(s) restantes.

Respuestas (1)

Probablemente necesite leer: https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list

Probablemente le gusten los métodos getblockcount y getblocknumber.

No creo que la API pueda brindarle el número de bloque más reciente hasta que se actualice, pero puede encontrarlo en http://bitcoinwatch.com/ -> bloques -> contar.

más detalles (de #bitcoin-dev en IRC, gracias a sturles): el cliente no puede estar seguro hasta que se verifiquen todos los bloques, pero puede informar lo que otros clientes afirman tener. Un cliente malintencionado puede informar números arbitrarios a su cliente, por lo que el cliente bitcoin no puede estar seguro hasta que se verifique el último bloque. También puede hacer una estimación basada en la hora actual y la antigüedad del último bloque verificado.
por lo que su mejor suposición probablemente será obtener el último número de bloque de un proveedor confiable (bitcoinwatch.com es solo un ejemplo)
Gracias por su respuesta. Leí esa lista de comandos API pero es bastante vaga. La idea de hacer esto era evitar el uso de terceros :( ¿Cómo puedo hacer una estimación de invitados? ¿Cómo puedo obtener el último bloque verificado? Saludos.
no tiene forma de estar seguro hasta que su cliente local haya verificado todos los bloques; otros clientes pueden mentirle, pero al mirar el código del cliente y debug.log, puede encontrar que otros nodos le envían mensajes como "mensaje de versión: versión 32300, bloques = 170346", le dicen su versión y número de bloques , puede ignorar los clientes de la versión anterior y decidir que todos los de la última versión deben tener el último bloque.
tener esta opción (bloques XXX/YYYY descargados) realmente podría ser útil para los usuarios de bitcoin, si puede implementarlo como una llamada API, fork github.com/bitcoin/bitcoin y envíe una solicitud de extracción para compartir su buena idea con otros.