Back to blog

Cairo rhymes with Diablo | Sam Benyakoub

May 23, 2024

Discover the core objectives behind Node Guardians and the inspiration for its creation. Sam shares insights into the development and unique features of these challenges, aiming to foster a collaborative and knowledgeable community. Through this initiative, developers can push their limits, master Cairo, and solidify their standing within the development community.
Whether you’re honing your existing skills or exploring new horizons, this video provides a comprehensive look at mastering Cairo. Learn how Node Guardians supports continuous learning and knowledge sharing, creating an environment where you can grow and succeed. Don’t miss this opportunity to elevate your programming journey with Node Guardians! Watch the full video to embark on your adventure today.

Transcript

Speaker 1:
Hi, everyone. My name is Sam. I work at Node Guardians, and I’m very happy to be introducing you to this system that we’ve been building over the last few months, tell you why it exists, what you can do with it, why it would make sense for you as a developer, dev builder, or even a Web2 folk. There are a lot of ways you can get benefits from this platform, and I’ll try to cover all of these benefits succinctly and eventually do a small demo.
Node Guardians is what I like to define or call a role-playing game for experienced engineers. It is basically a trust network, a platform for any developer to challenge their skills on advanced design patterns, concepts of programming, and out of the code that they shift through, basically prove that they’re proficient by completing some of these challenges that we call the Quest, they get rewarded with proof of skill, proof of skill in the form of equipment for their character. A little bit like in Skyrim, Lineage, or the FortCraft. That’s the same mechanism.

This proof of skill, you’ll be able basically to use them to prove your proficiency at doing something, access an opportunity, a job, a grant. There are all sorts of things that could be imagined out of that system.
The flow is very simple. You log in with your Web3 wallet or your GitHub account, and that’s it. No fluff, no ads, no bullshit, no paywall. You’re good to hack.
You choose a challenge. A little bit like on Netflix, you have some kind of selector that pretty much covers, shows you all the different topics, campaigns that we have around different, yeah, like programming concepts, let’s call it this way, and you’re good to go.
You take one. There’s always a technical description and a story that are both segregated systematically, and I’m getting the demo effect where the assets are not loading, but, oh, it did work, so we’re all good. So you take a challenge, and you’re good to start.
You have some lore that you can skip like a cut scene, and then you have the inputs needed for you to solve the challenge, and you can deploy that challenge and break it on testnet if it’s a CTF. When we need to assess some more advanced components of your programming, then we can just write tests in Foundry to see if your code satisfies very specific criteria. These challenges are called Build, whereas here we are checking a CTF.
So you hack your way through, you set up your own environment, no IDE, no remix, no whatsoever because we want it to be as close to production to reality when you hack on Node Guardians. You set up your environment, you hack, you try to basically break the contract.
We have another contract called the Verifier that will be able to monitor whether you’ve stolen the funds or not, whether you have manipulated the price or eco or not, and we can assess your code in different manners in the sense that you could think of an exercise where your gas efficiency is going to determine what kind of loot you can get and what kind of crafting material you can get.
In Node Guardians, we have hundreds of equipment that are tied to either a specific type of knowledge or that are given to people who first blood or perform well on very complex problems. So a little bit like in a role-playing game, you have different tiers and these objects can be minted.
Now let’s start to see how that can make sense also, yeah, from like a recruitment standpoint, a filtering standpoint, a matchmaking standpoint. You are a project like Kakarot. You are porting your code base from Cairo 0 to Cairo 1, and ideally you would like to have contributors that are familiar with the intricacies of the EVM.
One very funny use case that we’ve done recently would basically look like this. We wrote a challenge called Self-hosted EVM, where you have to implement your own EVM on top of the EVM, on top of Goerli. If you complete this challenge, it suggests that you’ve been dabbling with the EVM, and you are likely to be a proficient programmer that is fit to contribute to the Kakarot code base, and ideally you would have picked up Cairo using Node Guardians and the Cairo book.
What we did is that the five first blooders of this challenge, if they consent to, can be match-made with the Kakarot team and contribute on the open source code base of the project, and this is exactly what happened. It is working well. There are dozens of full requests that are actually popping.
Now the idea is to generalize that to your project, to any DeFi protocol, any primitive that’s built on top Starknet or Ethereum. We can think of a very compelling and fun challenge for you to solve, and the top performers or the first solvers of that challenge will eventually, if they want to because the user is at the center of the Node Guardian experience, we don’t pull them by the neck and feed them into whatever, then they will join you and work with you. That’s one aspect, that’s one way to leverage Node Guardians to ease match-making.
Another component is that we don’t display any financial incentives so that we can keep a genuine interest out of the programmers when they decide to solve a challenge or get closer to Protocol XYZ by performing on the platform. So the more of this proof of skill, the more first blood you collect, the more valuable, the more reputation points you have on the platform. That is something that you could use in the future in multiple ways, and if I have enough time, I’ll be sharing a little bit more about that. Okay.
Then you have statistics that you can share with anyone you’re willing to send them to, basically. Statistics are just giving you a rank, leaderboards are going to be overhauled, and there’s going to be a PVP system where you can have a challenge where your friend and yourself are basically competing at solving it.
That challenge can also be procedurally-generated so we avoid cheating, and the person that has, for instance, the most efficient solution or break it first gets yellow points while the other is losing yellow points. So you can think of all sorts of mechanics to increase the competitive dimension of the Node Guardians product. Then, of course, you have a quest log and all sorts of things.
Where does Node Guardians sit in the Cairo stack? So there’s this amazing infographic that I’ve done where it basically places Node Guardians at the end of the spectrum.
If you’re new to Cairo, you want to start with something like the Cairo book, the documentation, Stark links, which I did not forget, and base camps, boot camps, initiatives like the hacker house that happened in San Francisco, in Tel Aviv, and many such places in the world. And once you feel like you’re getting closer to a production level, or you want to really challenge your skills at a decent level, let’s put it this way, you might want to consider Node Guardians.
Then this is like the quest selector that I’ve showed you, the four types of challenge in a more visual way. You have Build. Build challenges are programming challenges where we verify some specific components of your logic of your code to see if they fit with certain criteria. CTFs are fully on chain, Resource Management is gas golfing, and Theory is just an article that abstracts or defines a certain concept of cryptography distributed systems.
If you’re dealing with stealth addresses in Solidity, it would be nice to have an understanding of elliptic curves. So we also try to bring the theory inputs that might help you to perform better when it comes to the practical quest. Same thing for implementing elliptic curves. You might want to go to the theory part of it.
So that’s the whole flow. That’s the customization system. You have ranked coding based on how far you’re on the platform.
Beyond that, it is a community. So if you’re willing to connect your Discord and engage with the rest of the community, all of our engineers are here to help, and all the other team members also here to help. So you can connect with other guardians, other scholars, mages, high mages and exchange IDs, eventually start a project or get help on the challenge you’re stuck with.
So there’s also this community aspect that’s important to take in consideration. You’re part of something, but that thing does not require anything from you. You’re not forced to give anything back. If you’re willing to engage with us, you’re more than welcome to do so, and we would love to have you over there.
Then, as I said, it is a great tool to filter talent, to contribute to open source, to land a job. You’re a company, you’re looking for a smart contract developer, you don’t want to go through a thousand CVs. You want a curriculum that is made out of something more tangible to prove that someone is practically able to break a contract or understands this, I don’t know, this programming concept, let’s put it this way. So what you can do, your AVE, you’re looking for a smart contract developer. You create a job offer and you upload a challenge and you say, “There’s no way you can apply to my offer if you haven’t broken that contract.”
That way, you can be sure that people who are actually applying have a higher likeliness to be a match for what you’re looking to add to your team, and that can save a lot of time for these companies. They can save a lot of time. They don’t have to go through thousands of CVs. Or they eventually don’t end up recruiting someone that is not fit, which is a very costly mistake to go through when you’re running a company.
It is a public good from a developer standpoint and yeah, so far we have some pretty interesting statistics. We have 900 active developers. By active developers, I mean people who have been pushing code over the last few months, at least like a few times, solving a few challenges. A challenge can take from one hour to 15 hours to solve. We’ve had like 6,200 challenges solved and it’s still going. If you want to give it a try, I would love to have you, giving you a chance and share your feedback, and this is about 150 hour of content.
Now, the next step is to generalize this to other zero-knowledge domain-specific languages, and to create quests that are open.
For our V1 coming up next month, you’ll have mintable objects and you’ll have open quests, which are tied to what we call relics. So you can have a quest on Node Guardians that is attached to an open source problem, and the first person to solve it in a satisfying way gains a relic.
A relic is an item that is unique in the game so you can either keep it for the sake of vanity, or you can burn it. And if you burn it, it then redeems, it then transforms into money, or maybe a trip to Tel Aviv, God knows what it can be, but you don’t know what to expect if you burn the relic. So you can either keep it and flex to your friends on Twitter, or you can just burn it to see what hides inside. That’s one of the other developments that we’re bringing on the platform to have it as a tool to serve very concrete problems, real-world problems.
So yeah, I think that I’m going a little bit over time. I would love to answer any questions that you might have. I’ll be hanging around if you have any, and I hope to see you on Node Guardians or at the conference and, yeah, thank you very much for your time. Have a great day.