Las tecnologías han cambiado la forma en la que vivimos. Podemos obtener la información en tiempo real de la contaminación que hay en las ciudades, el basurero sabe que un contenedor está lleno antes de recogerlo, controlamos la calefacción de nuestra casa con una aplicación móvil, etc. Estos casos de uso se suelen englobar en el paradigma de “internet de las cosas” (Internet of Things, IoT) que pretende conectar todos los dispositivos y/o máquinas a Internet para que intercambien información y generen beneficio para la sociedad. Para almacenar esta información que se extrae, se utilizan las denominadas bases de datos. Sin embargo, estas últimas no son suficiente cuando se requiere compartir datos entre distintas entidades sin la posibilidad de ser manipulados ilícitamente. Con la llegada de la Cadena de Bloques (Blockchain) se pondrá solución a ese problema. En este trabajo se desarrollará un caso de uso aplicado a la industria de cadenas de suministro. Para ello, se requiere conocer el panorama de herramientas, protocolos y buenas prácticas esenciales a la hora de desarrollar una aplicación estable que pueda llegar a un entorno de producción real. Se realizará un estudio previo del estado del arte, analizando y entendiendo el funcionamiento de estas tecnologías y las posibilidades que nos brindan para poder desarrollar correctamente el proyecto. Se diseñará la arquitectura teniendo en cuenta las necesidades y servicios que se dan en toda la cadena. Posteriormente, se desarrollará el proyecto con el fin de hacer una demostración real a un posible cliente. Por un lado, se implementará el núcleo del aplicativo, encargado de leer los datos que envían los dispositivos y almacenarlos de forma segura. Por otro lado, se ha usado un pequeño ordenador con sensores de medida en el que se ha programado una aplicación para enviar datos a dicho núcleo del sistema. Con el fin de hacer una demostración visual, se desarrollará una aplicación web que permitirá llevar un control de los dispositivos y los datos que se han recibido. Como tarea adicional, se ha acudido a un programa de emprendimiento ofrecido por la Universidad Autónoma de Madrid. Se explicará cuáles han sido los pasos aprendidos para analizar la viabilidad del producto y cómo se ha desarrollado y organizado de cara a tener un futuro equipo trabajando en el proyecto. La tarea de emprendimiento se ha detallado en el Anexo A. Este proyecto, al que se ha denominado con el nombre de VIKYNGO, se encuentra alojado en un repositorio público y se ha desarrollado con licencia Apache Versión 2.
Technology has changed the way we live. Nowadays, we can get the information of pollution that exists in the cities in real time, the refuse collector knows that a container is full before picking it up, we control the heating of our house with a mobile app, etc. These use-cases are usually included in the paradigm of "Internet of things" (IoT), which aims to connect all devices and/or machines to the Internet, so that they can exchange information and generate benefits to society. To store this information, we use databases. However, this is not enough when it is required to share data between different entities without the possibility of being illegally manipulated. With the arrival of Blockchain, this problem will be solved. On this project, a use-case applied to the supply chain industry, will be developed. To make this possible, it is necessary to know the panorama of essential tools, protocols and good practices when developing a stable application that can reach a real production environment. A preliminary study of the state of the art will be made, analyzing and understanding the operation of these technologies and the possibilities that they offer us to be able to correctly develop the project. The architecture will be designed, taking the needs and services that occur throughout the chain into account. Subsequently, the project will be developed in order to make a real demonstration to a possible client. On the one hand, the core of the application will be developed, which is responsible for reading the data sent by devices, storing them securely. On the other hand, a minicomputer with measurement sensors, in which a small application has been programmed to send data to the abovementioned core of the system, which has been used. In order to make a visual demonstration, a web application, in which the devices and the data received will be controlled, will be developed. As an additional task, we have attended an entrepreneurship program offered by the Autonomous University of Madrid. They will explain which steps have been learned to see the viability of the product and how it has been developed and organized in order to have a future team working on the project. The task of entrepreneurship has been detailed in Annex A. This project, which has been denominated as VIKYNGO, has been published in a public repository and has been developed with Apache License Version 2.0.