"It is I, Tippi Fifestarr, Chainlink Developer Expert and one of the OG Founders of Ceptor Club. Hark, and "heart" our Tech Team's fantastic story!" -- Constellation, 2023

2022 Hackathon

Inspirational Project Story: Art, Tech, & Games

A year ago, at the Chainlink Fall 2022 hackathon, a spark was ignited in us at Ceptor Club to explore the synergy between art, tech, and games. We won a small prize, and then got a Filecoin Next Steps Grant. Somya, Aire, Jason, Cromewar, Danjo and myself sprinted forward and then began a long campaign into the Realm of the Slime Mold. Our journey, inspired by the vast potential of blockchain, AI, and immersive gaming experiences, attracted over 100 volunteers to sign up for Onboarding and finding their First Mission. Chainlink Spring 2023 saw Team Leader Somya (mother of our Dragonborns) almost defeated in a wild battle with the Scope Creeper, but we emerged with our second win (Top Quality Prize). Sean Domini took a stab at implementing SocialFi using Chainlink Automation and Functions, which inspired us to try again this time. The Great Wizard Donzo built an amazing Quiz but it was in PHP, so we spent a couple months getting the quiz into our React app. Donzo, if you are reading this, check out our redesign (see Ceptor Games Team) and come play a game!

Nice Dragonborns, Spring Screenshot placeholder: Ceptor Club's journey over the last 6 months Spring 2023

With Ceptor Club's growth, especially after our workshop at ETHChicago and sponsoring the Cyberjam imnotHackathon, it became clear that our burgeoning community needed more structured teams and there were too many of us for just one team in the Chainlink Hackathon.

Thus, Ceptor Tech (and The Three Teams) was born. I reached out to my friend and fellow Chainlink Dev Expert Eman Herawy, and she suggested Lena (GigaHierz). Aire, who was on the OG team way back in 2022 joined Team Tech soon after. In the final weekend, we were joined by the Amy Shafe, our Executive Producer. Our mission: to resurrect lost features, prototype a viable business model, and guide our sister teams (Ceptor Artour & Ceptor Games) in integrating Chainlink technology and our new and improved end-to-end user journey.

Ceptor Club Contributors Worldwide, and you can too! Art + Tech + Games Ceptor Club Contributors Worldwide

What Ceptor Tech Does

Ceptor Tech, a crucial pillar of the 3 Ceptor Club teams joining forces and competing in the Constellation Hackathon, Art + (TECH) + Games. We focus on creating a seamless, multichain RPG experience and end-to-end user journey for you today. Our flagship feature, the Ceptor Club ID (CCID), is a testament to our commitment to cross-chain functionality. This hackathon saw us channeling our efforts into finishing the SocialFi feature we called the Challenge of the Week, where our players and gamemasters can burn dice to compete to complete randomly chosen (VRF & Automation) challenges. We also focused on improving our smart contracts and a significant overhaul of the front-end functionality. The CCID now adeptly receives cross-chain messages from Ceptor Art's LootBox reward and Ceptor Games' rollable & VRF random D20, exemplifying our dedication to a cohesive, integrated gaming experience. Ceptor Tech also worked with Alan (Verintas) from Ceptor Games to add MongoDB to our backend for seamless UX. For the final Technical Knock Out, PromptCollection.sol Dynamic NFT uses Chainlink Functions to query that web2 backend, when it does its weekly update.

CCIP Diagram by Amy, Lena, and Eman CCIP Diagram by Amy, Lena, and Eman Screenshot placeholder: The CCID interface and cross-chain functionality CCIP Interface and Profile in Progress

Main Contribution made during this hackathon

To help you know what we added during this hackathon, we have added a list of the main contributions made during this hackathon. These changes could be tracked in the code base as well. The below list is just to help you understand the main contributions made during this hackathon.

  • enhancements and changes to the existing codebase
    • [x] Added a new contract Reward.sol to manage minting Dice NFTs for the most-liked POW NFT each week.
    • [x] Timer Workflow Refactoring.
    • [x] Added a new contract PromptCollection.sol to let users to participate in the weekly prompt this contract extends Prompt.sol.
    • [x] Enhance the code quality in CeptorDice.sol.
  • [x] Enhance the code quality in Septors.sol.
  • [x] Added a new contract CeptorClubID.sol to manage user registration, stats, and loot.

Chainlink Hackathon Services Used

We are so honored to say that we used most of the Chainlink services in our project. We used the following services:

  • [x] Chainlink VRF check the code here
  • [x] Chainlink Automation( run weekly)
    • One Automation to call to automate TWO Chainlink Services
      • [x] Chainlink VRF
      • [x] Chainlink Functions Alt text
  • [x] Chainlink Functionscheck the code here and here and you can check the function simulation here
  • [x] Chainlink Price Feeds check the code here
  • [x] Chainlink CCIP
    • Our CCID is handling cross-chain calles from Game Chain to Art Chain [ two different networks] check the code here

Contracts

  1. CeptorClubID.sol Below is an overview of its functionality:
- User Registration: Users can register a username with the registerUsername function, which requires a payment unless the sender is the contract owner.
- Stats Management: The contract allows updating user stats through the updateBigStats function, which is restricted to the owner.
- Loot Handling: It includes functionality to store and manage loot associated with users. Loot can be added to a user's account via the _ccipReceive function, which is designed to handle cross-chain messages.
- Chain Interaction: The contract can check the blockchain it's deployed on with checkDeployedChain and handle cross-chain messages with _ccipReceive.
- Access Control: There's a mechanism to approve or disapprove senders for cross-chain interaction using setApprovedSender.

- [ ] Implement security checks to ensure that Loot and Stats are received from the correct contracts.
- [ ] Consider adding a function to allow users to leave the system and retrieve a portion of their funds.
- [ ] Review and possibly refactor the getRegistrationCost function as it's marked as "crap".
- [ ] Address the question about whether CCIP libraries work with proxy contracts.
- [ ] Determine the XP multiplier logic based on user levels.

**Explanation of LootGetter.sol**

LootGetter.sol is a contract that demonstrates how to receive string data across chains using Chainlink's Cross-Chain Interoperability Protocol (CCIP). It includes:

- An event MessageReceived that logs the details of the received message.
- A function _ccipReceive that handles the incoming CCIP message, decodes it, and stores the details in a LootMessage struct.
- A function getLastReceivedMessageDetails that allows retrieval of the last received message's details.

The contract is marked as an example and should not be used in production as it uses hardcoded values and un-audited code.
  1. Reward.sol
    • Manages minting Dice NFTs for the most-liked POW NFT each week.
    • Consumes Chainlink function to call the API and retrieve winning NFT.
    • Calls the Dice NFT contract to mint a bag of dice for the winner.
  2. Dice.sol
    • Manages minting of Dice NFTs.
    • timer per burning of dice.
  3. Ceptors.sol
    • Manages minting of Ceptors NFTs.
    • BurnTimer should be running for the Ceptors to be minted.
  4. PromptCollection.sol
    • Manages minting of Prompt NFTs.
    • Manages the random weekly prompt
    • call the Reward.sol to reward the weeek winner ## How We Built It

Although we began late to start, Tech Team's superpower was how well we planned and communicated asynchronously, trusting open questions and finding solutions together. Building Ceptor Tech's components was a collaborative effort.

  • Tippi's role was like CCIP Lanes, moving between the many teams and hackers, smoothing the road and connecting the stars of Tech Team together with product management and the development of the CCID concept into reality. He supported all the teams in their technical challenges and collaborating smoothly. Eman's Constellation of Smart Contracts
  • Eman, Dev Expert, requested the creation of the one document to rule them all which made our second week of efforts far simpler. She was the powerhouse behind our constellation of smart contracts, Chainlink Functions, Automation, VRF and testing environment. She safeguarded the integration of our Challenge/Prompt of the Week, refining our smart contracts and ensuring that each piece of our project fit together like a puzzle. Lena & Eman's kickass Challenge of the Week frontend
  • Lena (GigaHierz) was an incredible Frontend and web3 integrator. The Challenge of the week came to life in her hands, and she brought her expertise at hackathon teamwork and got us going with a Notion Todo list powered by focused productive meetings, and then used her async time to massively enhance our front-end and implement feature after feature. She spent hours on our final Saturday helping hackers from Games team and Art team get unstuck.
    Aire's CCID Flow
  • Aire supported with our front-end CCID flow and provided last minute help and QA.
    Challenge of the Week
  • Amy made some great diagrams (see above) and provided incredible support on our deliverables for the final weekend. She focused our narrative, our messaging, and helped us simplify our story.

The result is a platform that not only entertains but also can provide a perfect use-case demonstrating the capabilities of blockchain technology in gaming and how Chainlink makes it even better. We build with the hope of launching a multi-chain Mainnet Beta next year, and keep the community building stories better with art, tech and games.

Screenshot placeholder: Development process and team collaboration between Tech and Art to resurrect our GPU, better than ever @skinney Art Team and @fifestarr Tech Team restore the Art GPU

Weekly Challenges We Ran Into

One of the most significant challenges was ensuring that our diverse and complex features worked harmoniously. Integrating various technologies like Chainlink's VRF and getting the CCIP to work for our user experience, while balancing the needs of our sister teams required us to be innovative and persistent. Honestly, things came together and then fell apart at the end as we merged and swerved to complete our submission.

Connecting all the many web3 components from front-end to smart-contract was a struggle as contracts were tested, debugged, and redeployed.

"Merging branches, always causing the problem." --Aire "Too many channels of communication hehehe!" --Amy "Tippi renaming my smart contracts to fix spelling errors." --Eman "Wrangling these rockstar cool cats from "group" to 'Team', and remembering how to WIN every hackathon!" --Tippi "I didn't get to bake cookies." --Lena

As a global team, we were very careful about how we spent our precious sync time and relied on the Ceptor Club Discord and multiple smaller group chats to communicate. Tippi was the bridge between the Art, Tech and Games team. We also focused on making our platform accessible and enjoyable for users, irrespective of their blockchain experience.

Screenshot placeholder: Troubleshooting and problem-solving sessions Troubleshooting and teamwork

Accomplishments That We're Proud Of

Ceptor Tech's journey has been a humbling and enlightening experience. We're particularly proud of how we've managed to integrate the artistic, technical, and gaming elements into a single, cohesive TTRPG platform. The development of a cross-chain CCID and the successful implementation of Chainlink's tools are milestones that exemplify our team's dedication and skill. Being able to receive messages from Avalanche (Art's favorite chain) and Polygon (Game's choice) required Chainlink CCIP and TEAMWORK (to make the dream work).

Screenshot placeholder: Key milestones and achievements such as last minute video editing with Art Team Last minute video editing ^^ Uploading all these screenshots with NFT.storage

What We Learned

This project has deepened our understanding of blockchain's potential in creating interactive and immersive gaming experiences. We've learned the importance of teamwork, persistence, and the value of community feedback in refining our tools. Tippi learned not to make spelling changes in smart contracts the day of the deadline, and the power of diagramming and getting people on the same page. Aire learned skills in front end development and about doing contract calls with ABI. Lena practiced her debugging skills and learned about D&D. Eman got to do a deep dive into Chainlink Functions. Amy learned about working in fast paced decentralized environments.

Screenshot placeholder: Team learning and growth experiences Last minute learning and team growth experiences

What's Next for Ceptor Tech

As we look to the future, our focus is on refining Ceptor Tech based on the invaluable feedback from this hackathon. We aim to launch a Beta version that will bring our vision of a blockchain-powered RPG to life. Our journey continues, and we invite you to join us in this exciting venture. We want to audit the contracts and clean up our code to get ready for Production. Tippi says: "The future is bright, like a Constellation of Hooty, or maybe Dooty."

Screenshot placeholder: The roadmap for Ceptor Tech's future


We invite you to share your thoughts, feedback, and to join our growing community. Let's embark on this adventure together and explore the endless possibilities that blockchain and gaming have to offer.

Join Us


Super shoutout to Danjo the 0x for his support during this and many hackathons.

Built With

+ 8 more
Share this project:

Updates