Gordillo Alguacil, PabloCorreas Fernández, JesúsPérez Belizón, Manuel David2024-07-222024-07-222024https://hdl.handle.net/20.500.14352/106968Trabajo de Fin de Grado en Ingeniería Informática, Facultad de Informática UCM, Departamento de Sistemas Informáticos y Computación, Curso 2023/2024. Todo el código relacionado con el proyecto está publicado en el siguiente repositorio de GitHub: https://github.com/Manudpb/tfg-manuelEn la red principal de Ethereum se despliegan continuamente nuevos contratos y su código binario está disponible públicamente, lo que proporciona una enorme colección de código real de aplicaciones reales que se puede utilizar para realizar investigaciones sobre ellos. En la red de Ethereum se almacena el código compilado del contrato, aunque en algunos casos los desarrolladores de contratos publican el código fuente en repositorios públicos, como por ejemplo Etherscan. Para realizar investigaciones sobre esta base de código, resulta de gran interés poder disponer de una herramienta que pueda cargar contratos inteligentes que estén verificados en la red de Ethereum para así buscar aquellos que cumplan condiciones de selección complejas, como, por ejemplo: tipo de licencia del código, versión del compilador, optimizaciones, así como otras condiciones complejas. En este trabajo se introducen los conceptos fundamentales de la tecnología de cadena de bloques, se describen las principales características de Ethereum, se revisa la exploración de datos en Ethereum junto a los repositorios públicos más relevantes que almacenan código fuente de contratos inteligentes desplegados en Ethereum, y se desarrolla un prototipo de aplicación para la descarga, búsqueda y compilación de contratos inteligentes de acuerdo con diversas condiciones de selección.In Ethereum main net smart contracts are continuously being deployed with their binary code publicly accessible, this provides a huge collection of real code from real applications that can be used to research them. Ethereum main net stores the compiled code of every smart contract and in some cases, smart contract developers verify the source code in public repositories, like Etherscan. For researching this code database, it is beneficial to have a tool that can load verified smart contracts from the Ethereum main net to query smart contracts that satisfy several complex conditions, like, for example: the license type of the code, the compiler version, optimizations, or any other complex condition. In this thesis blockchain technology fundamentals are given, the main aspects of Ethereum are described, data exploration in Ethereum along with most relevant public repositories that store source code of smart contracts deployed in Ethereum is studied and an application prototype for downloading, querying, and compiling smart contracts that meet certain selection requirements is developed.spaAttribution-NonCommercial-NoDerivatives 4.0 Internationalhttp://creativecommons.org/licenses/by-nc-nd/4.0/Búsqueda automática de contratos Ethereum en tiempo realReal-time search of Ethereum contractsbachelor thesishttps://github.com/Manudpb/tfg-manuelopen access004(043.3)Cadena de bloquesEthereumEtherscanAplicación webAplicación de consolaContratos inteligentesBlockchainWeb applicationConsole applicationSmart contractsInformática (Informática)33 Ciencias Tecnológicas