The Spanish wiki is no longer maintained and is in read-only mode. Information contained within may be inaccurate or outdated. Please go to the English wiki for more up to date information.
Traducción automática del inglés: la wiki en español ya no se mantiene y está en modo de solo lectura. La información contenida en ella puede ser inexacta o estar desactualizada. Visite la wiki en inglés para obtener información más actualizada.
Diferencia entre revisiones de «Bitcoind»
Traduzco artículo inglés sobre el cliente de Satoshi |
m →Ejecución: Corrijo un par de erratas |
||
Línea 9: | Línea 9: | ||
Véase [[Ejecución de bitcoind]] para más detalles y un ejemplo del archivo de configuración. | Véase [[Ejecución de bitcoind]] para más detalles y un ejemplo del archivo de configuración. | ||
Bitcoind es un ejecutable ''daemon'' sin interfaz gráfica de usuario (''headless''), e incorpora también una herramienta de pruebas para el mismo ''daemon''. Proporciona una interfaz JSON-RPC, que permite controlarlo tanto en modo local como en modo remoto. Esto lo hace útil para la integración con otras herramientas de software o en | Bitcoind es un ejecutable ''daemon'' sin interfaz gráfica de usuario (''headless''), e incorpora también una herramienta de pruebas para el mismo ''daemon''. Proporciona una interfaz JSON-RPC, que permite controlarlo tanto en modo local como en modo remoto. Esto lo hace útil para la integración con otras herramientas de software o en sistemas de pago más amplios. La biblioteca de programación o API proporciona [[Lista de funciones del API Bitcoin|numerosas funciones]]. | ||
Para utilizarlo en modo local, inicie el programa en modo ''daemon'': | Para utilizarlo en modo local, inicie el programa en modo ''daemon'': | ||
Línea 15: | Línea 15: | ||
A continuación, tendrá que utilizar el mismo programa para ejecutar las [[Lista de funciones del API Bitcoin | A continuación, tendrá que utilizar el mismo programa para ejecutar las [[Lista de funciones del API Bitcoin|funciones del API]], como por ejemplo: | ||
:bitcoind getinfo | :bitcoind getinfo | ||
:bitcoind listtransactions | :bitcoind listtransactions |
Revisión del 19:52 9 sep 2012
Bitcoind es un programa que implementa el protocolo Bitcoin para su uso desde línea de comandos y mediante llamadas de procedimientos remotos (Remote procedure calls, RPC). Es también el primer cliente de Bitcoin en la historia del sistema. Se encuentra disponible bajo la licencia MIT en versiones de 32 y 64 bits para Windows, sistemas basados en GNU/Linux y Mac OS X.
Debido a su condición de primer cliente de Bitcoin escrito por Satoshi Nakamoto se le designa habitualmente como "cliente de Satoshi". También se le llama el "cliente de referencia", por tratarse de la implementación de referencia funcional para cualquier otro cliente, en ausencia de una especificación formal completa del protocolo Bitcoin.
Con anterioridad a la versión 0.5, este cliente utilizaba una interfaz de usuario basada en la biblioteca wxWidgets. En la actualidad, la interfaz gráfica es proporcionada por Bitcoin-Qt.
Ejecución
Véase Ejecución de bitcoind para más detalles y un ejemplo del archivo de configuración.
Bitcoind es un ejecutable daemon sin interfaz gráfica de usuario (headless), e incorpora también una herramienta de pruebas para el mismo daemon. Proporciona una interfaz JSON-RPC, que permite controlarlo tanto en modo local como en modo remoto. Esto lo hace útil para la integración con otras herramientas de software o en sistemas de pago más amplios. La biblioteca de programación o API proporciona numerosas funciones.
Para utilizarlo en modo local, inicie el programa en modo daemon:
- bitcoind -daemon
A continuación, tendrá que utilizar el mismo programa para ejecutar las funciones del API, como por ejemplo:
- bitcoind getinfo
- bitcoind listtransactions
Para detener el daemon, ejecute:
- bitcoind stop
Historia
- La versión 0.4.0 fue publicada para todas las plataformas respaldadas el 23 de septiembre de 2011 [1].
- La versión 0.3.24 fue publicada para todas las plataformas respaldadas el 8 de julio de 2011 [2].
- La versión 0.3.23 fue publicada para todas las plataformas respaldadas el 13 de junio de 2011 [3].
- La versión 0.3.22 fue publicada para todas las plataformas respaldadas el 19 de mayo de 2011 [4].
- La versión 0.3.20 fue publicada para todas las plataformas respaldadas el 21 de febrero de 2011[5].
Análisis técnico
bitcoind es un programa escrito en C++ que utiliza múltiples hilos de ejecución (multithreaded). Se ha diseñado para que sea portable entre sistemas Windows, Mac y Linux. El uso de hilos de ejecución múltiples introduce una cierta complejidad y el uso de patrones de código para lidiar con la concurrencia que pueden resultar extraños a muchos programadores. Además, el código utiliza de manera general construcciones típicas del C++, por lo que es necesario estar familiarizado con clases estándar como map, multimap, set, string, vector, las clases iostream y las plantillas (templates). Como es habitual en los programas en C++, gran parte del código puede estar en lso archivos de encabezado por lo que al buscar una función concreta es conveniente buscar tanto en los archivos .cpp como en los .h del proyecto.
El cliente diferencia entre varias operaciones principales, que se describen en artículos detallados aparte y se resumen en las secciones siguientes:
Inicialización y puesta en marcha
Al iniciarse, el cliente lleva a cabo diversas llamadas de inicialización, como el lanzamiento de hilos múltiples de ejecución para gestionar operaciones concurrentes.
Descubrimiento de nodos
El cliente utiliza diversas técnicas para localizar a otros nodos de Bitcoin que se encuentran conectados a la red.
Conectividad de nodos
El cliente establece y mantiene las conexiones con los otros nodos.
Sockets y mensajes
El cliente procesa mensajes de otros nodos y envía mensajes a otros nodos utilizando conexiones por sockets.
Intercambio de bloques
Los nodos se anuncian unos a otros sus colecciones de bloques y se transfieren bloques para construir la cadena de bloques.
Intercambio de transacciones
Los nodos se intercambian y propagan transacciones entre ellos. El cliente vincula las transacciones conocidas con las direcciones Bitcoin de la cartera local.
Servicios de cartera
El cliente permite generar transacciones utilizando la cartera local. El cliente vincula las transacciones con las direcciones Bitcoin de la cartera local. El cliente proporciona un servicio para gestionar la cartera local.
Interfaz RPC
El cliente ofrece una interfaz JSON-RPC basada en HTTP por sockets que permite llevar a cabo diversas operaciones y gestionar la cartera local.
Interfaz de usuario
La interfaz de usuario actual de Bitcoind es a través de línea de comandos, mientras que anteriormente estuvo basada en wxWidgets. La interfaz gráfica es proporcionada ahora por Bitcoin-qt a partir de las versiones 0.5+.
Resolución de problemas
Me sale el error "Error loading blkindex.bat" al intentar ejecutar el cliente
blkindex.dat es parte de la base de datos que almacena la copia local de la cadena de bloques y puede corromperse. Intente abrir el directorio de datos de Bitcoin:
Windows: %APPDATA%\Bitcoin Linux: ~/.bitcoin Mac: ~/Library/Application Support/Bitcoin/
Haga una copia de seguridad de todo el directorio y borre todo EXCEPTO wallet.dat. Reinicie bitcoind y se descargará una copia nueva de la cadena de bloques.
Véase también
- Lista de funciones del API Bitcoin
- Protocolo de red Bitcoin
- Proceso de desarrollo
- Proceso de publicación de versiones
- Registro de cambios