Next Article in Journal
Theoretical Frameworks for Mathematics Teacher’s Professional Development with Technology: A Narrative Review
Previous Article in Journal
Reimagining Teacher Education for Authentic Parent Engagement
Previous Article in Special Issue
Active Learning Methodologies for Increasing the Interest and Engagement in Computer Science Subjects in Vocational Education and Training
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Hands-On Blockchain Teaching and Learning: Integrating IPFS and Oracles Through Open-Source Practical Use Cases

by
Gabriel Fernández-Blanco
1,2,3,
Pedro García-Cereijo
1,2,3,
Tiago M. Fernández-Caramés
1,2,3 and
Paula Fraga-Lamas
1,2,3,*
1
Department of Computer Engineering, Faculty of Computer Science, Universidade da Coruña, 15071 A Coruña, Spain
2
Centro de Investigación CITIC, Universidade da Coruña, 15071 A Coruña, Spain
3
Centro Mixto de Investigación UDC-Navantia, Universidade da Coruña, Edificio de Batallones, s/n, 15403 Ferrol, Spain
*
Author to whom correspondence should be addressed.
Educ. Sci. 2025, 15(9), 1229; https://doi.org/10.3390/educsci15091229
Submission received: 31 July 2025 / Revised: 6 September 2025 / Accepted: 12 September 2025 / Published: 16 September 2025
(This article belongs to the Special Issue Perspectives on Computer Science Education)

Abstract

The growing frequency of cybersecurity incidents, coupled with the increasing significance of blockchain technology in today’s digital landscape, highlights the urgent need for enriched, hands-on educational programs within Computer Science and Engineering curricula. While core blockchain curricula typically cover consensus protocols, smart contracts, and cryptographic foundations, more advanced topics like InterPlanetary File System (IPFS) and oracles pose teaching challenges due to their complexity and reliance on broader system knowledge. Despite this, their critical role in decentralized applications (dApps) justifies their inclusion at least through practical use cases. The integration of the IPFS protocol with Distributed Ledger Technologies (DLTs) can enable pure decentralized storage subsystems for dApps, avoiding single points of failure and ensuring data integrity and security. At the same time, as an external source of information, oracles are required to ensure data correctness while managing IPFS data. Despite the potential use of such components in real use cases, the current literature lacks detailed oracle implementations designed to interact with the IPFS protocol. To tackle such an issue, this article presents two open-source use cases that integrate smart contracts, an oracle and an IPFS-based storage subsystem that will allow future professors, students, researchers and developers to learn and experiment with advanced dApps and DLTs.

1. Introduction

Since the first deployment of Bitcoin (Bitcoin.org, 2025) in 2009, Distributed Ledger Technologies (DLTs), specifically blockchain, have been seen as a solution in fields where traditional technologies have not been able to provide the required security, trust, and integrity of data. The rise of Ethereum (Ethereum.org, 2025a) provided a flexible native language to create programs that can be executed on a blockchain. Such programs or smart contracts (Solidity.org, 2025) harness the desired decentralization features in terms of security and data integrity, and they allow for creating valuable DLT-based applications (dApps) for the general public. In fact, as blockchains gained traction across several domains, many experts from other areas (e.g., law, economics) began experimenting with them to solve many potential use cases in their fields (Al-Jaroodi & Mohamed, 2019).
However, DLTs also came with a limitation: they are not meant to store big chunks of data, as this would increase the cost of use of the network that shares such a ledger. However, many real applications require the use of traditional databases to store raw data such as files or documents. The InterPlanetary File System (IPFS) (IPFS.tech, 2025) and IPFS-based databases like OrbitDB (OrbitdB.org, 2025) provide robust methods to store such data, but they are still evolving (e.g., there is deprecated documentation and breaking changes after successive updates). In addition, their steep learning curve can pose a significant barrier for developers who are not used to Peer-to-Peer (P2P) protocols.
Blockchains are isolated networks that do not have access to off-chain data, and IPFS does not offer an inherent mechanism for verifying such data. To ensure consistency and trust in the off-chain data, blockchains need an oracle system (Ethereum.org, 2025b). Such a system intermediates between the on-chain world and the off-chain world, feeding the blockchain with data that have been previously agreed by a decentralized network of off-chain nodes. However, the use of oracles is usually avoided or supported by third-party providers, which introduce restrictions and dependencies that are not always appropriate for testing phases or early development stages.
Blockchain-related jobs are projected to grow by more than 25% between 2025 and 2030 (World Economic Forum, 2025). However, there is a growing imbalance between the rapid increase in job opportunities and the availability of a qualified workforce. Although educational institutions and industry are expected to collaborate to maintain this balance, in practice, this alignment is not occurring at the necessary scale and pace (Patan et al., 2023). In addition, while topics such as consensus protocols, smart contracts, cryptographic primitives or layer 2 solutions form the core of most blockchain curricula, more advanced components like IPFS and oracles present notable challenges for teaching and learning. IPFS, a decentralized storage protocol, operates outside the blockchain itself and introduces concepts of distributed file systems, content-addressable storage and P2P networking that require a foundational understanding of system architectures and data persistence models. Similarly, oracles are mechanisms that enable blockchains to interact with off-chain data, relying on complex trust models, cryptographic proofs and external APIs, often involving probabilistic security guarantees and game-theoretic reasoning. These topics, though critical for building real-world dApps, demand specialized knowledge that may fall beyond the scope of a blockchain course. As such, they are often better suited to advanced electives or specialized modules focused on decentralized infrastructure. Nevertheless, given their significance, these topics can be incorporated into a subject through practical use cases, highlighting their essential role in the development of dApps.
To tackle the previously described limitations, this paper presents two open-source use cases that seamlessly integrate an oracle-enforced decentralized storage subsystem with smart contracts. Such subsystems, often overlooked in traditional coursework and not typically included as a central component in most blockchain-related academic curricula, are essential for modern DLT-based applications to fully harness the advantages of decentralization. Specifically, the following are the main contributions of this article:
  • It provides essential components that facilitate hands-on teaching and experiential learning through illustrative examples. Such components are designed to significantly reduce the cognitive load and time required to internalize foundational concepts. In addition, they provide a framework that enables learners to more effectively generalize and apply their understanding to increasingly complex use cases. Thus, the following implementations are presented:
    An open-source implementation of a private test-focused IPFS network is provided in order to reduce the learning curve of P2P protocols.
    An open-source implementation of an oracle design is presented and adapted to meet the requisites of two different use cases: a voting system and an item tracking dApp.
    As a demonstration of best practices in cybersecurity during dApp development, basic testing at smart contract, oracle, decentralized database and front-end levels is presented.
  • An up-to-date teaching/training methodology on DLTs and decentralized technologies is provided as a reference for professors and educators.
The rest of this article is structured as follows. Section 2 addresses the integration of blockchain/DLTs into academic curricula, exploring the inherent limitations and challenges associated with teaching and learning these technologies. It also emphasizes the critical role of incorporating practical, real-world use cases to enhance student engagement and comprehension. Section 3 summarizes the proposed teaching methodology, outlining the pedagogical approach adopted to effectively introduce blockchain concepts. Section 4 presents the essential components required for hands-on teaching and learning: the Oracle and the IPFS storage subsystem. To exemplify the use of such components, Section 5 presents two practical hands-on examples: a voting system and a pallet tracking system. Section 6 outlines the most relevant potential directions for future development. Finally, Section 7 is devoted to conclusions.

2. Related Work

2.1. Introducing Blockchain and DLTs in the Curriculum

Teaching emerging technologies remains a relatively new endeavor in many universities and higher education institutions (Fernández-Caramés & Fraga-Lamas, 2019b). As academic programs begin to adapt to the evolving demands of the digital economy, educators are increasingly exploring effective ways to integrate these complex and rapidly developing subjects into existing curricula. When considering how to incorporate blockchain and DLTs into academic curricula, several viable approaches emerge.
First, the integration of blockchain/DLT topics into existing courses, particularly at the master’s level, offers clear advantages. This approach enhances both the relevance and engagement of coursework, while remaining practical and low-barrier. Instructors might introduce blockchain/DLTs either theoretically or through hands-on projects. Courses well-suited for this integration include database systems, cloud computing, computer networking, advanced business information systems, cybersecurity, cryptography or Internet of Things (IoT) technologies. For instance, in (Rao & Dave, 2019), the authors describe modifications made to a traditional graduate-level embedded systems course, incorporating cryptographic hashing and its application to blockchain through a hands-on lab. This approach has also been adopted by some of the authors of this article in the Master’s Degree in Internet of Things (UDC, 2025a) jointly offered by the University of A Coruña, the University of Vigo and the University of Santiago de Compostela. In this program, blockchain/DLT content is embedded within the subject “Enabling New Architectures and Paradigms in IoT”, providing students with valuable insights into the application of blockchain/DLT for IoT.
Second, a more focused approach involves the creation of a dedicated course on blockchain and DLTs. This has been implemented, for example, in the Master in Cybersecurity delivered by the University of A Coruña and the University of Vigo (UDC, 2025b). This is the subject examined in this article: “Distributed Ledger Technologies and Blockchain”, a first-year mandatory course that grants a total of five European Credit Transfer and Accumulation System (ECTS) credits.
Third, some institutions have gone further by developing entire master’s programs or postgraduate studies centered specifically on blockchain and DLT technologies. While such programs are still very limited in number across Spain, notable examples include those offered at the Universitat Politècnica de València (UPV, 2025), Universitat Politècnica de Catalunya (UPC, 2025), or the University of Alcalá (UAH, 2025). However, it is worth noting that, to the knowledge of the authors, no such specialized master’s program currently exists in the region of Galicia.
Finally, blockchain/DLT topics can also be addressed through extracurricular activities such as symposia, invited lectures, workshops or student-led clubs. These informal learning opportunities can complement formal instruction and foster greater interest among students.

2.2. Teaching and Learning Blockchain

Most universities that incorporate blockchain/DLTs into their curriculum tend to focus on business, finance or economics-related programs. For example, Kursh and Gold (2016) review various approaches used by universities to teach FinTech. Several articles have explored methods for making blockchain/DLTs accessible to non-technical students. For instance, Kaden et al. (2021) describe a course designed for accountants that introduces blockchain concepts using R programming. Similarly, Dettling (2018) outlines strategies for teaching blockchain in a business school, while a follow-up article by the same authors (Dettling & Schneider, 2020) introduces a simulation game in which students role-play as nodes in a blockchain network, creating transactions, forming blocks, and experiencing consensus algorithms firsthand. Negash and Thomas (2019) present a scenario-based design aimed at business-oriented learning. Their course includes seven real-world industrial scenarios to demonstrate the practical opportunities enabled by a blockchain like the one used by LF Hyperledger (2025).
Other authors explored how incentive mechanisms and gamification can improve a student’s motivation, engagement, and comprehension of concepts (Elmessiry et al., 2021). For example, Schneider et al. (2023) present a case study on teaching Decentralized autonomous organizations (DAOs) in a business school where students were not required to have programming skills. A central element of this case study was to make students part of an actual DAO, where they could vote on grading conditions and lecture topics. Overall, making students part of the technology resulted in positive feedback and a comprehensive grasp of DAOs. However, the authors suggest that the integration of the DAO with greater decentralized models could improve their overall engagement (e.g., completion badges, credits, points (Chivu et al., 2022) or accreditation standards (Fernández-Blanco et al., 2025)). The authors also remark that the most time-consuming task for students was the process of obtaining test currency for the Ethereum testnet, highlighting the need for frameworks that make testing easier for students. Finally, Froehlich et al. (2023) present the positive outcomes of a 2 ECTS design sprint course, which brings together students from diverse disciplines to collaboratively address technical feasibility (engineering), value creation (entrepreneurship) and user experience (human–computer interaction). In just five days, structured as a hackathon, students successfully developed and launched a functional prototype: a smart contract-based trading card game that enables users to collect and trade researchers as NFTs.
On a more technical side, Toleva-Stoimenova et al. (2019) share their proposed approach, but it is still in a very early stage for integrating blockchain into a master’s program in data science. Moreover, Purdon and Erturk (2017) recommend utilizing cloud platforms for teaching blockchain development, as this reduces the need for local infrastructure by guiding students through the deployment and management of blockchain dApps using cloud services like Google Compute Engine, Amazon AWS or Microsoft Azure.
A few additional methods for teaching blockchain are found in the recent literature. For undergraduate students, Weng et al. (2019) explore the use of role-playing games, 3D animations, and comic-style teaching materials to enhance engagement and comprehension. Platform-based approaches have also gained traction. For instance, Liu (2018) introduces ChainTutor, a user-friendly interface that allows students to experiment with core blockchain concepts. The platform enables modification of blockchain parameters such as block size, consensus mechanisms and network latency, allowing learners to visualize the impact of these variables on performance. Tsang et al. (2024) propose the educational game BlockTrainHK in undergraduate courses in two universities in Hong Kong. The proposed strategy demonstrates positive effects on students’ cognitive well-being, including improved knowledge retention, increased curiosity and greater enjoyment. While highly effective for foundational learning, such tools may be overly simplistic for students at master’s level, who typically require more in-depth exploration of technical, cybersecurity and real-world deployment issues to meet the expected level of academic rigor.
Finally, it is worth mentioning an undergraduate Computer Science and Engineering program effectively proposed by (Hapuarachchi et al., 2024), which provides students with real-world skills. This initiative underscores the vital importance of hands-on learning in mastering the foundational concepts and practical applications of blockchain.

2.3. Practical Real-World Use Cases

While blockchain and DLTs have been studied by academia for several years, they often remain as abstract concepts in teaching, typically introduced through high-level properties such as distributed ledgers or block-based transaction storage. In order to fully understand their complexity, an understanding of foundational cryptographic tools like hashing and digital signatures (e.g., Elliptic Curve Digital Signature Algorithm (ECDSA)) is required. The concepts become even more complex when ‘mining’ is introduced to explain how a block of transactions is created, how a cryptographic puzzle is solved and how it becomes linked to the chain. This complexity deepens further with the introduction of different consensus algorithms. These protocols rely on the coordinated behavior of numerous independent participants, each following specific rules.
Blockchain education can be structured around three core dimensions. The first is the foundational layer, which focuses on understanding the core components (e.g., P2P networks, hash functions, digital signatures, consensus mechanisms). The second dimension explores the significance of blockchain/DLTs, covering topics such as cryptocurrencies, smart contracts and regulatory or legal considerations. The third dimension involves practical applications, where most current innovations are taking place.
There are some applied research efforts that illustrate how complex topics can be taught through practice-driven methodologies. In this regard, Mentzer et al. (2020) provide an early case study where project-based learning is applied to blockchain education, demonstrating how student-led projects are an effective way to expand and develop their knowledge of emerging technologies. Another example is provided by Rahman et al. (2023), who show the integration of blockchain with IPFS to securely manage and verify academic credentials, providing an effective case for teaching decentralized storage and hybrid on-chain/off-chain architectures. In addition, de Brito Goncalves et al. (2022) described an integrity verification framework for 5G network slicing using smart contracts and oracles, which highlights how blockchain can reliably interact with external data sources in critical infrastructures. Finally, Sangeeta and Nam (2023) propose an IPFS-based system for vehicular networks that supports keyword search and ensures resilience against system failures, offering a real-world use case that is particularly relevant. The aforementioned references justify the adoption of real-world case studies as an educational strategy to strengthen understanding of blockchain and DLT ecosystems.
Given the authors’ prior experience successfully teaching IoT and IIoT cybersecurity through practical real-world use cases (Fernández-Caramés & Fraga-Lamas, 2020a, 2020b; Fernández-Caramés et al., 2017), the authors decided to apply the same approach to the blockchain and DLT-focused subject described in the next section.

3. Teaching Methodology

3.1. Syllabus

The structure of the course content is indicated in Table 1.

3.2. Implementation of the Course

Although the previously mentioned theoretical content is highly specific, students with minimal knowledge of computers and computer networks usually do not have difficulty grasping it. However, the proposed methodology provides better results with students that come from IT fields, like computer science and electrical engineering, who often have previously learned the essential concepts on computer network architectures and computer security.
The theoretical content is taught in 90 min lectures, so students receive theoretical content and additional material before each class, which is later discussed during the face-to-face time.
In addition to the theoretical content, practical tasks (90 min labs) are also conducted to apply the theoretical concepts of the class. Collaborative work, performed in groups, includes the tasks described in Table 2.
In addition, there are two labs carried out as described in Table 3:
  • In the first lab, students learn to program Ethereum smart contracts using Solidity.
  • In the second lab, students implement a use case using IPFS and oracles that will be further developed in their final project.
Finally, students develop a project in which they create their own use case, utilizing all the enabling technologies and aspects covered in the course. The evaluation criteria for such projects are indicated in Table 4.
As can be observed in the previous syllabus, the content is imparted during an intensive 13-week course, which corresponds to a 5 ECTS credit workload that belongs to the Master’s Program on Cybersecurity delivered jointly by the universities of A Coruña and Vigo (UDC, 2025b). The course is attended by university students with diverse backgrounds, but mostly by computer scientists and electrical engineers.
Each week of the course, three hours are dedicated to lectures and practical labs. Moreover, the students have to complete a final project, the main topic of which is selected by them (for instance, students of the 2025 class developed a game, a betting platform, a voting system, a dApp for managing waiting lists in hospitals, a digital asset auction, a trustworthy tachometer, or a crowdfunding platform). Thus, during the course, the students deliver lab reports and a final project memory together with all the involved software. Overall, the course was designed for 40 h of in-person activities and 108 h of autonomous work.
The following are the main learning outcomes expected from the course:
  • To learn the essential concepts of blockchain/DLTs.
  • To be able to develop smart contracts.
  • To be able to develop and deploy DApps with IPFS and oracles.
  • To be able to understand the cybersecurity implications involved in the deployment of blockchain/DLT use cases.
The learning outcomes related to learning concepts are evaluated through a theoretical final exam (40% of the grade), while the rest of the outcomes are assessed through the collaborative tasks (10%), lab reports (20%), and the final project (30%). The final grade is given within the range 0 to 10, which is the most commonly used in the Spanish university system.

3.3. Practical Teaching Results

Over the past two years, since the introduction of the subject (Distributed Ledger Technologies and Blockchain) in the Galician university system, the methodology described earlier has been taught at the University of A Coruña as part of the Cybersecurity Master’s program. Each student was required to complete the tasks outlined in Section 3.2.
For reference, the following paragraphs summarize the results of the 2024 and 2025 classes. In 2024, the class included 35 students (34 male and 1 female), while the 2025 class consisted of 27 students (26 male and 1 female). Most participants were recent graduates from computer science and electrical engineering programs, possessing strong coding skills and basic knowledge of cybersecurity, but they had no prior experience in blockchain/DLTs.
Table 5 shows the average, median, and variance of the grades of all the students who took part in the two editions of the course. As can be observed, the grades are generally high, but lower for the final exam. These results reflect an aspect that was also observed directly by the course instructors: students are more motivated by the practical part of the course than by the theoretical concepts behind it.
To evaluate the effectiveness of the proposed educational materials, a comprehensive assessment strategy is employed. This includes analyzing objective performance metrics such as exam scores, lab success rates, class participation, and lab attendance. In parallel, skill development is assessed through pre- and post-course evaluations, enabling the instructors to measure individual growth in knowledge and practical abilities.
Collaboration and teamwork, essential competencies in the field of cybersecurity, are evaluated through the group project. This activity provides insight not only into the students’ understanding of the course content but also into their ability to function effectively in a professional team-based environment.
In addition, it is important to note that no major issues were encountered in using Ethereum throughout the course. However, two specific challenges emerged regarding Lab 2: one concerning the use of IPFS and the other relating to the use of oracles. A deep understanding of these components required more time than initially expected and proved more challenging for students than anticipated. Even with the inclusion of an example based on a previous article of the authors (Fernández-Caramés & Fraga-Lamas, 2019a; Fernández-Caramés et al., 2019), a clear, detailed environment configuration, specific pseudocode, and step-by-step guidance, many still struggled to fully understand the main concepts and to configure the setup.
Student feedback and course surveys also play a crucial role in evaluating the perceived relevance and engagement of the course content. At the end of each course, the University of A Coruña (UDC) conducts a university-wide survey to evaluate teaching activities. Both students and instructors participate by completing quick and anonymous online questionnaires. There are two main types: course-specific surveys, where students assess the teaching they received and instructors can self-evaluate their courses; and general surveys, where students reflect on their learning competencies and instructors evaluate students’ overall competencies as well as their own. The system aims to improve teaching quality, to design tailored support and training programs and to promote more reflective and engaged teaching. Surveys focus on teaching methods, assessment systems, and academic support, and also gather data on areas such as the use of technology and teaching formats. The items presented in Table 6 and Table 7 provide quantitative insights into student perceptions of the blockchain course. The rating scale ranges from 0 (poor) to 7 (excellent). For transparency, average scores for faculty, program, university, course, and department are also provided for comparison. The results reflect a very positive overall assessment, indicating high levels of satisfaction across key dimensions:
  • The clarity of the course guide received a strong rating, suggesting that students found the explanation of the course structure, content, methodology and evaluation criteria to be effective and transparent.
  • In terms of workload relative to course credits, the scores indicate general satisfaction, although some students may perceive the workload as slightly demanding for the number of credits assigned. Therefore, the proposed step-by-step hands-on use cases are intended to address this demand.
  • Class sessions were considered well-organized and conducive to learning.
  • Student responses confirmed that the instructor played an active role in supporting their learning, particularly through effective use of instructional resources.
  • The achievement of learning objectives received high ratings, indicating that students felt they successfully met the intended outcomes of the course.
  • While assignments and exams were seen as helpful for learning, this area shows potential for further enhancement, particularly in terms of feedback and formative assessment strategies.

4. Essential Components for Hands-On Teaching and Learning

4.1. IPFS

Most real dApps need to handle large chunks of data (e.g., relevant documents, IoT metadata, device specifications, operators’ information) through traditional databases. However, such databases do not guarantee data availability, while blockchains are not conceived to store large amounts of data. Therefore, IPFS serves as a decentralized storage that allows for guaranteeing data availability without file size constraints. In the proposed use case methodology, a specific private environment was developed to easily replicate IPFS instances in a single container without the need for interacting with public IPFS node endpoints. Such IPFS environments allow students to experiment with P2P protocols while having a functional scenario to test different use cases.
The IPFS environment is available in the provided code repository (Hands-on Examples Repository, 2025). Figure 1 shows the structure of the IPFS docker container. More precisely, a dockerfile calls a script that creates the specified number of IPFS instances. Such instances are automatically connected to each other from the beginning, so any uploaded data will be synchronized.

4.2. Oracle System

Blockchains behave as isolated networks, which means that they are not capable of fetching data from external sources. However, many smart contracts are designed to respond to real-world events. Oracles were conceived to solve this gap, acting as a middleware between the blockchain and real-world data. For instance, an agriculture insurance application could make use of an oracle to obtain information from soil moisture sensors, rain gauges or temperature sensors to detect extreme weather events (e.g., drought, flooding). Thus, a smart contract would automatically pay out crop insurance if rainfall drops below a threshold or temperatures spike abnormally.
Since IPFS is an external source of information, an oracle system can be added to provide trust to the IPFS data and thus avoid potential manipulation. In practice, an on-chain oracle is a smart contract, while an off-chain oracle is a piece of code that is executed off the blockchain and makes requests to off-chain sources of information. Interested readers can find more information on other types of oracles in (Basile et al., 2021; Mühlberger et al., 2020).
The real-world examples proposed later in Section 5.1 and Section 5.2 follow two different approaches due to their respective DLT requirements, but in both cases, the oracle follows the same workflow, which is presented in Figure 2. In such a diagram, the flow starts at the bottom (in the front-end component). The dotted boxes represent an arbitrary number of off-chain nodes whose result will be agreed in the on-chain layer. Moreover, in the case illustrated in Figure 2, the API is actually the IPFS private network. The overall workflow is as follows:
  • An external call to the on-chain oracle smart contract is first performed, thus triggering a request to the off-chain oracle nodes.
  • The off-chain oracle nodes are subscribed to the contract events using the on-chain oracle smart contract identification (i.e., its address and Application Binary Interface (ABI)), listening to requests.
  • The off-chain oracle nodes will fetch the event from the on-chain oracle contract, extracting the data and executing specific operations.
  • The oracle nodes will call back the oracle contract with the result. As a decentralized subsystem, a consensus in the retrieved data must be reached to detect potential manipulations. Each oracle node will vote depending on the validity of the requested change. If such a request is valid, an off-chain node increments a counter in the on-chain oracle. Once the counter exceeds the predefined threshold, the result will be accepted as valid.
  • The front-end will be able to fetch the updated data once the oracle contract reaches the required votes.

5. Hands-On Examples

5.1. Electronic Voting System

5.1.1. Description of the Use Case

In recent years, blockchain-based voting has been widely studied as an option to improve the transparency, security and efficiency of electoral processes. This technology allows votes to be recorded immutably and without the need for intermediaries, which strengthens the integrity and public trust in the results. For instance, voting technology and ballot design can significantly impact election outcomes, shape perceptions of the ability of voters to exercise their democratic rights, and influence the extent to which election results are viewed as legitimate (Bederson et al., 2003).
Several real-world implementations have demonstrated the potential of blockchain. For instance, in 2018 in Sierra Leone, the Agora Foundation used blockchain to digitally record the results of the general elections (Business Insider, 2025). Although it was not the official count, this system allowed for greater oversight and reduced the risk of fraud. That same year, the Gyeonggi-do province in South Korea applied blockchain to voting for community projects, using smart contracts developed by Blocko (CoinDesk, 2025). The system made it possible to securely record voter information and voting content without the need for centralized intervention.
The design of blockchain-based voting systems must carefully consider both security and privacy. While blockchain decentralization and transparency enhance the trustworthiness and credibility of electoral processes, they also raise critical concerns regarding vote tampering, manipulation, and privacy violations. Addressing these concerns requires the integration of robust security and privacy techniques. Equally important is the implementation of reliable authentication and identity verification mechanisms, which are essential to ensure voter eligibility, prevent electoral fraud and maintain the confidentiality of votes (Hajian Berenjestanaki et al., 2024). In addition, blockchain voting systems can include incentives such as cryptocurrencies or tokens to encourage voter participation.
In the context of the blockchain and DLT course described in this article, a simplified example is presented to illustrate how off-chain data can be managed securely through the integration with subsystems such as an oracle and IPFS. This example requires the off-chain data to be private, so information is only disclosed to authorized accounts. Therefore, an encryption mechanism is added to the oracle design in order to handle encrypted representations of raw files. Asymmetric encryption is enabled with passwords, meaning that anybody possessing the password to a given file will be able to decrypt it. For the sake of simplicity, the encryption of documents in the described example is performed with a non-secure mechanism. Interested readers are encouraged to check the authors’ previous work on the creation of a secure Pseudo-Random Number Generator (PRNG) (García-Cereijo et al., 2024) to secure the password generation process.
The proposed implementation is intended for educational purposes. Therefore, its main contribution lies in demonstrating how voting logic can be effectively integrated with subsystems such as oracles and IPFS. This integration enables secure interaction between smart contracts and encrypted off-chain data, providing a flexible and reproducible framework for testing blockchain-based voting mechanisms.

5.1.2. Design

Electoral processes vary considerably around the world, and each approach presents unique characteristics and challenges. The proposed system seeks to simplify the electoral process by focusing primarily on security, adopting a basic model in which voters select between different candidates, without considering more complex elements such as segmentation by region or province. However, the code design is flexible enough to allow for future modifications, which would facilitate the incorporation of additional functionalities according to the needs of the context. The voting system must guarantee security, authenticate voters and prevent duplicate votes. Votes must be recorded in an unalterable and verifiable manner, ensuring transparency and privacy. Moreover, it must be efficient and capable of handling a high volume of voters and simultaneous elections.
The proposed voting system allows administrators to create elections with two possible options and allows each voter to vote only once. To handle the information of different elections, a key-value database is used. Thus, elections are represented by smart contracts, but a database will persist the relation between election smart contract addresses and their votes through key-value pairs. This list of addresses can be accessed through a front-end (e.g., a web application) or through a REST API, where the key is the contract address and the value corresponds to the name of the voter. The voting smart contract includes the following functionality:
  • A constructor restricted to the contract owner that defines the title of the vote process and two options available to voters.
  • A function that checks whether a user has already cast his/her vote previously. This ensures that each user can vote only once, preserving the integrity of the voting process.
  • A function that allows users to select and record their vote between two options previously defined in the contract. It also emits an event that publicly records the vote.
  • A function accessible to all users that provides the total vote count. This ensures the transparency of the process and allows the results of the vote to be verified at any time.
  • A function restricted to the contract owner, which facilitates ending the voting process. Once closed, no more votes can be cast. An event is also emitted to signal the official closure of the voting process.

5.1.3. Proposed Architecture

The architecture of the proposed voting system is represented in Figure 3. As can be observed, users access the system through an interface developed with Node.js. Through this interface, users can perform various actions using a digital wallet like MetaMask, which allows them to connect to their Ethereum account and communicate with the smart contracts deployed on the blockchain.
Each voting process is linked to a specific smart contract, which is previously created and configured by the system administrator. Once active, voters are able to interact with the voting smart contract through the web interface, authenticating and signing their transactions with MetaMask to cast their vote securely and transparently.
To efficiently manage information related to smart contracts, OrbitDB is used as a decentralized storage system. This allows the addresses of each deployed smart contract to be stored in a distributed manner, eliminating single points of failure. When a user casts his/her vote, the system contacts a decentralized oracle, which will upload a file containing the voting data to the IPFS network.
In this example, for the sake of simplicity, the votes are encrypted and stored in IPFS directly, whereas the election database data are public and not supervised by the oracle. Moreover, a list with the API addresses of each available node is published on IPFS. This allows a random selection of an API to make requests. If the selected node is not available at a specific time instant, the system will repeat the process by randomly selecting another node. Then, voters are able to vote in each election only once. These votes are encrypted by the DApp in a unique cipher string and then sent to IPFS through the oracle. Thus, the oracle is used to upload the voting data to the IPFS network, so that each vote cast can be verified by the voter.

5.1.4. Implementation and Testing

To maintain security, specific smart contract functions should be restricted so that they can only be executed by the smart contract owner. This prevents unauthorized modifications that could alter the system behavior, whether intentional or accidental. Administrators are able to start and close elections (Figure 4a,b, respectively). Electors will choose the available election in which to vote and then will select one of the two possible options (as shown in Figure 5a). After voting, the system confirms its secure storage in IPFS and indicates a password so that the user can verify the vote (an example is shown in Figure 5b). The repository available in (Hands-on Examples Repository, 2025) has the corresponding documentation to reproduce the aforementioned scenario.
As a demonstration of best practices in cybersecurity during dApp development and in order to ensure the reliability and integrity of the proposed voting system, targeted evaluations were performed at the smart contract, oracle, decentralized database and front-end levels. The repository also includes these tests as reference examples. All smart contract functions were individually validated using the Remix IDE.The results of the tests carried out can be seen in Figure 6. Specifically, different functions were color-coded for clarity: the correct operation of the constructor was highlighted in red, the issuance of valid votes in blue, the rejection of duplicate votes in green, the rejection of unauthorized votes in orange, the closing of the voting process by the administrator in white and the inability to vote after the process was closed is colored in purple. Moreover, the events defined in the contract were verified to be correctly emitted, and the interaction with the interface was fluid.
The oracle node was also evaluated for its ability to connect to the Ethereum network, to detect contract events and to operate with IPFS. Its resilience to multiple concurrent requests and its reliability in executing functions in response to events emitted by the contract were verified. Regarding decentralized storage with OrbitDB, data replication between nodes, fault tolerance (by simulating inactive nodes) and the ability to perform concurrent operations were validated. Authentication mechanisms were also implemented to restrict access to authorized nodes. Finally, system tests were conducted via the browser, evaluating the user experience, interface navigation, and integration with MetaMask.

5.2. Pallet Tracking System

5.2.1. Description of the Use Case

This use case builds upon an ongoing traceability research initiative jointly developed by the University of A Coruña and Navantia, as part of a broader effort to transform Navantia’s Ferrol shipyard into a Shipyard 5.0 facility (Centro Mixto de Investigación UDC–Navantia (CEMI), 2025).
Specifically, the aim of this application is to track the moving pallets across the factory to enable real-time monitoring of their activity. This is enabled by IoT sensors that are attached to pallets, which move crucial parts whose history needs to be tracked and audited. To achieve this, there are different IoT endpoints or beacons scattered across the shipyard that record specific information about a pallet whenever it passes by. The data is sent to a traditional database, which is the current data source of the front-end. A capture of the current application front-end can be seen in Figure 7. Despite the multiple backup mechanisms, traditional applications do not guarantee data availability. In fact, this application may become unavailable in the event of an attack or a sudden disconnection with the database. By sending data in parallel to both the traditional persistence system and to a blockchain, the status of pallets and their past routes would be kept available even under critical scenarios.
As an important disclaimer, the development presented is a simplified version of the full use case, specifically designed to train students and researchers who develop IIoT projects.

5.2.2. Design

It must be remarked that the integration of blockchain smart contracts in a real-world application requires a complex design phase, considering elements such as gas costs (e.g., in terms of power/energy consumption and computation efficiency), data privacy, proper blockchain control access (e.g., a permissioned or private blockchain), and performance or encryption mechanisms. In addition, open challenges such as the scalability of the network or the consensus algorithm would also need to be addressed. The scope of the proposed example is mainly aimed at demonstrating the benefits of adding smart contracts to a centralized system in terms of data integrity and availability.
The use of blockchain within industrial applications remains as one of its most significant and promising use cases, gaining considerable attention in both academic and industry literature (Agrawal et al., 2022; Alnahdi & Toka, 2024; Enaya et al., 2025; Kontos et al., 2024; Lohmer et al., 2022; Roumeliotis et al., 2024; Spigarelli et al., 2025; Stefanescu et al., 2022). For example, the use of Non-Fungible Tokens (NFTs) allows representation of tangible or intangible elements into unique digital assets whose activity is subject to constant audits and supervision, harnessing the concept of digital twins (DTs) (Hasan et al., 2024, 2023). However, securely tracking the DTs activity and data within decentralized scenarios remains a challenge due to the size limitations of blockchains, which are directly related to energy consumption and gas costs. The proposed example solves these gaps by providing a simple architecture for the secure and efficient management of the metadata and the activity of pallets. Also, using the ERC-721 NFTs as digital twins for the pallets increases the overall security of the application and could be very useful for several use cases due to the flexibility and interoperability they provide (e.g., tradability allows rewarding the quality of service of third-party providers). In this case, the detections of the pallets are tracked by IoT devices scattered across the shipyard, emitting blockchain events (e.g., data such as location, status, timestamp and responsible) and enabling a tamper-proof registry of the pallet activity. Using events for such a matter keeps the contract lightweight and gas costs low. On the other hand, the handling of raw data is managed by an oracle, which is used to check and update the metadata of a specific NFT. Figure 8 shows the interactions between the different subsystems. Note how the event emitted by the on-chain oracle triggers the actions of the off-chain oracles, which asynchronously call the function of the oracle contract to add a vote in order to confirm the token URI of the NFT. These smart contracts could be applied to any environment where different IoT devices track important items or assets, and where the metadata of such items needs to be securely managed.

5.2.3. Proposed Architecture

In an efficient Ethereum architecture, even low-power IoT devices are capable of synchronizing the network. Thus, each IoT device is able to interact with the blockchain with a specific Ethereum address. Specifically, they trigger a smart contract call once a pallet is near, including information such as the location, the status of the pallet, and the status of the route. Such information generates a trace of past events to make queries to, avoiding expensive structures in the smart contract. This can be demonstrated by interacting directly with the smart contract. The front-end is just a form that allows for pulling metadata to an existing pallet NFT, demonstrating the connection with the oracle smart contract. As can be seen in Figure 8, the store operation in IPFS is performed in the front-end of the DApp. The proposed architecture of the pallet tracking system can be seen in Figure 9.

5.2.4. Implementation and Testing

The front-end converts the form input into a JSON file, storing it in the IPFS storage and generating a Content Identifier (CID). Then, this CID is sent along with the tokenId of the item to the oracle contract. The oracle contract emits an event with that information, so that off-chain nodes can retrieve it. This contrasts with the previous example, where all IPFS operations were performed through the oracle. With the CID, the off-chain oracles can retrieve the content of IPFS and perform compliance verifications. Once verified, each off-chain oracle will send a vote for that CID to the on-chain oracle contract. If the vote threshold is passed, the oracle contract updates the token URI of the NFT with such a CID. As mentioned earlier, the call to the on-chain oracle is made with the tokenId and the CID. However, this call could be performed with some information about the metadata content, allowing for content traceability. Doing so provides greater transparency beyond metadata history (e.g., what item was affected and who made the change), allowing one to check which specific pieces of information of metadata were changed. As this call to the oracle contract simply emits an event, the operation is very efficient. To test that the metadata has been correctly uploaded (Figure 10), it is necessary to check that the CID is retrievable by any of the nodes in the IPFS private network and that the token URI has been finally set (Figure 11).

6. Limitations of the Study and Future Work

It should be noted that the context of this work is inherently educational. For instance, the provided examples are designed for academic settings, with simplified scenarios, controlled datasets and open-source tools, which might not fully capture the complexity, scale or security considerations of production environments. Consequently, while the proposed methodology effectively accelerates learning and motivates students, its direct applicability to large-scale industrial implementations may be limited. Nonetheless, such a methodology provides a solid foundation for students, future developers and researchers to explore, adapt and extend the provided solutions to meet their specific needs and application contexts.
In addition, although the course and practical examples described in the previous sections provide a strong basis for teaching and learning the involved concepts, they can be further enhanced:
  • The provided tools could be made even more insightful for learners and experts from cybersecurity areas by adding data encryption schemas (e.g., the use of PRNGs as in (García-Cereijo et al., 2024)) or further securing the smart contracts to prevent potential attacks.
  • In the provided software, both IPFS and the oracles are deployed in a virtualized environment for educational purposes. However, the scripts can be modified to be executable in real hardware, allowing the use of physical devices as network nodes.
  • The provided IPFS tool offers a great way to experiment with the protocol. For instance, InterPlanetary Name System (IPNS) support could be added to dynamically alter IPFS content while maintaining the IPFS address of such content. This is especially useful for dynamic NFTs, which are being increasingly used for different domains due to their real-world applicability and flexibility (Elmay et al., 2024; Hasan et al., 2024).
  • There are many other fundamental concepts, such as Zero-Knowledge Proofs (ZKPs), General Data Protection Regulation (GDPR) compliance or Decentralized Identity/Verifiable Credentials (W3C Standards), that can be taught with similar illustrative examples. For instance, an academic record verification DApp would be an interesting example for learning ZKPs or Decentralized Identity/Verifiable Credential standards (Fernández-Blanco et al., 2025). With such a DApp, it would be possible to selectively disclose academic merits to third parties without revealing further information, and make such merits interoperable with other systems.
  • Similarly, it is possible to add tools for simulating blockchain networks and decentralized databases. The synchronization of such subsystems would enable a comprehensive toolset for developers and learners to experiment and test a wide variety of aspects related to DApps.

7. Conclusions

DLTs, particularly blockchain, have gained significant relevance in recent years due to their potential to transform various industries. Despite this growing importance, they remain underrepresented in most university-level IT programs. While introductory blockchain courses typically cover foundational topics such as consensus mechanisms, smart contracts, more advanced topics like IPFS and oracles are often overlooked. Nevertheless, their critical role in real-world dApps underscores the need to include them in educational and training programs. Drawing on prior teaching experience, this article proposes a proven teaching methodology based on the use of hands-on practical use cases as an effective way to teach complex components such as IPFS and oracles. To that end, two open-source easy-to-follow implementations are presented (a blockchain-based voting system and an IIoT-enabled pallet tracking system). These examples instruct students how to integrate IPFS-based storage and oracles with smart contracts to ensure data integrity and availability. Thus, the ultimate goal is to accelerate the learning and training process and motivate students, future developers and researchers to explore, adapt and expand these solutions to meet their specific needs and application contexts.

Author Contributions

Conceptualization, G.F.-B., P.G.-C., P.F.-L., and T.M.F.-C.; methodology, P.F.-L. and T.M.F.-C.; investigation, G.F.-B., P.G.-C., P.F.-L., and T.M.F.-C.; writing—original draft preparation, G.F.-B., P.G.-C., P.F.-L., and T.M.F.-C.; writing—review and editing, P.F.-L. and T.M.F.-C.; supervision, P.F.-L. and T.M.F.-C.; project administration, P.F.-L. and T.M.F.-C.; funding acquisition, T.M.F.-C. All authors have read and agreed to the published version of the manuscript.

Funding

This work has been supported by Centro Mixto de Investigación UDC-NAVANTIA (IN853C 2022/01), funded by GAIN (Xunta de Galicia) and ERDF Galicia 2021–2027.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Acknowledgments

We would like to thank the Navantia personnel who collaborated with us in the development of the pallet tracking system. A special mention should be addressed to the support provided by Esteban López Lodeiro and Juan M. Varela Antelo.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Agrawal, T. K., Angelis, J., Khilji, W. A., Kalaiarasan, R., & Wiktorsson, M. (2022). Demonstration of a blockchain-based framework using smart contracts for supply chain collaboration. International Journal of Production Research, 61(5), 1497–1516. [Google Scholar] [CrossRef]
  2. Al-Jaroodi, J., & Mohamed, N. (2019). Blockchain in industries: A Survey. IEEE Access, 7, 36500–36515. [Google Scholar] [CrossRef]
  3. Alnahdi, A., & Toka, L. (2024). A survey on integrating edge computing with AI and blockchain in maritime domain aerial systems, IoT, and industry 4.0. IEEE Access, 12, 28684–28709. [Google Scholar] [CrossRef]
  4. Basile, D., Goretti, V., Di Ciccio, C., & Kirrane, S. (2021). Enhancing blockchain-based processes with decentralized oracles. In J. González Enriquez, S. Debois, P. Fettke, P. Plebani, I. van de Weerd, & I. Weber (Eds.), Lecture notes in business information processing (pp. 102–118). Springer. [Google Scholar] [CrossRef]
  5. Bederson, B. B., Lee, B., Sherman, R. M., Herrnson, P. S., & Niemi, R. G. (2003, April 5–10). Electronic voting system usability issues. SIGCHI Conference on Human Factors in Computing Systems (CHI’03) (pp. 145–152), Ft. Lauderdale, FL, USA. [Google Scholar] [CrossRef]
  6. Bitcoin.org. (2025). Bitcoin official webpage. Available online: https://bitcoin.org/en/ (accessed on 31 July 2025).
  7. Business Insider. (2025). Sierra leone just became the first country in the world to use blockchain during an election. Available online: https://www.businessinsider.com/sierra-leone-blockchain-elections-2018-3/ (accessed on 31 July 2025).
  8. Centro Mixto de Investigación UDC–Navantia (CEMI). (2025). Centro mixto de investigación udc–navantia (cemi). Available online: https://cemi.udc.es/ (accessed on 31 July 2025).
  9. Chivu, R.-G., Popa, I.-C., Orzan, M.-C., Marinescu, C., Florescu, M. S., & Orzan, A.-O. (2022). The Role of Blockchain Technologies in the Sustainable Development of Students’ Learning Process. Sustainability, 14(3), 1406. [Google Scholar] [CrossRef]
  10. CoinDesk. (2025). Local government in South Korea taps blockchain for community vote. Available online: https://www.coindesk.com/markets/2017/03/07/local-government-in-south-korea-taps-blockchain-for-community-vote/ (accessed on 31 July 2025).
  11. de Brito Goncalves, J. P., Alochio, G., da Silva Villaca, R., & Gomes, R. L. (2022). Data integrity verification in network slicing using oracles and smart contracts. arXiv, arXiv:2207.14388. [Google Scholar] [CrossRef]
  12. Dettling, W. (2018). How to teach blockchain in a business school. In R. Dornberger (Ed.), Business information systems and technology 4.0: New trends in the age of digital change (pp. 213–225). Springer. [Google Scholar] [CrossRef]
  13. Dettling, W., & Schneider, B. (2020). Bloxxgame—A simulation game for teaching blockchain. In I. Marfisi-Schottman, F. Bellotti, L. Hamon, & R. Klemke (Eds.), Games and learning alliance. 9th international conference, gala 2020 (pp. 169–178). Springer. [Google Scholar] [CrossRef]
  14. Elmay, F., Kadadha, M., Mizouni, R., Singh, S., Otrok, H., & Mourad, A. (2024). Digital twins and dynamic NFTs for blockchain-based crowdsourced last-mile delivery. Information Processing & Management, 61(4), 103756. [Google Scholar] [CrossRef]
  15. Elmessiry, A., Elmessiry, M., & Bridgesmith, L. (2021, July 5–6). NFT student teacher incentive system (NFT-STIS). In Edulearn21 proceedings (pp. 4648–4656). IATED. [Google Scholar] [CrossRef]
  16. Enaya, A., Fernando, X., & Kashef, R. (2025). Survey of blockchain-based applications for IoT. Applied Sciences, 15(8), 4562. [Google Scholar] [CrossRef]
  17. Ethereum.org. (2025a). Ethereum official webpage. Available online: https://ethereum.org/en/ (accessed on 31 July 2025).
  18. Ethereum.org. (2025b). Oracles. Available online: https://ethereum.org/es/developers/docs/oracles/ (accessed on 31 July 2025).
  19. Fernández-Blanco, G., Froiz-Míguez, I., Fraga-Lamas, P., & Fernández-Caramés, T. M. (2025). Design, implementation and practical energy-efficiency evaluation of a blockchain based academic credential verification system for low-power nodes. Applied Sciences, 15(12), 6596. [Google Scholar] [CrossRef]
  20. Fernández-Caramés, T. M., & Fraga-Lamas, P. (2019a). Design of a fog computing, blockchain and IoT-based continuous glucose monitoring system for crowdsourcing mHealth. Proceedings, 4(1), 37. [Google Scholar] [CrossRef]
  21. Fernández-Caramés, T. M., & Fraga-Lamas, P. (2019b). Towards next generation teaching, learning, and context-aware applications for higher education: A review on blockchain, IoT, fog and edge computing enabled smart campuses and universities. Applied Sciences, 9(21), 4479. [Google Scholar] [CrossRef]
  22. Fernández-Caramés, T. M., & Fraga-Lamas, P. (2020a). Teaching and learning IoT cybersecurity and vulnerability assessment with Shodan through practical use cases. Sensors, 20(11), 3048. [Google Scholar] [CrossRef]
  23. Fernández-Caramés, T. M., & Fraga-Lamas, P. (2020b). Use case based blended teaching of IIoT cybersecurity in the Industry 4.0 era. Applied Sciences, 10(16), 5607. [Google Scholar] [CrossRef]
  24. Fernández-Caramés, T. M., Fraga-Lamas, P., Suárez-Albela, M., & Castedo, L. (2017). A methodology for evaluating security in commercial rfid systems. InTech. [Google Scholar] [CrossRef]
  25. Fernández-Caramés, T. M., Froiz-Míguez, I., Blanco-Novoa, O., & Fraga-Lamas, P. (2019). Enabling the internet of mobile crowdsourcing health things: A mobile fog computing, blockchain and IoT-based continuous glucose monitoring system for diabetes mellitus research and care. Sensors, 19, 3319. [Google Scholar] [CrossRef] [PubMed]
  26. Froehlich, M., Vega, J., Pahl, A., Lotz, S., Alt, F., Schmidt, A., & Welpe, I. (2023). Prototyping with blockchain: A case study for teaching blockchain application development at university. In M. Auer, W. Pachatz, & T. Rüütmann (Eds.), Learning in the age of digital and green transition-proceedings of the 25th international conference on interactive collaborative learning icl 2022 (pp. 1005–1017). Springer Science and Business Media Deutschland GmbH. [Google Scholar] [CrossRef]
  27. García-Cereijo, P., Fernández-Blanco, G., Fraga-Lamas, P., & Fernández-Caramés, T. M. (2024, November 26–29). EtherTuna: A pseudo-random number generator oracle for Ethereum networks based on Fortuna. 6th International Conference on Blockchain Computing and Applications (BCCA) (pp. 387–393), Dubai, United Arab Emirates. [Google Scholar] [CrossRef]
  28. Hajian Berenjestanaki, M., Barzegar, H. R., El Ioini, N., & Pahl, C. (2024). Blockchain-based e-voting systems: A technology review. Electronics, 13(1), 17. [Google Scholar] [CrossRef]
  29. Hands-on Examples Repository. (2025). Hands-on examples repository. Available online: https://gitlab.com/dlts-lab/hands-on-examples/ (accessed on 31 July 2025).
  30. Hapuarachchi, T., Mapkar, M., Rahouti, M., & Xiong, K. (2024). Advancing blockchain learning in STEM education through a comprehensive hands-on educational approach. In Ieee integrated stem education conference (isec) (pp. 1–6). IEEE. [Google Scholar] [CrossRef]
  31. Hasan, H. R., Madine, M., Musamih, A., Jayaraman, R., Salah, K., Yaqoob, I., & Omar, M. (2024). Non-fungible tokens (NFTs) for digital twins in the industrial metaverse: Overview, use cases, and open challenges. Computers and Industrial Engineering, 193, 110315. [Google Scholar] [CrossRef]
  32. Hasan, H. R., Madine, M., Yaqoob, I., Salah, K., Jayaraman, R., & Boscovic, D. (2023). Using NFTs for ownership management of digital twins and for proof of delivery of their physical assets. Future Generation Computer Systems, 146, 1–17. [Google Scholar] [CrossRef]
  33. IPFS.tech. (2025). Ipfs official webpage. Available online: https://ipfs.tech/ (accessed on 31 July 2025).
  34. Kaden, S. R., Lingwall, J. W., & Shonhiwa, T. T. (2021). Teaching blockchain through coding: Educating the future accounting professional. Issues in Accounting Education, 36(4), 281–290. [Google Scholar] [CrossRef]
  35. Kontos, C., Panagiotakopoulos, T., & Kameas, A. (2024). Applications of blockchain and smart contracts to address challenges of cooperative, connected, and automated mobility. Sensors, 24(19), 6273. [Google Scholar] [CrossRef]
  36. Kursh, S. R., & Gold, N. A. (2016). Adding FinTech and blockchain to your curriculum. Business Education Innovation Journal, 8(2), 6–12. [Google Scholar]
  37. LF Hyperledger. (2025). Lf decentralized trust wiki. Available online: https://lf-hyperledger.atlassian.net/wiki/spaces/HYP/overview?mode=global (accessed on 31 July 2025).
  38. Liu, X. (2018, October 29–31). A small Java application for learning blockchain. IEEE 9th Annual Information Technology, Electronics and Mobile Communication Conference (IEMCON) (pp. 1271–1275), Vancouver, BC, Canada. [Google Scholar] [CrossRef]
  39. Lohmer, J., Ribeiro da Silva, E., & Lasch, R. (2022). Blockchain technology in operations & supply chain management: A content analysis. Sustainability, 14(10), 6192. [Google Scholar] [CrossRef]
  40. Mentzer, K., Frydenberg, M., & Yates, D. J. (2020). Teaching applications and implications of blockchain via project-based learning: A case study. Information Systems Education Journal, 18(6), 57–74. Available online: https://isedj.org/2020-18/n6/ISEDJv18n6p57.html (accessed on 5 September 2025).
  41. Mühlberger, R., Bachhofner, S., Castelló Ferrer, E., Di Ciccio, C., Weber, I., Wöhrer, M., & Zdun, U. (2020). Foundational oracle patterns: Connecting blockchain to the off-chain world. In Business process management: Blockchain and robotic process automation forum (pp. 35–51). Springer. [Google Scholar] [CrossRef]
  42. Negash, S., & Thomas, D. (2019, May 5–8). Teaching blockchain for business. IEEE Canadian Conference of Electrical and Computer Engineering (CCECE) (pp. 1–4), Edmonton, AB, Canada. [Google Scholar] [CrossRef]
  43. OrbitdB.org. (2025). Orbitdb official webpage. Available online: https://orbitdb.org/ (accessed on 31 July 2025).
  44. Patan, R., Parizi, R. M., Dorodchi, M., Pouriyeh, S., & Rorrer, A. (2023). Blockchain education: Current state, limitations, career scope, challenges, and future directions. arXiv, arXiv:2301.07889. [Google Scholar] [CrossRef]
  45. Purdon, I., & Erturk, E. (2017). Perspectives of blockchain technology, its relation to the cloud and its potential role in computer science education. Engineering, Technology & Applied Science Research, 7(6), 2340–2344. [Google Scholar] [CrossRef]
  46. Rahman, T., Mouno, S. I., Raatul, A. M., Azad, A. K. A., & Mansoor, N. (2023). Verifi-Chain: A credentials verifier using blockchain and IPFS. arXiv, arXiv:2307.05797. [Google Scholar] [CrossRef]
  47. Rao, A. R., & Dave, R. (2019, March 16). Developing hands-on laboratory exercises for teaching STEM students the internet-of-things, cloud computing and blockchain applications. IEEE Integrated STEM Education Conference (ISEC) (pp. 191–198), Princeton, NJ, USA. [Google Scholar] [CrossRef]
  48. Roumeliotis, C., Dasygenis, M., Lazaridis, V., & Dossis, M. (2024). Blockchain and digital twins in smart industry 4.0: The use case of supply chain—A review of integration techniques and applications. Designs, 8(6), 105. [Google Scholar] [CrossRef]
  49. Sangeeta, N., & Nam, S. Y. (2023). Blockchain and Interplanetary File System (IPFS)-based data storage system for vehicular networks with keyword search capability. Electronics, 12(7), 1545. [Google Scholar] [CrossRef]
  50. Schneider, B., Moriggl, P., Misyura, I., & Rafiee, A. (2023). A case study on teaching decentralized autonomous organizations in a business school. In T. P. Sales, D. Aveiro, M. M. Mandelburger, H. Proper, & A. Koschmider (Eds.), Companion proceedings of the 16th IFIP WG 8.1 working conference on the practice of enterprise modeling and the 13th enterprise design and engineering working conference, November 28–December 1, 2023, Wien, Austria. CEUR Workshop Proceedings. CEUR-WS.org. [Google Scholar]
  51. Solidity.org. (2025). Smart contracts. Available online: https://docs.soliditylang.org/en/latest/introduction-to-smart-contracts.html (accessed on 31 July 2025).
  52. Spigarelli, F., Compagnucci, L., & Lepore, D. (2025). Blockchain unlocking collaborative opportunities for environmental sustainability through innovation intermediaries. Journal of Technology Transfer, 50, 516–551. [Google Scholar] [CrossRef]
  53. Stefanescu, D., Montalvillo, L., Galan-Garcia, P., Unzilla, J., & Urbieta, A. (2022). A systematic literature review of lightweight blockchain for IoT. IEEE Access, 10, 123138–123159. [Google Scholar] [CrossRef]
  54. Toleva-Stoimenova, S., Christozov, D., & Rasheva-Yordanova, K. (2019, March 7–9). Introduction of emerging technology into higher education curriculum: The case of blockchain technology as part of data science master program. 9th International Conference The Future of Education, Vienna, Austria. [Google Scholar] [CrossRef]
  55. Tsang, Y. P., Lee, C. K. M., Wu, C. H., & Li, Y. (2024). Gamified blockchain education in experiential learning: An analysis of students’ cognitive well-being. IEEE Transactions on Education, 67(4), 620–628. [Google Scholar] [CrossRef]
  56. UAH. (2025). Máster de formación permanente en blockchain, smart contracts y criptoeconomía. Available online: https://masterethereum.com/ (accessed on 31 July 2025).
  57. UDC. (2025a). Master en internet de las cosas. Available online: https://estudos.udc.es/es/study/detail/4557v01#whatlearn/ (accessed on 31 July 2025).
  58. UDC. (2025b). Master program on cybersecurity—Universidade da coruña and vigo. Available online: http://munics.es/ (accessed on 31 July 2025).
  59. UPC. (2025). Máster en tecnologías blockchain, universitat politècnica de catalunya. Available online: https://www.talent.upc.edu/esp/agenda/event/4786/sesion-informativa-master-tecnologias-blockchain/ (accessed on 31 July 2025).
  60. UPV. (2025). Máster de formación permanente en blockchain e innovación digital, universidad politécnica de valencia. Available online: https://www.cfp.upv.es/formacion-permanente/curso/master-formacion-permanente-blockchain-innovacion-digital_91349.html (accessed on 31 July 2025).
  61. Weng, T., Li, C.-K., & Wu, C.-H. (2019). Integrating the combination of blockchain and RPG into undergraduate learning. In International conference on learning and collaboration technologies (pp. 513–524). Springer. [Google Scholar] [CrossRef]
  62. World Economic Forum. (2025). Future of jobs report 2025 (Tech. Rep.). Available online: https://reports.weforum.org/docs/WEF_Future_of_Jobs_Report_2025.pdf (accessed on 11 September 2025).
Figure 1. Private IPFS network that allows testing of data availability and synchronization.
Figure 1. Private IPFS network that allows testing of data availability and synchronization.
Education 15 01229 g001
Figure 2. Workflow of the developed oracle system.
Figure 2. Workflow of the developed oracle system.
Education 15 01229 g002
Figure 3. System architecture of the proposed blockchain-based voting system.
Figure 3. System architecture of the proposed blockchain-based voting system.
Education 15 01229 g003
Figure 4. Administrator panels. (a) Panel for creating a vote. (b) Panel for checking the votes and closing the ballot.
Figure 4. Administrator panels. (a) Panel for creating a vote. (b) Panel for checking the votes and closing the ballot.
Education 15 01229 g004
Figure 5. User panels. (a) User panel for voting. (b) Confirmation of the vote and generated password.
Figure 5. User panels. (a) User panel for voting. (b) Confirmation of the vote and generated password.
Education 15 01229 g005
Figure 6. Tested smart contract functions.
Figure 6. Tested smart contract functions.
Education 15 01229 g006
Figure 7. Panel of the application that shows the route of a specific pallet and its state.
Figure 7. Panel of the application that shows the route of a specific pallet and its state.
Education 15 01229 g007
Figure 8. Panel of the application that shows the route of a specific pallet and its state. Event calls are highlighted in blue.
Figure 8. Panel of the application that shows the route of a specific pallet and its state. Event calls are highlighted in blue.
Education 15 01229 g008
Figure 9. Architecture of the pallet tracking system.
Figure 9. Architecture of the pallet tracking system.
Education 15 01229 g009
Figure 10. Form to upload metadata.
Figure 10. Form to upload metadata.
Education 15 01229 g010
Figure 11. Visual confirmation that the tokenURI is set.
Figure 11. Visual confirmation that the tokenURI is set.
Education 15 01229 g011
Table 1. Syllabus of the course content.
Table 1. Syllabus of the course content.
WeeksLearning GoalsDeveloped CompetencesAddressed Topics
Weeks 1–2: History of DLTs and Blockchain Technologies.
  • To understand the evolution of blockchain and DLTs, from early concepts to their current state, and their potential for future growth.
  • To gain knowledge about the basic concepts of blockchain/DLTs and their implications in systems design.
  • To gain knowledge about the design of blockchain/DLTs, as well as the awareness of challenges in blockchain and DLT evolution.
  • Introduction to blockchain and DLTs.
  • Architecture and operation of Bitcoin.
  • Smart contracts.
  • Decentralized applications (DApps).
  • Lab 1: Programming Ethereum smart contracts in Solidity.
Weeks 3–5: Fundamentals of DLTs and Blockchain Technologies.
  • To learn the essential concepts on the different components of DLTs and blockchain and their cybersecurity.
  • To gain knowledge about basic and post-quantum cryptography and its role in securing data within blockchain and DLT systems.
  • To gain knowledge about consensus protocols, how they enable agreement among distributed nodes, and their impact on system reliability and performance.
  • To gain knowledge about Peer-to-Peer (P2P) networks, including their architecture, operation, and importance in decentralized technologies.
  • Basic cryptography. Post-quantum cryptography.
  • Consensus protocols.
  • Peer-to-Peer (P2P) networks.
  • Collaborative Task 1: Consensus Protocols.
  • Collaborative Task 2: Post-Quantum Cryptosystems.
Weeks 6–7: Types of Blockchain and DLT Technologies.
  • To learn the essential concepts of the different blockchain and DLT technologies.
  • To understand the cybersecurity implications of making use of the different blockchain and DLT technologies.
  • To determine when to use a specific Blockchain/DLT.
To gain knowledge about different blockchain/DLTs, focusing mainly on Ethereum.
  • Public versus private blockchains.
  • Permissioned blockchains.
  • Ethereum.
  • Methodologies for determining the use of a Blockchain/DLT.
  • Collaborative Task 3: Other Blockchains/DLTs.
Weeks 8–9: Practical Applications of Blockchain/DLT Technologies.
  • To understand the various practical applications of blockchain/DLTs in different industries.
  • To understand decentralized autonomous organizations (DAOs) in decentralized ecosystems.
  • To understand how blockchain/DLTs integrate with the Metaverse to enhance digital ownership and virtual economies.
  • To understand IPFS and its use for decentralized storage and content addressing.
  • To understand the role of oracles in connecting blockchain with external data sources for smart contract execution.
  • To understand new business models made possible by blockchain/DLT technologies, such as tokenization and decentralized finance (DeFi).
  • To understand the legal considerations and challenges of blockchain adoption, along with ongoing standardization efforts.
  • Ability to identify and apply blockchain technologies to real-world problems in various sectors.
  • Ability in designing and understanding the governance models of decentralized autonomous organizations.
  • Ability in understanding and applying blockchain/DLTs in the context of virtual environments and the Metaverse.
  • Ability to apply IPFS for decentralized storage and data retrieval.
  • Ability to integrate external data into blockchain applications through the use of oracles.
  • Ability to create new business models enabled by blockchain/DLT technologies.
  • Hands-on use case development: To gain the ability to develop a use case for a dApp, specifically using IPFS and oracles.
  • Blockchain applications and use cases.
  • Decentralized autonomous organizations (DAOs).
  • Metaverse integration.
  • IPFS.
  • Oracles.
  • Emerging business models.
  • Legal considerations.
  • Standardization efforts.
  • Lab 2: Developing a guided use case with IPFS and oracles.
Weeks 10 and 11: Design and Optimization of Blockchain/DLT-Based Architectures
  • To understand the principles of designing scalable and efficient blockchain/DLT-based architectures for various use cases.
  • To understand the deployment and governance of blockchain in the cloud.
  • To understand the concept of Green Blockchain.
  • To learn about the convergence of blockchain with other emerging technologies to create innovative solutions.
  • Ability to design blockchain and DLT systems tailored to specific industrial or commercial needs, balancing scalability, security, and performance.
  • Ability to deploy and manage blockchain systems in cloud environments.
  • Ability to evaluate and integrate blockchain with emerging technologies like IoT, 5G/6G, and AI, creating cross-disciplinary solutions.
  • Ability to optimize blockchain networks for higher throughput, lower latency, and improved overall system performance.
  • Deployment and governance of blockchain in the cloud.
  • Green Blockchain.
  • Convergence of blockchain with other technologies (e.g., IoT, 5G/6G, AI).
Weeks 12 and 13: Cybersecurity of DLT and Blockchain Technologies.To understand the main cybersecurity issues, as well as the different protection techniques and attacks for blockchains/DLTs and how to implement them.
  • To gain knowledge of cyberattack and cyberdefense techniques on blockchain/DLTs.
  • To gain the ability to apply theoretical knowledge to practical situations within the scope of blockchain and DLTs.
  • Ability to innovate and contribute to the advancement of cybersecurity by designing new algorithms or techniques for blockchain/DLTs.
  • Cybersecurity aspects.
  • Privacy aspects.
  • Collaborative Task 4: Shodan and cybersecurity in blockchains/DTLs.
  • Final project.
Table 2. Collaborative work tasks with their description and estimated hours.
Table 2. Collaborative work tasks with their description and estimated hours.
Task #TaskDescriptionEstimated Hours (Student’s Work)
Task 1Consensus ProtocolsStudy in depth a blockchain/DLT consensus protocol (e.g., PoW, PoS, PBFT, PoB), including their advantages, drawbacks, and use cases.6 h
Task 2Post-Quantum CryptosystemsExploration of cryptographic techniques resilient to quantum attacks and their integration into blockchain systems.6 h
Task 3Other Blockchains and DLTsResearch on a blockchain/DLT platform (e.g., Hyperledger, Tezos, Polkadot, IOTA), analyzing their architecture and applications.6 h
Task 4Shodan and Cybersecurity in Blockchain/DLTsUse of Shodan to identify vulnerabilities in blockchain/DLT nodes with a focus on real-world cybersecurity practices.6 h
Table 3. Hands-on labs of the blockchain and DLT course.
Table 3. Hands-on labs of the blockchain and DLT course.
LabTopicDescriptionEstimated Hours (Student’s Work)
Lab 1Ethereum Smart ContractsStudents are introduced to programming smart contracts on the Ethereum blockchain using Solidity. They gain hands-on experience in writing, deploying, and interacting with contracts.10 h
Lab 2IPFS and OraclesStudents work on a practical use case that integrates decentralized storage through IPFS and external data sources via blockchain oracles, reinforcing the role of off-chain components in dApp development.10 h
Table 4. Evaluation criteria for the final group project.
Table 4. Evaluation criteria for the final group project.
Evaluated ItemDescriptionEstimated Hours (Student’s Work)
Source CodeEvaluation of the quality, structure, and complexity of the source code, including documentation and functionality.30 h
PresentationAssessment of the clarity, structure, and delivery of the group’s oral presentation, including use of visuals and time management.4 h
Q&A SessionAbility to respond to technical and conceptual questions, demonstrating a clear understanding of the subject.-
Demonstration VideoA short video (5–10 min) showcasing the project, its objectives, architecture, and key features. Creativity and clarity are considered.4 h
Table 5. Summary of key results obtained by the 2024 and 2025 students.
Table 5. Summary of key results obtained by the 2024 and 2025 students.
StatisticCourse 2023–2024Course 2024–2025
Labs/Final ProjectFinal ExamLabs/Final ProjectFinal Exam
Average9.128.168.227.71
Median9.358.758.668.25
Variance1.174.120.824.82
Table 6. Teaching evaluation results (2023–2024).
Table 6. Teaching evaluation results (2023–2024).
ItemResponsesMeanSDMean UDCMean FacultyMean ProgramMean CourseMean Dept.Mean Instructor
The course guide clearly explains how the course is developed (content, methodology, evaluation criteria, bibliography, etc.)126.421.166.146.256.356.466.306.56
The workload is proportional to the course credits126.081.245.915.935.535.886.086.09
Classes are organized to facilitate learning126.500.805.835.976.226.406.186.43
The professor promotes active participation in class126.830.395.936.016.606.806.186.74
The professor makes good use of resources (textbooks, slides)126.581.165.946.036.366.446.156.49
The professor fulfills the criteria stated in the course guide126.670.896.196.446.676.646.406.71
Assignments and exams helped improve learning and allowed feedback from the professor116.361.125.956.136.496.226.236.30
I achieved the learning objectives described in the guide126.750.455.956.226.466.636.286.68
Table 7. Teaching evaluation results (2024–2025).
Table 7. Teaching evaluation results (2024–2025).
ItemResponsesMeanSDMean UDCMean FacultyMean ProgramMean CourseMean Dept.Mean Instructor
The course guide clearly explains how the course is developed (content, methodology, evaluation criteria, bibliography, etc.)46.750.506.046.316.506.756.626.88
The workload is proportional to the course credits45.751.265.736.246.145.756.476.38
Classes are organized to facilitate learning46.250.965.636.136.206.256.606.63
The professor promotes active participation in class46.500.585.726.036.406.506.536.75
The professor makes good use of resources (textbooks, slides)46.750.505.726.006.546.756.606.88
The professor fulfills the criteria stated in the course guide46.750.506.086.436.636.756.766.88
Assignments and exams helped improve learning and allowed feedback from the professor46.750.505.806.186.466.756.506.88
I achieved the learning objectives described in the guide46.750.505.696.186.266.756.476.75
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Fernández-Blanco, G.; García-Cereijo, P.; Fernández-Caramés, T.M.; Fraga-Lamas, P. Hands-On Blockchain Teaching and Learning: Integrating IPFS and Oracles Through Open-Source Practical Use Cases. Educ. Sci. 2025, 15, 1229. https://doi.org/10.3390/educsci15091229

AMA Style

Fernández-Blanco G, García-Cereijo P, Fernández-Caramés TM, Fraga-Lamas P. Hands-On Blockchain Teaching and Learning: Integrating IPFS and Oracles Through Open-Source Practical Use Cases. Education Sciences. 2025; 15(9):1229. https://doi.org/10.3390/educsci15091229

Chicago/Turabian Style

Fernández-Blanco, Gabriel, Pedro García-Cereijo, Tiago M. Fernández-Caramés, and Paula Fraga-Lamas. 2025. "Hands-On Blockchain Teaching and Learning: Integrating IPFS and Oracles Through Open-Source Practical Use Cases" Education Sciences 15, no. 9: 1229. https://doi.org/10.3390/educsci15091229

APA Style

Fernández-Blanco, G., García-Cereijo, P., Fernández-Caramés, T. M., & Fraga-Lamas, P. (2025). Hands-On Blockchain Teaching and Learning: Integrating IPFS and Oracles Through Open-Source Practical Use Cases. Education Sciences, 15(9), 1229. https://doi.org/10.3390/educsci15091229

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop