This page showcases project ideas that align seamlessly with our Roadmap and are an ideal fit for GSOC '25. We aim to offer valuable insights into the necessary skillset and prerequisites, along with expectations for learning throughout the project. In addition to providing a project name and a concise descriptive abstract, we've included an assessment of general difficulty (assuming you meet the requirements) and project size. You will find the project list below. The sections represent the project titles, and the subsections are structured as follows:
Subsection | Meaning | Values |
---|---|---|
Your Mission | Brief Overview | Free-form text including expected outcomes |
Skills required | Things you already know | List of skills and technologies |
You'll know those things after summer | Things you will learn | List of skills and technologies |
Difficulty | Difficulty ranges from a significant workload but straightforward implementation (Easy) to a research-oriented task with an unpredictable outcome (Challenging) | Easy, Intermediate or Hard |
Size | The size of the project, measured by the estimated hours required for completion | 90 hours, 175 hours or 350 hours |
Possible Mentors | Your mentor will guide and support you through this project | List of names |
For example, some projects may involve research tasks resulting in a small but significant output, categorized as both Hard
in Difficulty and 350 hours
in Size. On the other hand, there might be projects with a well-defined vision, but requires a lot of time for implementation and testing, falling also into 350 hours
Size category but with an Easy
difficulty level. In essence, Difficulty reflects the time spent for thinking, while Size corresponds to the overall time estimate for project completion.
Counterfeit goods are a significant problem in the global economy. The Cardano blockchain can be used to track the provenance of goods, ensuring their authenticity and promoting transparency. The Cardano Foundation has collaborated with Georgia's National Wine Agency, the Bolnisi Winemakers Association, and Scantrust to develop the Georgian Wine Traceability Program. Furthermore, Cardano Foundation created a proof-of-concept hoodie with an integrated NFC chip that includes an encryption mechanism to ensure the authenticity of the product, which is linked to an asset on the Cardano blockchain. While this project is (open source)[https://github.com/cardano-foundation/cardano-store-poc-hoodies], it is currently not user-friendly for integration with other products and has a lot of manual steps.
Your mission is to create a user-friendly tool that can be used to develop NFC-enabled products that can be tracked on the Cardano blockchain.
We would like you to implement an open-source tool that can flash NTAG DNA chips, automating and customizing the process of creating NFC-enabled products for use with blockchain technology. The manual steps are described in the README of the hoodie PoC project. The tool should be platform-independent and ideally compatible with mobile devices, eliminating the need for external NFC writers and speeding up the creation process. Flutter, Ionic, or Tauri are preferred frameworks for the implementation.
Source: https://store.cardano.org/pages/authenticated-products
Python, Rust or Javascript or Dart, NFC & Cryptography (beginner level)
Cryptography, Cardano Native Assets, NFC
Intermediate
175 hours
Fabian Bormann, Sebastian Bode
CIP-0045 introduces a method for setting up peer-to-peer communication between two browser windows on different devices, eliminating the need for a central signaling server to exchange their IP addresses. This technique allows for the injection of an API and making calls between the peers. To resolve their deep IPs behind different NATs, this approach uses a list of public WebTorrent trackers for peer discovery. However, in many scenarios, this method is not ideal. While https://peerjs.com/ requires a central component to establish the connection, it is more reliable and would significantly improve the user experience. This technique is currently used by mobile wallets like Eternl, but it would be a generic solution for any kind of API injection and peer-to-peer communication.
The mission is to implement a multi-stage connection mechanism and enhance the CIP-0045 standard by adding preferred methods for the connection process. A QR code or link should include a custom PeerJS server address. If this server is unreachable or has not been provided, the community PeerJS server should be preferred as a fallback. If this also becomes unreachable, the current torrent-based approach should act as a final fallback. You can explore a demo setup using the current torrent-based approach in the open-source repository available here.
Typescript, PeerJS, WebRTC, WebTorrent (beginner level)
WebTorrent, WebRTC, Cardano Peer Connect
Intermediate
175 hours
Fabian Bormann, Jaime Caso
At the moment, figuring out the purpose of a smart contract on Cardano only based on hashes and binary data is quite challenging. However, there are always identifiable patterns. Have you ever wondered how many smart contracts are actually being utilized for financial purposes? Is Cardano positioning itself as the go-to blockchain for gaming? What about smart contracts in supply chain scenarios, voting mechanisms, or even for distributing art and music? The truth is, no one really knows... yet.
This mission involves developing a smart contract classifier using a combination of machine learning, statistics, and various conditions. From Convolutional Networks to Gradient Boosting Decision Trees, and even manual feature engineering β everything is on the table. The goal is to design an algorithm capable of taking a smart contract transaction and providing probabilities for different use-case labels.
Whether it's addresses, reference scripts, or reference datums, we are confident that you'll create a tool that can answer the questions mentioned above. To support you in this venture, we'll assign you a mentor with previous experience as a machine learning engineer. This mentor will provide you with ground truth data, guide you on how to find it, and offer deeper insights into the world of Cardano. Towards the end of this journey, our plan is to apply your algorithm to all the on-chain contracts to create a meaningful report.
Python, Scala, Statstics, Machine Learning (basics), Smart Contracts under Cardano (beginner level)
Classification algorithms, Data Science, Cardano Smart Contracts, deep insights in how Cardano actually works
Hard
350 hours
Satya Ranjan, Thomas Kammerlocher, Giovanni Gargiulo
Your challenge is to elevate the utility of the Cardano testnet by developing a versatile API service. This service will automate the minting and distribution of a diverse range of Cardano blockchain assets, including NFTs and native tokens, to specified payment addresses. This project is a significant step beyond the current capabilities of the Cardano faucet, which is limited to dispensing Ada. By integrating various asset types defined in the Cardano Improvement Proposals (CIPs), such as CIP-25 (Media Token Metadata Standard) and CIP-54 (Cardano Smart NFTs), you will be creating a tool that is indispensable for developers. This API will serve as a critical resource, providing them with a variety of test assets to enhance the development, testing, and optimization of wallets, blockchain explorers, and other applications/dApps. Your work will play a pivotal role in simulating real-world asset handling, crucial for the rigorous testing and preparation of applications before their deployment in production environments.
The project's output will be a fully functional API service capable of handling multiple asset types, requiring significant coding and testing.
- Proficiency in Javascript(recommended) or Java, for minting assets.
- Experience with RESTful API development.
- Familiarity with blockchain technology, specifically Cardano's ecosystem.
- Understanding of Cardano's native tokens and NFTs as per CIPs (like CIP-25, CIP-54, CIP-27, CIP-60, CIP-68).
In-depth knowledge of Cardano's blockchain and asset standards Experience in developing and deploying scalable blockchain APIs Expertise in integrating diverse blockchain assets into applications
Intermediate β This project involves not only the technical aspects of API development and blockchain integration but also requires a deep understanding of the Cardano blockchain's native asset standards.
350 hours
Jaime Caso
The importance of testnets in blockchain development cannot be overstated. Testnets provide a sandbox environment where developers can experiment and test their applications without risking real funds or impacting the main blockchain. They are crucial for:
- Ensuring the security and stability of new features before they are deployed on the mainnet.
- Allowing developers to test the integration of different asset types and ensure compatibility with various wallet and explorer applications.
- Facilitating the development and testing of smart contracts under real-world conditions without the associated risks.
This challenge, therefore, not only enhances the capabilities of the Cardano testnet environment but also significantly contributes to the broader development ecosystem, enabling developers to build more robust, diverse, and secure applications on the Cardano blockchain.
Cardano distributed ledger technology is based on the eUTxO (Extended Unspent Transaction Output) model, which in practice, generates an heterogeneous (decentralized) data lake of [un]structured data that is inherently more similar to a graph than to just a transactional ledger of balances, and doing (semantic) searches for relationships between different entities across the huge amounts of data the blockchain users produce, should be much cheaper in terms of computational resources and therefore, usually quicker, using a graph-native database than a non-native (such as relational ones); also while crafting the queries to analyse data.
While there are currently multiple alternatives to feed Cardano events into relational databases such as postgres
, message queues such kafka
or virtually any data store using webhooks, and although some PoCs (using oura and yaci) exist to store Cardano events into dGraph or Fluree graph-native solutions, there is no ready-to-consume API nor queries that makes use of a graph-native database as storage engine.
The proposed mission would be to come up with an integrated solution that makes possible to query meaningful data for consumers like for example wallets or financial tools. E.g.:
- Balances (per address, per stake account, per contract...)
- Metadata events ([N]FT mints, messages, CIP events...)
- dApp interations (smart contracts executions, dApp events...)
- Financial analysis (token distributions, transactions volume...)
Graphs is where web3, maybe, meets web3.0; as both are about linked data.
- Proficiency in at least one programming language and scripting language (bash)
- Experience with RESTful API development
- General understanding of a graph database (such as neo4j)
- OCI-compliant containers management
Graph databases fundamentals, at least one graph query language (graphql, sparql, dql...), Cardano entities/events, ETL
Hard
350 hours
Roberto C. Morano