Estoy usando bitcoind en Ubuntu, sin cabeza. Así que no hay GUI que me diga cuándo está hecho.
Entonces, ¿cómo lo sé?
Ejecute bitcoind getinfo
el shell de su elección y compare el recuento de bloques, que aparece después de "blocks", con el recuento de bloques que se indica aquí . Si los dos números son iguales, su cliente está actualizado.
Aquí hay un script que hace precisamente eso:
echo `bitcoin-cli getblockcount 2>&1`/`wget -O - https://blockchain.info/q/getblockcount 2>/dev/null`
corre bitcoind getblocktemplate
_ Si no está al día, volverá con un error de -10
.
El bitcoind
comando muestra diferentes errores ahora.
La nueva forma de verificar es conbitcoin-cli getblocktemplate
Se ha publicado el uso con secuencias de comandos donde encontré esta pregunta por primera vez
¿Cómo verificar si la cadena de bloques está actualizada usando bitcoind o json-rpc?
La forma más sencilla es ejecutar
bitcoind -blocknotify myscript.sh %s
En los bloques después de que bitcoind se ponga al día con la cadena de bloques, sus scripts serán llamados con el nuevo blockhash. Puede imprimir un mensaje o hacer cualquier otra cosa requerida en este script
Un método alternativo, (trabajando con versiones recientes), que no depende de sitios web externos, es usar bitcoin-cli getblockchaininfo
y comparar el headers
campo y el blocks
campo.
Actualmente, para sincronizar la cadena de bloques más rápido, los encabezados se descargan antes que los bloques reales. Esto se conoce como Headers-First Sync Como consecuencia, la cantidad de encabezados de bloque durante la Descarga de bloque inicial (IBD) será mayor que la cantidad de bloques. Cuando este número "se pone al día" con el número de bloques, podemos decir que estamos "al día" con la cadena de bloques que nuestros pares nos anunciaron.
Escribí un script para iniciar bitcoind y generar puntos mientras aún estaba en la fase IBD. Cuando la cadena de bloques esté actualizada, emitirá un mensaje. Aquí está el guión: https://github.com/frz-dev/btcutils/blob/master/bitcoin-core/start-bitcoind.sh
Con solo un navegador web, puede visitar http://bitcoinwatch.com/ para descubrir la altura o el recuento de bloques de la red Bitcoin actual.
O apunte su bitcoin-cli a un servidor Bitcoind de producción y emita el siguiente comando (tenga en cuenta que el archivo *.conf debe ser el que use en su lugar):
% ../bin/bitcoin-cli -conf=mainNet-productionServer.conf getblockcount
La forma más fácil es consultar todas las conexiones de sus pares para obtener numerosos detalles que también incluyen la "altura inicial" para cada uno de ellos.
% ../bin/bitcoin-cli -conf=mainNet-localServer.conf getpeerinfo
Alternativamente, el siguiente comando libbitcoin-explorer (bx, cumple una función análoga a bitcoin-cli) proporciona solo un número cuando el cliente bx se conecta a un servidor bitcoin de producción (anteriormente llamado Obelisco) para consultarlo por la altura de Blockchain.
% bx altura de búsqueda
Para obtener la altura actual de su localServer que se está construyendo, intente:
% ../bin/bitcoin-cli -conf=mainNet-localServer.conf getblockcount
Para propósitos de contraste, el siguiente comando de ayuda de bitcoin-cli proporciona detalles adicionales para la imagen de Blockchain local que está creando:
% ../bin/bitcoin-cli -conf=mainNet.conf ayuda gettxoutsetinfo gettxoutsetinfo
Devuelve estadísticas sobre el conjunto de salida de transacciones no gastadas. Tenga en cuenta que esta llamada puede tardar algún tiempo.
Resultado: { "altura": n , (numérico) La altura del bloque actual (índice) "bestblock": "hex", (cadena) el mejor bloque hash hex "transacciones": n, (numérico) El número de transacciones "txouts ": n, (numérico) El número de transacciones de salida "bytes_serialized": n, (numérico) El tamaño serializado "hash_serialized": "hash", (cadena) El hash serializado "total_amount": x.xxx (numérico) El total Monto }
Su cadena de bloques está completa cuando los dos números coinciden. Este enfoque le dará una buena idea sobre su estado actual.
usuario10603