New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

Building Usable Decentralized Registries with The Graph – Yaniv Tal

Ethereum DenverFri, Oct 9, 2020, 12:00 AM

This talk is from ETHDenver, the world’s largest Web3 BUIDLathon and Community Gathering. ETHDenver’s content is crypto and blockchain focused. Subscribe to our channel to learn more + connect on Twitter: https://twitter.com/EthereumDenver. Speaker: Yaniv Tal of The Graph Abstract: Most data today resides in silos controlled by corporations. The Ethereum community can liberate that data and unleash an epic amount of innovation. In this workshop, we'll take a look at The Graph's new Curation Starter dApp for helping teams build usable dApps for curating data in a decentralized way. We'll discuss game theoretic considerations, UX challenges, and how this starter template can get you productive and building great dApps right away. This talk was recorded Friday, February 14, 2020. ETHDenver 2020’s content themes included DeFi; DAOs and Token Engineering (TE); Gaming and Usability; Protocols and Interoperability; and Public Good and Social Impact. Industry experts also weighed in on topics like decentralization, privacy, identity, non-fungible tokens, scaling, governance, diversity, and arts and culture in blockchain technology. The 2020 event was February 14-16 in Denver, Colorado and hosted 2000+ blockchain enthusiasts, developers and community members from 50 countries and 50 U.S. states. 🔴 SUBSCRIBE ETHDenver’s YouTube https://www.youtube.com/channel/UCgz9NU06t_FkT0Py1Vadczw 💡 LEARN ETHDenver’s Official Website https://www.ethdenver.com/ 👋 CONNECT ETHDenver Twitter https://twitter.com/EthereumDenver 📖 READ ETHDenver News on Medium https://medium.com/ethdenver 🛍️ SHOP ETHDenver Official Merchandise bufficorn.com 💬 CHAT Telegram https://t.me/Ethdenver Discord https://discord.gg/jteMn5c 📱 FOLLOW LinkedIn https://www.linkedin.com/company/ethdenver Instagram https://www.instagram.com/ethdenver/ Facebook https://www.facebook.com/ETHDenver/

Transcript

awesome so yeah I guess Brandon probably mentioned to you guys that they won our bounty last year at eat Denver so if you build on the graph you might get a bounty and you might get your project funded so that's a fun little thing that happened last year so today I'm going to be talking about some of the bounties that we have today and specifically about this push that we're starting to make to make web 3 real and you know I think you know we've been going to these eath hackathons for a while we've been you know in this ecosystem since 2017 there's a lot of really exciting development going on but we're still not using a lot of DAPs day-to-day and you know we really believe in the ideas of decentralization and we want to see more adapts out there in the wild and so hopefully some of you guys want to hack on this stuff this weekend so before I start it's great everyone here just got a really great intro to the graph I think Brandon actually probably did a better workshop than I've even ever done so so that was pretty cool to see but I'm excited to announce a new feature that we're piloting in beta this weekend so you guys can play around with it it was actually built by D org which got Jordan in the crowd right there but I'm excited to announce that we're shipping graph QL mutations which is a really sweet feature who here is familiar with graph QL hopefully a lot more people now have you ever used mutations before yeah so mutations are graph QL is way of making function calls so you know today if you you want to build on aetherium using smart contracts you have to you know submit your transactions directly you have to maybe inspect the smart contracts to understand how those methods are meant to be called and lot of times you may want a sequence many transactions together and so you know graph QL is just as beautiful API language where as a developer you want to go to find all of the functionality that's available to you and now you can do that directly with mutations so have a play around with it this weekend it's pretty cool so so now with this focus that we're making on building usable DAPs we believe that before we could get the rest of the world excited about decentralization we need to build applications that we within the crypto community would actually use ourselves right that solve real problems for us that you know we'd choose for ourselves that these are just the best apps and the best ways of solving problems and and so our use cases that we want you know are you know working with folks to build our around applications that we ourselves would use so you know the goal is to start by getting to kind of product market fit with an initial set of gaps and products market fit for me just means that of all of the options out there you know this product is a way that I want to you know solve my problem and you know we're doing a big push and our goal is we want to see five gaps with product market fit in the next six months and so maybe some of those ideas can start this weekend then we want to get the crypto community to switch over and we're gonna do a lot of work on the community front and then you know these gaps should be able to grow just based on you know the quality of those gaps and so we've been working on this project called avarice that we're gonna be releasing in a few weeks and it's an example of this type of an application and it's very simple it's just a projects registry and so we want to have every single project that's working in the crypto ecosystem on this registry your adapt your a protocol a fund you know a dev shop we want you to be here and then this can act as kind of like a LinkedIn you know yellow pages for for businesses that are working in crypto and you know something that's very different between web 3 and web 2 is that in web 2 you build like a single application that's like a full silo in and of itself and in web 3 you know all of this data is available on a global API and that makes it so that people can build custom UI's custom applications on top of this kind of global machine so so these are a few of the specific areas that we would love to see people really dive into that we think is relevant to you know everybody in the crypto community and so that's projects people jobs blogs and events and for example who here has looked for a job in crypto awesome who here is hired or look to find other people to work with them awesome who here's published a blog post who's read blog posts who's attended events in the crypto space who's wanted to find out what events they wanted to attend when you know traveling out of town awesome so these are all use cases that are applicable to us and maybe you could think of a way that you could build an app that's better than the web 2 options for doing those things so these are just a few of those examples and so to make your work easier this weekend we built a registry starter application that is a stripped down version of Everest that we think is a good starting point but it's really just a starting point and we want people to you know experiment with this and you know break it add to it change it it's really just a starting point but this is basically a take on the TCR so who here's used like a TCR before yeah not many people but they were all the rage about a year ago and you know I think you know the idea of curating data in a decentralized way is pretty powerful right like you don't want to have these centralized companies controlling all of the data right whether it's you know meet up with events or Facebook with blog posts Twitter with what you read so so really you you want to have the data available in a decentralized way but then how do you make sure that you don't just introduce a bunch of spam and how do you make sure that you can have a certain amount of you know Quality Assurance within that list so we've kind of iterated on the TCR concept and and that's in this registry starter so I'm going to show you what that kind of looks like so I'm just going to be showing this in an envision prototype just so it's you know faster to move around but we've just published this and I'll show you the code in just a bit so this example boilerplate app is for curating a list of tokens but it could be used for anything so in this example with the list of tokens the idea is you know let's say I have a new er C 20 token and I wanted to show up in wallets I wanted to show up your coin market cap these different kinds of places I could come to this like registry and I could add my token here now if my token is a little um kind of like fraudulent token and the community decides hey we don't want this on the community registry there should be a way for them to get it off and that's that like Quality Assurance now this version does not use tokens for curation so the way it works is anyone could come and add a token and yes it might be hard to see but I'm gonna zoom them a little bit so so you can come and add a token or you just have your symbol your name description add a logo so you add that information and right away you can add your token now this registry assumes that there's going to be a listing fee so that's what we do as a spam prevention mechanism so here we have it set to one die but it could be set to anything you want depending on you know how easy you want it to be to add something to the registry if it's totally free to add to the registry it's possible that people are just going to spam it and add a bunch of stuff so now you can see kind of your tokens or you can you know browse the list and it's very simple again just like contract Address decimals but if I see a token and I don't think that it should be on the registry then I can come and I can challenge it so that's the challenge function and the way the challenges work is only people that are already on the registry can vote and the idea there is how do you actually determine vote waiting and how do you how do you do voting and so we have a proposal which is very simple we think that ultimately the way that you need to do voting is using some kind of reputation and there's a question of what the right type of reputation would be and I think that like reputation is a super interesting thing event you know we should all be experimenting with but for this we decided to take the easiest possible form of reputation and and that is just how long you've been on the list so if you've been on the list you know for a very long time you haven't been chow Joff that means the rest of the community thinks that you know you belong on the list and that gives you voice if you've just been added there's no guarantees that you're actually aligned with the rest of the registry members so I vote counts for last and me as a single aetherium address I may belong you know I may have created multiple tokens maybe I've created five tokens and so I can come and I can choose which tokens I want to vote on behalf of so you could multiple select and then you have to give a reason for the challenge so you know they they didn't you know conform to the Charter for this registry and now there's an active challenge on the page so you can see the voting period which you could customize and you can see the votes you can see that you know the you know the votes here and and now any other member of this registry can come and they can vote on this challenge during the period and and at the end you're either you know removed or you get to stay on the registry so this is what we built is like a very very simple way to curate data in a decentralized way you know hopefully it reduces a lot of the friction from TC RS but one of the benefits is you get added right away you don't have to wait for people to let you in for the voting it's a much simpler process and what's really cool about curating data in a decentralized way is now other apps could start to use this so I gave the example of like maybe a wallet wants to use this registry in order to you know show tokens and balances and their you eyes maybe I'm like coin market cap and I want to be able to show a list of tokens there you know all of this data is very relational and so you know if everybody's maintaining their own databases their own registries then we're never going to build web 3 you know if if we can actually get this kind of data where all of the projects are on a registry and they all have stable IDs right those projects can reference the people or the team members that are working on those projects they can reference their jobs you can see what are all of the blog posts that have been written by projects that are in this category right what are all of the dphi events right when all of this data becomes available in an open permissionless way with stable IDs and it's all linked together then you know that's gonna be the point at which this Web 3 thing really becomes real so hope that's you know you know we're gonna be here all weekend helping people hack this is just one idea there's a lot of different things that you know people build on the graph and how am i doing on time you got about five seven minutes yeah I'll do questions before I jump to questions I guess Brandon showed the Explorer but you know it's pretty exciting to see what kind of stuff people are building right now we have this featured sub graph section at the top but you know this is something that we're just kind of curating ourselves and it's really slow we're going to be releasing our launching our decentralized network soon and when we launch the network the curation of these sub graphs is going to be done in a decentralized way which i think is going to be really exciting so we're no longer kind of the gatekeepers for who shows up here but you know it's really cool to see what kind of stuff people are building you know Dharma's building this you know sub graph here for their Dharma die this is you know just updated if people seen the new era Goncourt show of hands yeah I'm super excited about Aragon court I think that thing is going to be rad so they have a sub graph here and it's kind of hard to read the data but now you can see the jurors of the disputes and you know the you know the appeals and all of the you know you can kind of follow along here and this is what they're using to power their Aragon court dashboard so there's really no limit to what you can build on the graph and I hope people have fun this weekend so with that I'll open it up for any questions really no questions Hey the registry code say it's not yes thank you it was it was broken on the Dow site oh it was it I don't know when that dousai got updated but thank you so I was gonna actually end with some links and you can also do a look at some code so it's just yeah definitely always show the links so we're at graph protocol Twitter the registry starter is at our github it's github.com slash graph protocol slash registry - starter that's the link to the Explorer and anyone who wants to compete for our bounties make sure you join our discord and post in a hackathon channel so the example you showed when somebody put a reason that they should be delisted is it possible or is there an ability for the person that has listed that token to defend themselves in the same definition yeah great great question so right now you know that that could be a great addition you know for like a hackathon project for example to say what should that look like maybe integrating like three box comments or something maybe you could have a comment right on the page that would be really interesting I think like discussion doesn't necessarily need to be on chain could be on chain but yeah definitely there should be a way for them to kind of defend themselves one more thing to mention about the way that we're thinking about these registries is that we think of them as separate from actual curation so with curation you're deciding whether something is good or not right you're like ranking it does is this thing good enough to belong in this like specialist and we think that registries should be handled in like a multi-level kind of way so there should be like one registry that basically includes everything that is you know meets minimum community standards and then there should be ways that people can then reference those IDs right that way you're like in the universe and from there people can make their own lists that's like here's my favorite tokens or here's my favorite this so every registry we think should have a charter and like with Everest we're gonna have a charter that really specifies what qualifies as a valid listing and that's something that should be very objective you don't want people I think like voting on something like a global registry to be making very subjective decisions so the more you know clear the the charter can be the easier it is to do the voting and the more alignment there should be is the is the registry starter frontend agnostic like could you build on any front-end framework or is there a specific one that you have to use oh I'm people can use whatever they want let me just kind of show the code a little bit so we have a UI that started using react and Apollo but if you want to use like the contracts and the subgraph and then build your own custom UI totally from scratch feel free to do that Minogue RAF QL is pretty well supported so you should be able to use any framework you want yeah definitely we just want to see people like you know bringing more interesting data on chain you know that's really what that bounty is all about so you know however you want to bring data on chain that's that's good for us and and when we say data on chain one thing I should mention about how this is implemented also is every entry in the registry is using a neat the ERC 1056 standard and then that standard is it's an identity standard and so he lives separate from the registry so you could add a bunch of metadata to that entity and it's not like locked into that registry and so what we do is we just have an attribute that you add that identity with a Jason blob with all the metadata we store that blob on ipfs and and and that way the metadata is on ipfs but it's just you know the hash let's anchor it on chain and with that I think we're gonna have to call it a session all right thanks everyone [Music] you

Automatic transcript — names and jargon may be misspelled.