01835113 (OP)
|
|
June 26, 2014, 07:43:05 PM Last edit: June 27, 2014, 12:23:33 PM by 01835113 |
|
Hola Quería saber si alguien me podría indicar como puedo saber, por línea de órdenes, si mi programa bitcoind está sincronizado con la red.
|
|
|
|
|
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
|
|
|
xcbtrader
|
|
June 26, 2014, 08:37:07 PM |
|
Hola Quería saber si alguien me podría indicar como puedo saber, por línea de órdenes, si mi programa bitcoind está sincronizado con la red.
Buenas. Si escribes help en la linea de comandos te dice todas las instrucciones que puedes poner. De todas formas, cuando está sincronizado te sale un mensaje en verde (o eso creo) Saludos
|
|
|
|
01835113 (OP)
|
|
June 27, 2014, 03:32:02 AM |
|
Hola Quería saber si alguien me podría indicar como puedo saber, por línea de órdenes, si mi programa bitcoind está sincronizado con la red.
Buenas. Si escribes help en la linea de comandos te dice todas las instrucciones que puedes poner. De todas formas, cuando está sincronizado te sale un mensaje en verde (o eso creo) Saludos ¿Un mensaje en verde desde la terminal?
|
|
|
|
xcbtrader
|
|
June 27, 2014, 04:57:18 AM |
|
Hola Quería saber si alguien me podría indicar como puedo saber, por línea de órdenes, si mi programa bitcoind está sincronizado con la red.
Buenas. Si escribes help en la linea de comandos te dice todas las instrucciones que puedes poner. De todas formas, cuando está sincronizado te sale un mensaje en verde (o eso creo) Saludos ¿Un mensaje en verde desde la terminal? Si.
|
|
|
|
dserrano5
Legendary
Offline
Activity: 1974
Merit: 1029
|
|
June 27, 2014, 06:03:29 AM |
|
Quería saber si alguien me podría indicar como puedo saber, por línea de órdenes, si mi programa bitcoind está sincronizado con la red.
Que yo sepa no se puede.
|
|
|
|
Shawshank
Legendary
Offline
Activity: 1623
Merit: 1608
|
|
June 27, 2014, 11:41:28 AM |
|
Desde la versión 0.9, se ha separado la funcionalidad del servidor en bitcoind, y la del cliente en bitcoin-cli. El ejecutable bitcoin-qt funciona como cliente y servidor.
No hay una forma totalmente correcta de saber si hemos recibido el último bloque, porque la sincronización es un proceso continuo. La mejor aproximación es ver el día y la hora del último bloque recibido y comprobar si no dista, por ejemplo, más de 30 minutos de la hora actual.
Te adjunto los comandos que acabo de lanzar en mi máquina Ubuntu que demuestra que tengo el Bitcoin Core actualizado. En Windows sería muy parecido.
$ bitcoin-qt & [1] 23682
$ ./bitcoin-cli getblockcount 308097
$ ./bitcoin-cli getblockhash 308097 000000000000000025ad567405f49664d69968686762917216b9983951eec67d
$ ./bitcoin-cli getblock 000000000000000025ad567405f49664d69968686762917216b9983951eec67d | grep time "time" : 1403868052,
$ date -d @1403868052 vie jun 27 13:20:52 CEST 2014
Como la fecha actual son las 13:29 del 27 de junio, la diferencia es de "solo" 9 minutos, y por tanto se puede considerar que el Bitcoin Core al que he accedido está actualizado.
El ejemplo que he pasado está ejecutado en Ubuntu, pero para Windows sería parecido. Si quieres que se ejecute todo de forma automática, quizás tengas que utilizar sed o gawk en Linux, pero espero que te sirva para hacerte una idea.
Si tienes cualquier otra duda, pregunta.
|
|
|
|
01835113 (OP)
|
|
June 27, 2014, 12:00:28 PM |
|
Quería saber si alguien me podría indicar como puedo saber, por línea de órdenes, si mi programa bitcoind está sincronizado con la red.
Que yo sepa no se puede. Entonces no sé cómo puedo saber cuando puedo poner a funcionar mis aplicaciones desde un servidor.
|
|
|
|
Shawshank
Legendary
Offline
Activity: 1623
Merit: 1608
|
|
June 27, 2014, 12:09:57 PM |
|
Quería saber si alguien me podría indicar como puedo saber, por línea de órdenes, si mi programa bitcoind está sincronizado con la red.
Que yo sepa no se puede. Entonces no sé cómo puedo saber cuando puedo poner a funcionar mis aplicaciones desde un servidor. Lo puedes conseguir comprobando la fecha y hora que te devuelve un script como el que te he indicado. Si solo necesitas saber si tienes Bitcoin Core sincronizado para ver si puedes lanzar tus aplicaciones, ejecuta el siguiente comando: bitcoin-cli getblockcounty comprueba visualmente que coincide con el último bloque recibido en https://blockchain.info
|
|
|
|
01835113 (OP)
|
|
June 27, 2014, 12:23:09 PM Last edit: June 27, 2014, 12:41:34 PM by 01835113 |
|
Quería saber si alguien me podría indicar como puedo saber, por línea de órdenes, si mi programa bitcoind está sincronizado con la red.
Que yo sepa no se puede. Entonces no sé cómo puedo saber cuando puedo poner a funcionar mis aplicaciones desde un servidor. Lo puedes conseguir comprobando la fecha y hora que te devuelve un script como el que te he indicado. Si solo necesitas saber si tienes Bitcoin Core sincronizado para ver si puedes lanzar tus aplicaciones, ejecuta el siguiente comando: bitcoin-cli getblockcounty comprueba visualmente que coincide con el último bloque recibido en https://blockchain.infoMuchas gracias funciona, yo también uso ubuntu. Perdón por mi mensaje anterior pero no se me mostraba la otra respuesta que me habías dado donde hablas de bitcoin-cli. No sabía eso, que se había separado la funcionalidad del cliente y servidor en dos ejecutables, entonces hay que arrancar bitcoind e interactuar a través de los comandos mediante bitcoin-cli. Pero también funciona con "bitcoind comando" aún, he comprobado. Hasta luego gracias.
|
|
|
|
01835113 (OP)
|
|
June 27, 2014, 12:30:28 PM |
|
Joer, que guay está esto me encanta
|
|
|
|
dserrano5
Legendary
Offline
Activity: 1974
Merit: 1029
|
|
June 27, 2014, 12:31:28 PM |
|
No hay una forma totalmente correcta de saber si hemos recibido el último bloque, porque la sincronización es un proceso continuo.
Sí, pero es que en el -qt hay una indicación visual de que estamos sincronizados, o de que estamos X tiempo por detrás. Por tanto el cliente lo sabe, pero por alguna razón no exporta un valor como este mediante el interface RPC.
|
|
|
|
Shawshank
Legendary
Offline
Activity: 1623
Merit: 1608
|
|
June 27, 2014, 12:50:29 PM |
|
No hay una forma totalmente correcta de saber si hemos recibido el último bloque, porque la sincronización es un proceso continuo.
Sí, pero es que en el -qt hay una indicación visual de que estamos sincronizados, o de que estamos X tiempo por detrás. Por tanto el cliente lo sabe, pero por alguna razón no exporta un valor como este mediante el interface RPC. Parece que ya está añadido también a través de la interfaz JSON-RPC. Acabo de lanzar el siguiente comando: curl --user miusuario --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method":"getblockcount", "params":[]}' -H 'content-type: text/plain;' http://127.0.0.1:8332Enter host password for user 'miusuario': Y la interfaz JSON-RPC me ha devuelto lo siguiente: {"result":308104,"error":null,"id":"curltest"}indicando que, efectivamente, el bloque más alto de la cadena es la número 308104.
|
|
|
|
dserrano5
Legendary
Offline
Activity: 1974
Merit: 1029
|
|
June 27, 2014, 12:55:27 PM |
|
{"result":308104,"error":null,"id":"curltest"}
indicando que, efectivamente, el bloque más alto de la cadena es la número 308104.
Pero no hay ningún valor que te diga "Estamos 0 bloques por detrás", tal como dice el GUI (vale, el GUI lo traduce en un intervalo temporal pero viene siendo lo mismo). O sea, seguimos teniendo que ir a terceros para comprobar si el último bloque coincide.
|
|
|
|
Shawshank
Legendary
Offline
Activity: 1623
Merit: 1608
|
|
June 27, 2014, 01:18:21 PM |
|
{"result":308104,"error":null,"id":"curltest"}
indicando que, efectivamente, el bloque más alto de la cadena es la número 308104.
Pero no hay ningún valor que te diga "Estamos 0 bloques por detrás", tal como dice el GUI (vale, el GUI lo traduce en un intervalo temporal pero viene siendo lo mismo). O sea, seguimos teniendo que ir a terceros para comprobar si el último bloque coincide. ¡Ah! ¡Cierto! No dice en ningún momento estamos x bloques por detrás porque no es un valor fiable. La interfaz gráfica dice "Descargados abc bloques de un total de xyz bloques", pero es un hack que es fácilmente trucable. En ocasiones he visto cifras de bloques en los miles de millones, algo imposible, porque hay nodos que intentan engañar. Por esa razón, tengo entendido que en la próxima interfaz gráfica de Bitcoin Core, se va a basar únicamente en el timestamp del último bloque recibido, que es lo realmente fiable y no se puede trucar.
|
|
|
|
gizzig
|
|
June 27, 2014, 06:34:07 PM |
|
Hola Blockchain tiene un API que (creo) hace eso y mucho más y es gratuito. https://blockchain.info/es/apiEstá muy bien explicado y funciona desde la Web
|
|
|
|
|