0xCord
Listen Now
About This Episode
In this episode of DevNTell, Narb welcomes Gilad and Alex from 0xCord to discuss their web3 infrastructure hub. 0xCord aims to simplify the process for developers to provision, use, and pay for web3 infrastructure through native payments, composability, and configuration. Gilad demonstrates the 0xCord platform, highlighting its features such as the Infra Hub, where developers can easily add services like Chainlink VRF. He provides a step-by-step walkthrough of setting up a new decentralized application (dApp) on 0xCord and integrating Chainlink's Verifiable Randomness Function (VRF) both on-chain and off-chain. The discussion emphasizes the platform's ability to abstract complex DevOps tasks, making web3 development more accessible to a wider range of developers, including those from a web2 background. The episode concludes with a look at 0xCord's future plans, including support for more infrastructure solutions and enhanced collaboration features.
Key Takeaways
0xCord simplifies web3 infrastructure provisioning by offering a unified hub for developers to manage services like RPC, decentralized file storage, oracles, and more.
The platform addresses the fragmentation of web3 infrastructure by providing a streamlined process for developers to configure and pay for services using native payments (USD/credit card or stablecoins).
0xCord enables off-chain consumption of web3 services through its RESTful JSON API, allowing developers on non-supported chains (e.g., Solana, Cosmos) to utilize features like Chainlink VRF.
By abstracting complex DevOps and smart contract interactions, 0xCord lowers the barrier to entry for web3 development, potentially attracting more web2 developers to the space.
The demonstration highlights the ease of integrating Chainlink VRF into projects, including Unity games, with minimal code and no need for manual link token management or subscription setup.
Featured Guest
Gilad
Founder @ 0xCord
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 have been working on in web3. This could be an awesome project you've been working on, demonstrating new and testing best practices, automation goodies, smart contracts, how to structure a project, etc. Basically, if you have a passion for something, this is your opportunity to share it with the community. And today, I am ecstatic to have Gilad and Alex from 0xCord, who will be giving us an overview of their product. Welcome boys, happy to have you on. Perhaps you would like to start with an introduction about yourselves, just like your backgrounds, how you got into web3, and what you do at 0xCord.
Yeah, awesome. So Alex and I, we started working on 0xCord last year. My name is Gilad. I've been writing Solidity code for the past five years. I studied computer science at Columbia, been in crypto for a while, worked at a bunch of different projects in the space previously, did some consulting work, started a dev shop, and over the past year have been working with Alex on 0xCord. So excited to share more about 0xCord and web3 infrastructure in bit. Alex?
Thank you very much and excited to be here. Previously, I was leading growth at Ocean Protocol. Before that, I led partnerships and sales at a staking-as-a-service company and co-organized the San Francisco Ethereum Developers Meetup from 2017 to 2019. Excited to yeah, show and share more about 0xCord. Thank you.
Excellent, excellent. So what do you have in store for us today?
Yeah, cool. So maybe I will present my screen and kind of talk a bit about what we're working on. All right, cool looks like we can all see the screen. 0xCord is a web3 infrastructure hub for developers. And so it's the easiest way for devs to provision, use, and pay for web3 infrastructure. So just a quick background, back when I first started writing Solidity code, the hardest part for me in terms of web3 development was actually debugging the Solidity code. The stack traces were really awful, so it felt like throwing spaghetti at the wall and seeing what stuck. And in terms of the web3 infrastructure back in like 2018, it was all very straightforward and standardized. All the tools such as MetaMask, Infura, Truffle, Ganache, they were all developed by ConsenSys, and so you can easily install and pay for these tools with credit card and sign up with an email. And now fast forward like five years, the development has gotten a lot better. There's a lot of tooling and libraries and SDKs that exist that make it really easy to write Solidity code. In fact, I'm sure you guys have all tried out like having ChatGPT write your Solidity smart contracts for you. And so now the hardest part in my opinion about building decentralized applications is the fragmentation of web3 infrastructure. So there's all these different pieces of web3 infrastructure that exist. We're talking about RPC, decentralized file storage, oracles, randomness, identity, gasless meta-transactions, indexing, decentralized compute, list goes on and on. Some of these are centralized, so sign up with an email and pay in dollars, and some of them are decentralized, use a wallet and pay in tokens. And so as a developer, if I'm trying to build a dApp that uses more than a couple different pieces of web3 infra, it becomes really tedious. For each service I need to get a new wallet, get tokens, get gas tokens, custody the wallet, build out these custom integrations, make these transactions and payments, worry about token volatility risk, accounting and bookkeeping, not to mention like the politics of adopting crypto. And it becomes like a logistical nightmare to manage, you know, multiple pieces of web3 infra.
So I used to work at Heroku, and Heroku is a platform-as-a-service. It's a DevOps-as-a-service, effectively. It's a builder-by-decision for DevOps. You don't have to manually configure all the infra in web2, you can pretty much click a button and provision with Heroku Add-ons all the infra you need as well, such as PagerDuty and Postgres and New Relic and Redis. And so we're bringing the same idea to web3. So 0xCord is a web3 infrastructure hub for developers, whereas a developer, we can click of a button, create a dApp, provision all the web3 infra you need, and then pay with credit card. So today I'm going to walk through a quick demo of how to use 0xCord and use Chainlink in 0xCord. So first thing we're going to do is press sign up. So we'll type in our name and we'll do our email and I'm going to get a magic link sent to my email. So I'm just going to click on that. And so once I press on the magic link, I'm going to be brought to the dashboard page. So this is where all the decentralized applications live. So let's create a new dApp and we'll call it DevNTell. And just like that, we've created a new dApp and we can get started with provisioning web3 infrastructure. So the first thing we're going to do here is press add new service. So this is our Infra Hub, so you'll notice a list of all the web3 infra that we offer: oracles, randomness, identity, gasless meta-transactions, indexing, decentralized compute, RPC, everything you might need for decentralized application development. We have a partnership with Chainlink and so we're really excited to have them as the first piece of infra in our Infra Hub. And so what we can do in order to provision Chainlink is press add to dApp, DevNTell, and here we can select development, so we'll select that, that's free. And just like that, we now have Chainlink in our dApp. So the first thing I'm going to do actually is talk a little bit about how to use VRF, how it typically works, and then I'm going to talk about how 0xCord changes the experience. So here's the blog post on how to get a random number with Chainlink. So get random number, this is VRF. And so what we can do is follow the tutorial here if we wanted to. Right, so we'd need to create a subscription on Chainlink, that's about seven steps, create a VRF compatible contract. And so we'll open Remix too, we're going to explain that in a moment too. And then we can start requesting the random numbers. And so here's an example contract that they use. And so this process is pretty tedious, and especially like some of the complications involved actually creating subscriptions and managing the link token balances and payments both on testnets and mainnets.
And so we're really excited to make this entire process a lot simpler. So we're going to jump back to 0xCord, and when we press fetch config vars, you'll notice that we have an API key, as well as a bunch of subscriptions. So typically if you wanted to use Chainlink on-chain in your smart contract, you'd need to create a subscription and fund it with link tokens, deploy your consumer, and then link up the consumer and the subscription and then continuously top it off with link tokens. And so what we do is we give you all the subscriptions that you can deploy. And I'm going to walk through this actually, if we wanted to deploy to Sepolia, we'd copy this subscription ID. So this is the on-chain API, right, to use Chainlink VRF V2 on-chain. So here's an example smart contract from their documentation. So all that we do is press compile and then when we deploy it, we need to pop in the subscription ID. And so you're going to notice that this is configured for Sepolia as well. It should be configured for Sepolia. And so once we press deploy, we'll select the MetaMask injected provider. I'm just going to log in real quick to Sepolia and I'll press deploy. That's going to spin up a smart contract transaction. I'll press confirm and that's going to take you a couple seconds to process. And then once that is deployed, now we can very easily going back to 0xCord, we can link up the consumer, the newly deployed consumer to our smart contract. So we're going to go here, we're going to press here, we're going to select the chain and we're going to press save changes. And so what 0xCord is doing under the hood is we're linking up the consumer to the subscription. And the end user, the developer doesn't need to worry about getting link tokens, setting up subscriptions, managing the correct chains, any of the logistics or overhead. It's really a two-step process. They can deploy the consumer and then link it up here. And so now if we go to Remix, we can interact with the smart contract. We can run for example, request random numbers, and that's going to be using our subscription that we manage for you to make the payments. And so this is a successful transaction call. It's going to take a couple seconds for Chainlink to return the results, but it will return the random numbers and as mentioned, you can pay for everything with 0xCord. And additionally, once you're done, let's say you don't longer want that subscription, you can easily press X to delete it. Not sure why Sepolia EtherScan's not working, but we can do these things on-chain. So if we do get request status, I think it's that one. Okay. So we might need to request random numbers that will give us the request ID. And so we might need to plug that in. So here's the request ID, so we might need to plug that in. And it'll show us that here's the random words coming from Chainlink. And so that's occurring on-chain and it was fulfilled. And so again, this is a two-step process on-chain to consume Chainlink VRF V2.
And so now I'm going to talk about the off-chain API, and this is really exciting. We're excited to be the first ones doing this. Typically if you want to use Chainlink, you're really limited to on-chain consumption as well as chains that Chainlink supports. So if you want to use something like a application on Solana or Cosmos or Polkadot, you wouldn't really be able to use Chainlink for that. And so remember we have this API key here, this is actually the API key for our off-chain API for Chainlink VRF V2. And so the off-chain API is a RESTful JSON API to consume Chainlink VRF V2. And so what we're going to do is we're going to go to our Postman. Everything can be found by the way in our Hello World docs that will be linked on YouTube. And so what we can do here is we can select the production environment, we can specify our API key, and then we have additional parameters such as network. So we can select any network we want, we can do Fuji Avalanche testnet, as well as number words, and we'll press send. And so what's happening under the hood is that 0xCord is making the blockchain transaction, the payment, getting all the transaction hashes, request IDs, random numbers, and returning it to the end user. And so that means that as a developer, it's really only a couple lines of code, so a curl script of two lines of code to start consuming Chainlink VRF V2. And so here we can see the request ID, the transaction hash, the URL and the random number. And so what's really cool here is that the random number that was returned is 88878, and you as a developer can expose this to your end user by linking to the EtherScan link. And so the same random number exists, 88878. So you can prove that these are authentic genuine random numbers that were not tampered with. And so we're really excited about bridging the gap between web2 and web3 as well as making it easier for web3 developers to build these applications.
And so for example, one of the use cases that we're excited about is gaming. And so if we go back here, we've actually built a little blog post about how to use 0xCord's Chainlink VRF API in your Unity game, so that you can use Chainlink for for example RNG or loot boxes. And so here's a quick tutorial, it's about 10 lines of code here, another five for the serialization, and a couple more to start consuming the random number. And everything's on GitHub as well to test it out. But it means that you can build a game and within a couple lines of code actually start consuming random numbers from Chainlink within your game. So that's pretty much it. As mentioned, everything's paid for in dollars, but we also accept stablecoins. We're really excited about web3 infrastructure and making easy for developers to provision, use and pay for web3 infra. We're excited to have Chainlink as the first piece of infra, and so if you are thinking about using Chainlink VRF V2, please consider us because right now for testnet it's totally free and it makes your life a little easier. And we're excited to continue adding more infra to the hub. So that's the demo in about 10-15 minutes. But yeah, thanks so much for your time.
Beauty. Yeah, that's awesome guys. Especially really love the fact that you can have a RESTful API and not have to call a smart contract directly and you guys just abstract all that away. I think that's fantastic and really like that type of approach, especially for us getting that next million or whatnot web3 users. Just making it more accessible like this is fantastic. And a couple questions from my end. So you demoed explicitly the VRF from Chainlink, but are we able to achieve the same thing with say creating a Chainlink application that brings back like weather data? That's the other most common thing I've seen, at least like tutorial-wise and being able to get that weather information from the RESTful API.
Yeah, so that's a great question. We first started off with Chainlink VRF V2, so that's for random numbers on-chain. Chainlink has a variety of different functions, features: oracles, which is the one that you're referring to, how do you get weather data on-chain, randomness, keepers and functions. And functions is a new one and yeah, we started off with VRF but we're excited to, you know, support more Chainlink functionality in the future.
That's awesome. Yeah, I think that would be really cool if you guys could get that going. And in terms of the payments, payments for every interaction. I didn't quite get it. Are you guys covering the gas or the fee rather for that? Or is the billing mechanism paying for that, so you like load your account with like 10 bucks or something like that and then it automatically deducts from that account?
Yeah, I'm going to share my screen real quick just to double click on this. But jumping back to the Infra Hub, right, when we provisioned the Chainlink, it prompted us to select a dev tier or production tier. If we do select production, we can actually pay for it in credit card with Stripe. And so what this means is that it's unlimited Chainlink VRF V2 consumption for $10 a month across all chains, both on-chain and off-chain, that's during our beta. In the future, we will likely shift to more of a credits model akin to Twilio, where you put in $20 in credits and upon every consumption of one of these services, it gets deducted from the balance. But the point is that you can pay for everything in either credit card or stablecoins. And right now we're just starting off with the beta tier, $10 per month.
Gotcha. And can you speak to any future infra solutions that you'd be looking to support? So obviously you have Chainlink as the first round, but what do you envision kind of being added on to this to make it a full-scale one-stop hub for infra?
Yeah, that's a great question. So as a developer, right, for any piece of decentralized application that I'm building, I'll need a couple different pieces of web3 infra, either centralized or decentralized. So for example, let's say that I'm building an NFT, I'm going to need RPC for my application to communicate with the blockchain. I'm going to need probably like decentralized file storage, so things like IPFS, Arweave, etc. I'm going to need potentially randomness or oracles to inform the NFT attributes. And the list goes on and on, right? And so when we're starting off with building out the hub, we're focusing on which pieces of infrastructure are most relevant to the developer, as well as like where is it really hard for devs to start consuming this infra? Where's the demand? And so in terms of covering the heat map, we're soon going to roll out support for things like Infura or Pinata, right, in terms of like RPC or decentralized file storage, where as a developer, let's say you're going to hackathon, you have a new team of collaborators and you can click of a button, create account on 0xCord, click of a button, create a dApp and provision all the infra that you need and then invite collaborators to share the credentials and to easily pay for these services in one spot. And so that's kind of one of our use cases that we're excited about, which is collaboration within a web3 infrastructure too.
Awesome. Yeah, I think that would be amazing. Just really speed up just the old spirit of a hackathon. You just want to put something together as quick as possible, right? So having it as a click of a button, get all that infra set up would be awesome. And I guess with all this work to kind of abstract all that DevOps-y stuff away from developers, what kinds of challenges did you guys face early on when you were building this out?
Yeah, that's a really interesting question. I think in terms of the development itself, right, we're effectively building infrastructure on top of Chainlink VRF V2 initially. And so just understanding like how that works and how to build and integrate with Chainlink and abstract away as much as possible, like there was some technical effort in experimentation to get something that works. I think the interesting thing too is that from a like a legal and operational perspective, it's pretty complicated to be taking in credit card and USD payments and actually buying tokens and making payments in tokens so users don't need to. And so we invested a lot of effort just like talking with lawyers and figuring out a structure that works for us as well as like terms of service and privacy policy that protects everyone. I think also we spoke to 30-40 pieces of web3 infrastructure and everyone on their end, right, so we're developers here but the web3 infrastructure, they're struggling to onboard developers and they're struggling with churn as well where even if developers onboard, it's difficult to retain them. And so we're excited for them to serve as like a distribution channel as an easy way for them to onboard their developers and to, you know, keep them engaged. And so I think we spent a lot of time and effort as well like speaking to web3 infrastructure and figuring out a solution that works for both developers and web3 infra. And so we're really excited because the market for web3 is growing, the market for developers is growing, the market for web3 infra is growing and we want to be this handshake between web3 infrastructure as well as developers.
Yeah, that's great to hear. And I guess is your initial user base more so targeted towards the web3 crowd or have you seen the more traditional web2 person curious about web3 start to use 0xCord?
Yeah, a great question. So we're focused predominantly on web3 developers because that's who we are and that's who the audience that's using web3 infrastructure. However, at the same time, what we're doing is we're building dev tooling, we're making it easier for any type of developer to consume web3 infrastructure. And that also means that as a web2 developer, you have an easier time of consuming web3 infrastructure and bridging the gap there too. And so one of the use cases that I mentioned earlier was web2 web3 games that want to use for example Chainlink VRF V2. Typically it would be very difficult to build a Unity game and bridge the gap with Chainlink, with us we built this easy to use API where you can get a random number into your Unity game. And so that's some positive consequences to what we're building where we are making it easier. And so we're excited to see how that market plays out, right, in terms of gaming, like will games be really excited to use this or not. So far with our partnership with Chainlink, we've seen a lot of positive interest and so we're excited to really double down and explore that and support as much as possible. But yeah overall, the biggest problem is fragmentation of web3 infrastructure and the way that we solve that is with an Infra Hub for web3 developers. And so that's our core focus.
Love it. Excellent. And I guess final-ish question for me before we kind of wind down here. What's the best way for folks to kind of follow up with the development of 0xCord and how can they sign up?
Yeah, so go to our website, 0xCord.com, 0xcord.com it's will be on the YouTube link. Definitely please do sign up and feel free to take a look and play around with our API. We do have a Twitter as well which we'll post updates there too. But yeah otherwise, you know we'll post like contact information or something as well. But yeah would love to support the community however we can and so really excited to hear from you guys and see what you guys think.
Yeah, likewise. Really looking forward to seeing this develop out and I think it's like I mentioned before, just having something as accessible to both like a web2 and web3 crowd, abstracting away that web3 part is going to be a real game changer. And I think that's it's going to be one of those things that really helps adoption. And yeah, like I said, looking forward to seeing you guys build this out even further. Thank you so much for coming on, really appreciate you guys taking the time. My pleasure. And feel free to come back whenever you'd like to have another round when you get more infra support. Love to see the progress on this. Yeah, sounds great. We'll definitely keep it in mind. But yeah thanks so much for having us. Beauty. All right gang and with that, I will now share the QR code in between all of us three for you to claim the kudos for attending DevNTell today. So what you will want to do is get out a QR code scanner, a regular QR code scanner, not one from your web3 wallet. Scan this code and go to Mint Kudos to claim your kudos. You will have one hour from 9:00 AM to 10:00 AM PST to be able to claim this. And yeah, with that, I want to wish everybody a very happy Friday, happy weekend and that we'll see you back 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