Node Guardians
Listen Now
About This Episode
In this episode of DevNTell, Narb interviews Sam, the founder of Node Guardians, an RPG-style learning platform for Solidity developers. Sam shares his non-traditional background, from medical student to crypto enthusiast, and how it inspired the creation of Node Guardians to provide interactive and professional learning resources for the Web3 community. The platform offers various challenges, including programming quests, CTFs, and gas optimization tasks, with a privacy-preserving and gamified experience. Sam demonstrates the platform's features, such as the skill tree and customizable avatars, and discusses future plans like integrating additional programming languages and potential metaverse expansions.
Key Takeaways
Node Guardians is a gamified RPG learning platform designed for intermediate to advanced Solidity developers, offering over 70 hours of content.
The platform addresses the lack of high-quality, professional learning resources for seasoned Web3 developers with a privacy-preserving approach.
Challenges on Node Guardians include conventional programming quests, Capture The Flag (CTF) security hacks, and gas efficiency competitions.
Future developments include integrating zero-knowledge domain-specific languages like Cairo 1.0, and possibly Rust and Move.
The platform's business model involves collaborating with protocols to create custom challenges and matchmaking developers with potential employers.
Featured Guest
Sam
CEO @ Node Guardians
Episode Transcript
Read full transcriptHide transcript
All right, we're live. GM, GA, GE everybody, welcome to what's going to be another great DevNTell. So if you didn't know, DevNTell is a 30-minute window for builders to showcase something they're passionate about or working on in Web3. This could be an awesome project you've been working on, demonstrating new testing best practices, automation goodies, smart contracts, how to structure a project, etc. Basically, if you've got a passion for something, this is your opportunity to share with the Web3 community. And today, I'm ecstatic to have Sam from node guardians.io on the platform, who's going to be giving us an overview of that product. So welcome Sam, love to have you on, man.
Thanks for having me, Narb. And a really cool initiative. Also, saying hi to everyone who's joining the stream. I guess it would make sense that I start with a little bit about myself, an introduction about my background, and then I'll be more than happy to introduce what Node Guardians is. So yeah, I am Sam, I'm French. I'm the founder of Node Guardians and a few small other things in parallel. My background is not an engineering background, like I didn't do CS at university whatsoever. I was actually a medical student. But midway, I actually halted everything to get some time for myself and study things that I actually really like. Started deep diving into crypto around Zcash's trusted setup period, that was like late 2016. That technology and their agenda, and the fact that they were leveraging zero-knowledge proofs in a human-ready way, let's put it this way, was very intriguing for me. So started like digging, digging, digging. I founded initially a media which is kind of like the CoinDesk for the French-speaking countries, it's called Journal du Coin. It's still out there. And while I was like building this, I was exploring other basically ways to make this media sustainable because it wasn't generating much. And while I was trying to figure out how to make it sustainable, I discovered the concept of grants a few years ago. Started applying to foundations that were contributing to projects and protocols that I actually like. Was getting rejected on repeat, and at some point I found a formula that was kind of working for them, which was essentially doing some tech writing and some resources for developers. And we could basically act as a bridge between ecosystems and potential contributors and leverage the fact that we have quite some big traffic. And basically like set up a team of developers and also started working myself on that path. And I also started running nodes on my free time and the whole DevOps thing was something that I was kind of getting interested by, obsessed with. So started with Avalanche back in the days, there was also like EOS block production back in 2018. Explored all the weird and funky proof of stake systems by running them either at home or on some old bare metal. And yeah, I kind of fell in love with that aspect of the Web3 stack, let's say infrastructure, making it fault-tolerant, highly available, etc. And also fell in love with teaching and making that learning experience as engaging as possible. And so in 2022, early 2022, started working on Node Guardians. Node Guardians pretty much captures a little bit of all these passions. Basically tech writing, not tech writing but like dev learning resources for developer because we were doing these grants and that was working pretty well. My take was that it's product-market fit. Beyond that, I also wanted to go into that DevOps, include that DevOps passion into the whole product, hence the name Node Guardians, we're actually guarding the nodes. And it was about time to actually get more professional at this as I was kind of self-taught, but I had DevOps engineers that are way better than me at doing this that could basically join me in this adventure and set up and make things a bit more let's say professional, I'll say it like that. And I love RPGs, role-playing games and simulation games like Crusader Kings, whatsoever, grand strategy games. So I wanted an interface and an experience that's reminiscent of these games because my take's that all my friends that were at engineering school were playing the same game as me. We were spending way too much time on Heroes of Might and Magic, Diablo, Hearts of Iron, whatsoever. So how about just framing everything into an interface that's reminiscent of these games and go beyond making tech writing. Instead of doing tech writing, let's make something that's a bit more interactive. So I kind of tried to profile what were the elements of the Solidity stack that were a bit less covered. So I discovered like Capture the Ether, Ethernaut, which are amazing. All the other resources out there like CryptoZombies, you might have actually explored that one. And I was like, okay, it seems like the segment for beginner to intermediate is well covered. There's an abundant set of resources are covering this, but we're missing some resources, some CTFs and some content for the intermediate to advanced developers. So let's try to focus on that part of the spectrum. So yeah, Node Guardians, I'll start with my little slideshow, is an RPG that caters to seasoned developers, Solidity developers for now, let's put it this way.
So why Node Guardians? Lack of content for intermediate to advanced developers. In my opinion, some gamification experiences were not on point, but I don't want to sound arrogant or pretentious saying this, it's very subjective. So I wanted to offer our own interpretation to gamifying learning. And a lot of experiences were very invasive. So when you try to learn something, sometimes you get prompted to give your email or your socials or personal data, which I understand, but my take is that the advanced developer or security researcher, he doesn't want to share anything with you. So let's try to offer an alternative learning experience where you don't have any paywall, you are not asked to share anything. And let's keep it this way. And finally, sometimes if you want to get hired or apply for a job, you get a custom technical test or interview and that's a lot of overhead for recruiting managers, hiring managers, CTOs, etc. So how about abstracting the complexity of the whole process by offering an open and free platform where people could actually challenge their skill and get some Web3 small proof on-chain that proves that the guy is actually able to build stuff leveraging that certain element of the stack, let's say. So that's pretty much what motivated the creation of the platform.
So it's public good and the idea and the direction of the dev hub on Node Guardians is not going to change. The fact that we run nodes is not like a public good, I mean we run nodes, we take commissions and that kind of makes the public good sustainable. We can go to the business model part if that's of interest for the community, happy to answer any questions on that aspect. It's an RPG for Solidity developers, seasoned Solidity developers. It's as privacy-preserving as possible. Of course, you interact with our website, we get your IP but we don't store it. And you can use a wallet, you have to sign to log in, but you can use a burner wallet, it's totally up to you, but yeah, that's all that we need. And yeah, it's fully gamified and there's over 70 hours of content that you can play with.
And we have different kind of challenges on the platform. You have the build challenges. So the build challenges is basically like a conventional programming challenge. The player has to code some kind of contract that solves an arbitrary logic problem, and it will run against our public and private test cases. So the way it works is that you just fork a public repository on our GitHub, you install our GitApp, and we can run all these tests and assess what you push. And then we have CTFs, so capture the flag for those who are not familiar with that. You deploy a contract on a Goerli testnet, we give you just the amount of ETH that you need to deploy it, and then you have to basically exploit it leveraging different patterns like unprotected calls, re-entrancy, different mechanisms to basically break the contract. And then we have an observer contract, let's put it this way, a validator contract that is an intermediary that is monitoring whether you have completed the quest or not. And we also write some tests in unit tests to ensure that what you're doing actually is right on track. Then we have gas golfing. So I'll give you a problem and you have to create a solution while being as gas efficient as possible. And here we're going to also meter, count how much gas you used to solve that problem and rank people. So the one who has the most gas efficient code to solve an arbitrary problem succeeds the most, let's say. Leaderboards are coming very soon. And finally, theory is the part of the experience that caters to everyone. It's likely that you're not a developer and you're maybe watching this show, and I thought it would be cool to have some kind of experience for people who are also not devs. So with the rest of the team, we chat and we agreed on building some articles that break down complex concepts of distributed systems and decentralized finance in a fun way, in a way that fits our lore, that fits like the whole platform, the whole aesthetic environment and everything. So you can find some articles on elliptic curves, on zero-knowledge cryptography and all these primitives, what else, on AMMs and some other things that are coming up.
So the flow is very simple. Now it's demo time. I log in with my Web3 wallet, so wallet connect, Rabby, whatever, Frame, you log in and you basically get some kind of skill tree, a little bit like in The Witcher or Skyrim or Oblivion. The skill tree is a visual representation of your proficiency as a programmer in different element of the stacks or just as a scholar who is trying to gather some knowledge around different resources, like reading some articles.
But here is the most important and sophisticated tree, let's say. You have like different tabs, one for low-level programming, one for design patterns, one for data structures and everything. And you have to solve quests, like these programming challenges, in order to level up in that tree and get a better profile. Here you have all the quests that are sorted by their nature, what skill they tackle, what problem they tackle and their complexity. And there's always some soulbound XP that is linked to each chapter, to each quest.
Each quest are part of a big lore, there is some political thing going on, there is some universe in Node Guardians, there is some story that unfolds as you complete the quests. And each quest, even though they're part of different campaigns, are linked to each other. There is something that's going on and some character that you find in that quest might exist in the other quest. And there are a few Easter eggs that I invite you to spot if you're actually finding some time to do these challenges. So here you have, let's say a CTF. I'm going to do a CTF. So the Poly Network hack, which happened like I think two years ago almost, where $600 million was stolen, is a huge bridge hack. And we're trying to create here an experience that puts you in the position of the hacker right before this happened. So we created our own bridge, we recreated conditions that look like this hack before it happens, and you have to leverage the same logic to break the contract and steal the money. So yeah, I'm going to start the quest. There's always some story and you have different inputs that are going to help you eventually figure out how to solve the actual challenge. And this is the contract. You deploy it, you deploy the trading boat on Goerli, and you're good to go. That's it. You have to break it on the testnet and once you're ready you can click on the verify button, so our validator contract will observe what you've done. And you can get some hints if you're struggling. And yeah, that's pretty much like the whole flow for a CTF.
When it comes to learning a certain like programming concept or like assembly, yul, whatsoever, like things that are not programming challenges, you have to install our GitApp as I said. You have different inputs, different steps of the quest to validate. And as you validate the different steps and we run our private tests to verify this, to see if your code satisfies this, you unlock the different steps of the actual quest. And at the end, you get rewarded based on whether you succeeded the quest or not and how efficient you are.
So that's pretty much it. You have a wide variety of content covering the Solidity stack. And we are now working on expanding Node Guardians beyond the scope of Solidity. So our main focus for now is going to be like zero-knowledge domain-specific languages. So our next integration is Cairo 1.0. And we're also looking maybe in the future to add Rust and Move. But everything needs some time. Right now Cairo is quite a big project to complete, so it's probably going to be live in three or four months. Then we'll see what we'll do from there. Always happy to chat about what you would like to see on the platform if you hop on Discord, I'm always happy to have your feedback and your suggestions.
This is the fun part. So that's my profile. I'm EVMonster. And I can share my profile on different socials if I want, but you don't have to do that. And you can just share it and that's some kind of profile that you can share, like it's a bit of a social graph for geeks, I guess. You can share how far you've been in the game and how good you are in that aspect of Solidity, for instance. So that's my avatar. There are hundreds of different pieces of items. I mean I say hundreds to be honest, there's like 200. And some are very hard to craft. A little bit like in good old massively multiplayer role-playing games, some items you can really flex with them because they're very hard to get and they're very hard to craft. So you can equip them on your character, you can customize it. You have different presets for now but there's a big update that's coming up where you're going to be able to customize the exact tone of skin that you want, the gender a bit further and everything. So that's coming up very soon and you can go a bit deeper customization-wise. Right now Node Guardians is a beta but it's going live in a few weeks, like proper V1. But it's very stable, you should give it a try, I think in this condition it's totally fine. So it's been live for four months. That's the forge tab where you can craft, scrape items and explore the different intricacies of the crafting system, let's say. These are the loot boxes. It's not a pay-to-win and it's not a proper play-to-earn, let's say. Everything is soulbound, so it's just for yourself, just to build your curriculum and then you can use this to do things after.
But where are we headed with all of this? Now that you have that profiling of the developer, we can dive a little bit further in assessing you how efficient you are against the other users on the platform. Expanding the scope of our assessments and our tests beyond smart contract related tasks. So we have a profiling that is a bit more universal and we can assess maybe how good you are as a systems engineer. And offer a better profiling, so that only if you opt-in and accept to share all of this data with an arbitrary protocol or foundation or ecosystem, you can be matchmade in a much smoother fashion with either grants if you just want to be a contributor and keep your job, or a full-time job. And you can imagine a marketplace, a matchmaking engine, where you would have some kind of quests like a board for bounty hunters, a little bit like in Final Fantasy. And they can say like we're looking for a smart contract, like the protocol can say I'm looking for a smart contract engineer, but if you want to apply you have to solve my custom CTF. If you can do that, that would unlock the button that directly matchmakes you with the hiring manager, for instance. And that abstracts, that shortens the whole process to some extent. And that is also part of our business model. You can pay to get the thing listed there and then people, only if they want to apply, can apply and share, reveal their data with the protocol that interest them. Same thing to apply for grant funding, whatsoever. There are different primitives that can be built on top of a profiling system. And the idea is to keep everything as privacy-preserving as possible. Like not trying to send an email to the security researcher or the engineer telling him hey you've been matchmade, but having everything that's built in the platform and that's based out of the consent of the users as much as we can.
Another thing that can be implemented is the PVP that we've been like exploring, working on. So as you can see you have a rank and you can imagine something like an ELO score like you have in chess, the ELO ranking system. And you can have let's say an optimization problem every month that changes every month and you can be matchmade like in League of Legends with a random user. And based on the delta that there is between your ELO scores you can either win a lot of points or win a little bit but risk to lose a lot, etc., etc. And your goal is to ship the most gas-efficient code at the end of the given epoch versus the person you've been matchmade randomly. So that's pretty much it for the platform. We're also because, you know like we love running workloads and testnets and mainnets, we love this, also running nodes. But that's a bit like uncorrelated, but to some extent there's kind of a link between this because that's a way for foundations or any stakeholder of a protocol or any visitor to support us if they want in this initiative.
And if you're integrating a language that has a lot of changes syntax-wise because it's very young, you can find a model where a foundation can delegate on your sequencer or a validator for a given period so that you make sure that the assets are not deprecated and well-maintained by either us or someone from the community. We can issue the funding. And the idea is to try to find synergies between the fact that we are acting as infrastructure providers, but we're also trying to offer a public good for developers, something that gathers everyone. So that's pretty much the idea. We're live on all these testnets and mainnets, I think Sui and Aptos are missing, but yeah, it will be probably refreshed. And we also try to maintain a Discord where you're more than welcome to join if you're struggling with a quest. We have some kind of chart deontology or rules to respect when it comes to hinting and what to give and what not to give, but the community is very helpful. You can chat with people of your level, let's say. You have scholars, mages, and high mages and it's linked to your Node Guardians account. So based on how far you are in the game, the access to channel A, B, or C will be opened. And you'll be able to chat with people that let's say are a bit more experienced, etc. and find some hints on the quest you're struggling with, some references, some resources, and that's just it. You also have some announcements. Announcements are mostly like our podcast. We have a weekly podcast where we explore basically just infrastructure paradigms of rolled-up bridges, etc. so there's a podcast every week approximately. And we're introducing a new model where we have auditors from let's say different auditing firms like ChainSecurity or Trail of Bits and they take some kind of bridge or contract that they've audited and they explain the intricacies of it and what were the critical failures or vulnerabilities that they found in their history and what was the mind model and the reflection path and the methods that they used to actually find this. So yeah, you're also free to check it out if you want and that's pretty much it. Maybe I could share some numbers about the platform itself. We have 630 people that actually installed our GitHub application and are pushing code. And yeah, about like 4,000 quests that have been completed and still counting. So very thankful for these results and I invite you to give it a chance. And if there is anything that you don't like on the platform, I also welcome criticisms. Something you want to challenge, something is ugly, something that you don't like, the quest is badly written. I'm always on Discord and I try to reply to each DM. So yeah, that's pretty much the whole overview of the platform, happy to answer any question if you have any.
Wow, this looks so amazing. And yeah gang, if you have any questions please post them as a comment in the chat on your right hand side and I will ask on your behalf. But some questions for me. So as you're completing these quests, these lessons and you're earning these experience points, you showed that you can customize your character. Can you use those experience points to buy those different attributes or is there another point system that those are using?
Good question. I think I should have been a little bit more clear on experience and gold and crafting materials. So everything is soulbound. You can earn gold. Gold you need to use it to buy loot boxes to find different items that you can equip to your character, pure vanity. Then you have experience points. So experience points are just adding up to your level gauge like it's what allows you to go from a level 2 to level 3 to level 5 in the game. And you can think of a future where certain opportunities will be gated based on your overall level on the platform. But experience is topic-agnostic. Experience just means you've done some stuff but it can be on different aspects of the stacks and everything. Once you complete a quest, it just counts as a unit on the skill tree. So you like there is it gives you some experience that is specific to a certain aspect of the stack. You have like low-level programming related experience, design pattern experience, and everything will reflect on that profile that you can share if you want to share it. And we can see how far you are exactly in the different element of the stacks and what is your overall level. Are you level one, are you level five, are you level eight. It's pretty much like a faster indication of how far you are in the game. But we're looking of ways, we're thinking about ways to allow you to inject what you've done let's say on Developer DAO or on another system like show karma. You don't want to grind your way up but you want to prove very quickly on Node Guardians that you've done a lot in the space on Gitcoin or something like that. So how about importing your reputation onto your Node Guardians profile so immediately you get bumped up a little bit and that reflects on your profile. So that's a problem we're trying to address as soon as possible, maybe in a few months that'll be ready maybe for this summer.
Awesome, great to hear. And I guess in typical RPG fashion, you mentioned that you have some particular quests that make the user try and recreate an exploit, like a bridge hack and whatnot. Can we consider these as DLCs, like in typical RPGs?
Man, it's exactly the concept. So let's get back a little bit on the business model aspect. You can be a protocol like the Aave Grants DAO or Uniswap whatsoever and you want people to actually know how to build with your new stablecoin. Or you can be an auditing firm and you want to launch some new challenges to maybe yeah, let's say you want to do that. It can be bundled within a campaign that is specific to an ecosystem. We write the lore that integrates your universe with ours. And this displays as a new set of quests, a little bit like on Age of Empires when you have a new campaign, Genghis Khan, you have to start in Mongolia then you go to China and everything. So it's same thing here. You basically have these new CTFs coming up on the platform and you're free to solve them or not, and that's pretty much like a DLC, but it's a free DLC. So yeah, but in the backstage of it let's say, we can charge the foundation for extending their educational resources set let's say in a funny way. And eventually people who complete that DLC that is specific to, I'm giving some names randomly, Liquity or Aave, they can get access to the DevRel of these protocols. Okay you've completed all these things so maybe you can be matchmade with someone from our ecosystem because it seems that you like it and you master it. So you can think of it this way. And then we can find a way that's mutually beneficial for all the stakeholders in that system. The foundation, the protocol, the users, and the platform itself, Node Guardians.
Excellent, I thought so. The dots were connecting as you were speaking. I was like oh this is perfect. That's what we do with StarkWare, so StarkWare makes a layer 2 scaling solution on top of Ethereum and we have a strategic partnership. And yeah, we can basically like integrate their language and maintain the assets. And yeah we can have some kind of agreements with different ecosystems to basically expand the scope of the platform and benefit to them.
Gotcha. Makes sense, makes sense. And I guess maybe you've been thinking about this or maybe this is further down the line, but a natural like next step since you're developing this character with attributes and whatnot is perhaps a metaverse play where this character is actually in a game of sorts and people can go beyond the Discord chats and chat inside this digital world. Are you guys thinking about that or?
It sounds expensive, man. I mean I don't know if there's some like development kits to easily integrate our characters with the custom, like make them 3D and interact or make some kind of pixel art to have people gather and load their profile into something that's a bit more agnostic. But I was thinking that building something like that would be easier, it actually happened to be very long. And with our actual roadmap and there are already a lot of things that we have to basically cross because we don't have enough resources to actually do them properly. But a metaverse is something internally we often say like yeah, like maybe we should have some kind of metaverse and you can have some dungeons that you can only enter if you've done like that CTF and really push the gamification one step further. But I'm I don't know what are what's the state of the art, like what's available, what are the different frameworks and tools and I haven't caught up on that, so I thought about it but that's it.
Yeah all good, all good. It just seemed like something cool as like another layer on top if you ever get the bandwidth or resources to do it. But would love to, would love to. If someone among the chat like knows what are the different primitives available or like how could this be ported in an efficient fashion into some kind of metaverse while not looking terribly bad let's say, I'm on the Developer DAO Discord too anywhere, happy to chat.
And that's a perfect segue for my next question as we're nearing time here. What is the best way for folks to get in touch with you and follow up with Node Guardians' progress? I have a Twitter which is @samnode_ Sam Node all in one word underscore. I'm going to display it here, my so that's my Twitter and I check all DMs, so if you want to collaborate or do something you're welcome to reach out to me. And I also forgot to say that this month we're going to launch some new wave of content on elliptic curves, self-hosted EVM, governance, flash loans. And the fun thing about this is that it hasn't been done internally, for the first time we have a network of advocates, templars, warriors that are contributing. We just give a scope to make it fit with our lore and make the challenge pedagogically satisfying to complete, but you're also welcome to contribute if there's something you really master and you would like to create an experience that fits the whole Node Guardians questplay and you want to teach it. We would be more than happy to also help and see if it could make it work and make it fit. We have some annoying guidelines and requirements, but also happy to welcome any contributor. So yeah, Twitter is the best way to reach out to me, @samnode_ or the Node Guardians Discord. I'm Sam there, Sam/Node Guardians, also happy to welcome you there.
Excellent. And all of that will be in the YouTube description and the accompanying blog post that will be coming out later this week. And with that, we're basically at time and just want to thank you so much again Sam for coming on and giving us that awesome overview. I know you've displayed a new way of for people to go learn in a fun and exciting way. So really hoping folks on the watching this will go take Node Guardians for a test drive today. I mean I would be extremely happy if you try to hack on the platform and yeah, I'm again thanking you Narb, thanking the chat for being here and for this opportunity to share what we're working on. And yeah, very happy to be here. My pleasure. And just before we end off, a couple of admin things. So I wanted to let everybody in the crowd here know about our operators in the Developer DAO. So did you know that Developer DAO's fundraising operators, Chuck and Wekas, are here to help you fundraise for your projects? In their fundraising hub on the Discord server, you can find support in writing grant applications, learning about fundraising, budgeting, pitching, and they can even introduce you to grant leads from different protocols. So if you're interested in that type of thing, be sure to drop by their office hours which is held twice a week or schedule one-on-one with them. And for as you may have recalled from last week, we are changing the way our POAPs are being claimed. So last week we were going with a secret phrase, which had some issues with people claiming. So this time around, we're changing that in the spirit of experimentation and giving you a QR code, bam, that you can use to claim a NFT on the MintKudos platform. So what you want to do is get your regular QR code scanner, scan this code, and you'll be taken to the MintKudos site which then you'll be able to mint your Kudos as a POAP. So you'll have 30 minutes from now to be able to claim this and we are hoping that this is a more delightful POAP claiming experience for you. So again, you have 30 minutes, use your regular QR code scanner, scan this code and claim your MintKudos Kudos for coming on as an attendee. All right. And with that, we will wish you a very happy Friday, happy weekend and we will catch you here next week. All right gang, all the best. Cheers.
Listen On
Share This Episode
Share on XWatch Episodes Live!
Subscribe to our event calendar and never miss a live episode.
View Event Calendar