Desarrollar una aplicación Bitcoin es muy sencillo, incluso si se tiene que meter código a mano, siempre que se tengan unas mínimas nociones de programación. Si algo tiene de complicado es el entender qué piezas entran en juego y cómo. El resto no cambia en exceso en comparación a otro tipo de aplicaciones, donde en cuestión de unas horas se puede tener algo totalmente funcional.

Este artículo no trata paso a paso cómo hacer una APP, sino que presenta un esquema mental de las piezas que forman una APP básica y cómo interactúan.

Por supuesto, es recomendable entender lo básico de Bitcoin.

Empecemos. Debemos pensar de forma modular. Por un lado está nuestra aplicación y por otro, Bitcoin.

Para interactuar con Bitcoin, se puede hacer de dos formas: instalando un nodo propio de Bitcoin o usar el nodo de otros. En ambos casos se interactúa luego a través de una API. Algunas veces se usarán unas API más sencillas, cómo son las RESTful, y otras un poco más engorrosas en cuanto a JSON-RPC. No obstante, y por suerte, los programadores ya tenemos librerías reutilizables open source para simplificar ambos casos si se desea.

En este caso, imaginemos que usamos la versión un poco más compleja, la que se basa en usar tu propio nodo Bitcoin, que da más autonomía y da pie a entender mejor el funcionamiento de Bitcoin.

Nodo Bitcoin

Un nodo Bitcoin está compuesto por 3 piezas notables:

  • El “demonio”: está conectado a otros nodos, lo que permite crear esa red P2P donde se intercambian todos los eventos que ocurran en la red por sockets.
  • Blockchain: la base de datos que registra los eventos de forma local en cada nodo. Realmente tu aplicación no usará esa base de datos, sino otra propia si lo requiere.
  • API: los eventos son convertidos a una respuesta JSON y transmitidos por un puerto, puede o no ponerse protegido para escuchas externas.

Explicación APP Bitcoin

El nodo puede instalarse en un ordenador Unix o Windows y puede llamarse o escucharse cuando se desee a través del puerto que tiene para ello, con o sin autenticación (al gusto), siendo un canal para una comunicación bidireccional: puedes recibir en tiempo real lo que sucede en el nodo y puedes enviarle información para que haga cosas o te informe de cosas. Cómo montar tu nodo Bitcoin en menos de 10 minutos.

La aplicación

Por supuesto se puede desarrollar la aplicación en el lenguaje que se desee y esta no debe conocer necesariamente en exceso el funcionamiento del nodo Bitcoin.

Una aplicación sencilla está compuesta por un backend, una base de datos y un frontend. Hasta ahí nada nuevo. Se puede poner una API o no… lo de siempre. El backend siempre que desee interactuar con la red Bitcoin puede llamar a la API RPC del nodo o escucharlo para tomar decisiones.

aplicación que utiliza bitcoin

Unimos piezas: Aplicación + Nodo Bitcoin

Imaginemos que queremos hacer un explorador blockchain. Simplemente deberemos poner nuestro backend a escuchar todos los eventos que ocurran en nuestro nodo (el cual nos informa de lo que ocurre en la red) y guardar la información que nos pase el nodo en nuestra base de datos para posteriores consultas desde el frontal donde mostremos lo pedido.

Integrar aplicación Bitcoin