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

Loading player…

Group 3 - Judging

ETHGlobalFri, Oct 9, 2020, 12:00 AM

After a month of hacking - teams are ready to share their HackFS projects. Group 3 judges include Scott Moore (Gitcoin) , Aaron Sutula (Textile) , Dietrich Ayala (Protocol Labs). Full list of projects at https://hack.ethglobal.co/hackfs/showcase 0:00 Intro - Kartik 7:08 Fuzzy Ads 15:40 Valist 24:05 Eridanos 32:58 Cadbury 42:48 Libertas 54:20 WFIL 1:02:55 ShopFS 1:13:40 BREAK - 5min 1:20:45 Kotal 1:29:40 The Big Announcement 1:38:50 InterPlanetary Container Registry 1:46:30 PyGate 1:56:38 Padlock

Transcript

show you like this um this is this is the real background i should have known you were in the manhattan skyline yeah this is this is peter thiel's uh uh penthouse they give you free access i think when you go through a fellowship right you just like yeah you get the key yeah right it's been more than two years for you though but like yeah i mean yeah epic you got you you did well enough that you could get you could keep the keys like i was never i just never returned it like it's actually an issue okay i'll stop uh recording so i'll get started we'll keep it up in two minutes you're alive exciting well we're um we're not going live we're recording to youtube and we'll post later so it says it's live but we're just recording we'll get to the background discussion in the post edit you guys are all on your judging links right yeah cool actually i can't i can't answer that for everyone it's not it's like that logician question like uh i assume though kartik actually if you guys want to just quickly um click on one of the stars for fuzzy ads just to contest something on my end yep i i just clicked cool clicked yeah worked for me great yeah we're um we have this whole custom setup and everything it's pretty cool i really like this actually yeah like what did you use to build this you know what you don't you don't want to know you don't want to know some uh jquery and uh um i mean it turned out really well though it's uh even if it was a this was your hackathon project for the hackathon is what i'm gathering basically yeah you that last message in the chat you want us to turn everything off actually panelists you can leave your um your cameras on this is um these are messages now to the attendees who will be promoted to panelists when they become when they do their demos all right 18 of them 18 in the room let's kick this off so uh welcome everybody uh today is our day two of hackingfest judging i'm kartik i'm one of the co-founders of youth global and i want to welcome all of you um on the recording but also on on the attendee list for our hackers to uh to our judging day so um as you know um we're going through this whole week of judging for our hacking visit projects and uh we're super excited to actually show what everybody's done today and for those of you who are not familiar with hackfest over the past month we had 470 hackers from 50 different countries in 19 across working different 19 different time zones i work towards making really interesting projects uh that use the best of tools and technologies available from the ethereum and the falcon ecosystem and uh they spent the last four weeks playing with what's possible experimenting with these uh technologies and then showcasing and submitting a project that um we'll be seeing over the course of today and the rest of the week and uh through all that hard work i'm super proud to announce that we have 132 projects that have been submitted for this hackathon and we're taking today to showcase you a a good chunk of these projects and and going through the judging uh on on this call so before i kind of kick off the actual demos i want to briefly walk into some of the logistics of how the event was set up and how judging itself is going to work and uh kind of the quick highlight here is that there's going to be 13 teams today that will be presented to our judges where each team is going to get four minutes for demoing what they've built and a four minute time for q a from our judges and to minimize any av issues we've asked all of our teams to pre-record their demos so everything you'll be seeing today will be a video that's going to be played with but the q a itself will be live with the teams uh a quick overview how of how the event itself was set up uh every project you're gonna see was uh either worked individually or with a team if somebody was working with a team they could have up to five members in total and as a requirement uh all codes that they had to build and submit for this event uh should have been written at the over the the window of the hackathon itself so everything we're gonna see today was done over the past month and uh the only requirement for these projects to qualify for this event was that they must incorporate the tools and technologies whether it's sdks from our sponsors or the uh the baseline protocols that enable uh these two ecosystems to exist from the coin and the vehicle ecosystem should be used for any of the projects so a lot of cool things we're going to see today are a unique mix of the best of what decentralized storage and smart contracts can do and we're super excited to see what everybody's done in terms of how the judging is itself going to work uh we have five categories here for our judges to rank every project on and uh these categories are going to be on how technical original practical a project is along with how easy it is to use uh in terms of the design in the developer experience board if it's a developer tool and we also have a general category we call the wow factor to do a catch-all for something that we might have missed in the four categories above and before i move on to our demos i want to emphasize that this is not a competition these events are purely here for hackers to learn what is possible with the tools that are available for the decentralized web and the hackers are here to share their excitement for what they've built and learned over the past month and the judges are here to give feedback to these teams and and just to kind of really nail that down not everybody here is trying to become a business we really want this thing to be a place for everybody to experiment and learn so everything you're going to see is very much done and presented from the filter of this is the creativity aspect of it and not the business applications of what this can be repeatedly after this event ends so a quick schedule on how judging is going to go we have these 13 teams that are going to be presenting today and doing the hard job uh for the next two hours are our three judges so i want to welcome scott moore from bitcoin dietrich from protocol labs and aaron from textile uh they'll be here with us walking through all 13 demos and with that i want to call up our very first team fuzzy ads to come on and kick off with their demos so with that let's kick off day two demo number one introducing the fuzzy network a decentralized ad network by being decentralized the fuzzy network can function with less middlemen less middlemen means more profit for us and for the publisher the profit comes from removing many third parties unlike traditional networks we don't record user data we don't need to traditional networks need this data to target ads we'll use an algorithm to analyze the website's data and traffic to figure out which ad to show publishers and advertisers can also trust our data the project is open source and the data is recorded to the blockchain i'm moving over to the advertisers side of things i'll just run through the steps that you need to use the platform the first would be to buy a one-day slot from openc and the second would be to upload slash edit the information for the ad that you want to display in the slot that you bought to buy an ad you go here this is really just a list of the running auctions on openc if you want to buy a slot you'd click here and you'd be redirected to the auction on openc i'm not going to demo this process since i feel like it's pretty self-explanatory once you've bought a slot you would go here to visit basically get a list of the slots that you own and this is how you edit the information for the ad that you want to show within that slot and so here uh so those were just two slots that i had already set up um but yeah if you wanted to say change the image that you're displaying um that is being displayed by the publishers in this network uh this is where you do that and so you'd update the form and then submit the changes what happened here is that basically you would edit information that's being held in a smart contract and the smart contract is what the sdk is drawing from and so this would update what the publishers are showing now we did not get to setting up you know tracking views and as well as the payment channels but basically this is what we envisioned you'd be able to use to see the results of past advertisements moving on to the publisher side really there was only one step and that was to embed the sdk i'll leave this up to elijah to talk about a little bit more what we have here is a link to the sdk which is hosted on github and shows the steps that you need to take as a publisher and then again although we did not get to setting up the payment channels in history we would imagine this page being basically showing a record of the payments that you've received as a publisher on this now um so imagine you're a publisher and this is your site it's doesn't have a ton of stuff on it right now but you want to make some money so what you'll do is you'll add into the head a script which you'll pull in from pinata pinata's ipfs gateway this fuzzy ads sdk should now enable you to pull in to use this web component called fuzzy ad through which you would pass in an ad unit id which helps us identify the specific ad slot that you've created or that you've minted on um on on our platform um and that ad slot will serve the right image to display to the user who has landed on your site which is right now the the file coin um ignite banner if we click on it it should take us to the falcon homepage at which point through a a payment gateway the payment from the advertiser will go directly to the uh to the publisher for having a user having clicked on that site and through this process we've been able to cut out any middlemen who are siphoning data from the user and from the publisher and return all that value to the publisher instead and so yeah this is this is fuzzy ads thanks for watching okay cool um yeah you guys judges you guys can jump right into q a hey everybody thanks thanks for the demo yeah very cool yeah i had a question i'm sorry no go ahead are you jumping in no yeah i had a question at the very beginning uh you said that there's an algorithm to analyze site traffic to be able to determine value can you explain that algorithm a little more sure yeah uh that's one thing that we we envision creating that in the future but it kind of is uh very important to us that the user maintains uh privacy one of the big problems with the current networks is that all of the information that they use to place an ad is based on user information that the user didn't give them they actually took it from them so our thinking is that instead of using user information like the user's buying history and their location and their demographics and all of that we would kind of create an algorithm that would uh scrape website information and analyze the information so contextually it would know what the website was about and then we could couple that with uh information about the traffic that the website gets which we could also grab and kind of create our own scoring system in that way so just to clarify that traffic information is derived from the loading of the ads themselves no that's the traffic information well it could we could use that information to supplement but i think we can also get traffic information in other ways okay so out of band you get information about the website and spying okay yeah just to add to that um uh there's there's explicit information about the ad and the advertiser um so uh the the geographic the information the geographic information about the advertiser would be uh given to us through through the platform um and then from the scraping of the website you'd have some some uh some some uh grouping or some sort of clustering of where uh where in this like high dimensional space that that website belongs in relationship to other websites uh and the and the distance between the relationship between the the ad itself and the information about the ad would be placed in in that context in the same kind of high dimensional space uh to help determine the the relationship or the closeness between the advertiser and the ad and the actual website um that would also contribute to the score cool nice um i i heard quickly in the video you guys are using pinata to store some javascript assets uh load are you are there any other kind of like underlying platforms or tools that you're using that we should be aware of yeah um one of them that we were thinking of hopefully hopefully getting to using was was threats threat db um to to help us store uh the actual traffic information um as well is your is your question more kind of in context of like how would you store the sdk or no just just more just like technically what tools are you using to to build this thing gotcha it's quickly just quickly there's about 40 45 seconds yeah i'm not sure this can just be appended to that question but like the smart contract company in particular like how are you leveraging that in the context of the revenue generation and distribution like just i'm not sure if you can capture all that in the one question but right uh we didn't get to setting up the payment channel part but i just want to know that we're also using ipfs to store the metadata for the ad so the the ipfs link is being stored in the contract and then that's what the sdk is drawing from when it pulls up an ad cool um unfortunately i got to cut you guys off but thanks so much presentation thank you and great thanks guys awesome so the next team up is a ballast um you guys are ready you can uh share your video hi hackath i'm alec i'm zach we're akashic technologies and our project is called ballast which is a software slash firmware slash really any arbitrary binary data distribution system that acts as a secure notary and effectively we're using the ethereum blockchain as a source of truth for the latest software releases that a company can use if they wanted to store it in a decentralized store rather than hosting it on their own server hi hackath using that we can actually in the future file coin networks don't know what happened there sorry so we're effectively using ballast core as the bridge between the ethereum blockchain as well as the ipfs and of in the future filecoin networks and we're also using nexjs as a rest relay and a web ui front end using that we can actually bridge back to traditional systems via the http relay or directly to your web3 provider using the web ui and eventually we will have a cli that will support ci cd pipelines we used open zeppelin's access control libraries in order to establish the different access control features but effectively one is able to create an organization create repositories under that organization and publish software releases to those repositories and then clients can subscribe to those repositories to get the latest release so to check out the api we can actually go to a url that looks like this this is the organization slug this is the repository slug and using this we could fetch the latest metadata and it will return to you the ipfs hash or the filecoin sid that you stored in the future if you go to slash latest on the repository then you can see the latest release hash that they have published and in the future we will actually implement tags uh filters it is almost implemented but time constraints and if you actually go to this uri here on the ipfs gateway for instance you can actually see this is our valis library published here so if we wanted to actually upload another release here we could do so upload it to pinata copy that hash use our good old sid converter copy that and we can even do an npm install so i'm going to switch my screen here my terminal window and do just that and then using this basically organizations can distribute their software on a decentralized repository and run their own relays that they can use then if they don't want to use our first party relay and currently our api is actually hosted on netlify and since it's written in next.js all you need to do is run the relay yourself if you don't want to use our front end and plug in your own web3 provider and if you'd like even your own ipfs node so as you can see it was able to successfully pull the mpm package and install it which is great and the mpm package allows you to actually tap directly into lib and talk to the smart contracts in ipfs and abstracts away many of the features so thank you all right i'm just going to stop that there the couple things i wanted to note just real quick that original architecture is a little bit outdated we are calling ipfs directly rather than going through powergate and at the end there actually forgot to submit the transaction to publish a new release which would then show up in the api um we also deployed ipfs.valis.io to fleeq so you can access the ipfs only version without the api that just talks to metamask and other web3 providers directly and eventually we're going to implement a redirect to a ipfs gateway so that you don't have to manually enter the hash into a gateway yourself that's kind of the idea i really like this idea actually um this is really cool in terms of uh and this might be a bit too specific we can dive into like more general questions too but like the credentialing how are you planning to i guess extend that right now it's using that plan that might be you know a bit tough for enterprises like what's your sort of plan for that in the future yeah definitely want to simplify the organization and repository management as much as possible uh right now we just basically all you need to get started is a an ethereum address um and then you could create an organization yourself you become the administrator of it um the web ui we're intending to abstract away all of that basically all you would end up needing is ethereum um and then from there you could create an organization add other keys to the organization we have different roles organization level and repository level and then events for each of those levels as well so you can subscribe specifically to a repository or specifically to an organization and it we try to follow a similar name space as like github with organization or username slash repository and then fetch any of the latest data there so the idea is if you're an iot device all you would need is a simple web3 filter subscribe to the repository that you need and then next time you get an event you can execute any auto update features so the kind of idea we have for this is that authentication is one of those things everyone re-does over and over again so is auto updates and firmware releases and they all tend to be hosted on centralized servers that could eventually go down anyway so might as well kind of bridge that gap awesome just a quick note two minutes left uh thanks sir for the demo i really appreciate the attention paid to developer experience of being where developers are and how they work uh one of the questions that i had was around it the there seems like there's a hybrid topology here i mean some of that is around meeting developers where they are uh one piece of feedback would be to include kind of the overall architecture diagram and kind of topology of the stack and where the components are and i think that would make it easier to see the changes that you said at the end you said the architecture has changed now and those changes are are interesting enough i'd like to learn more a visual of that might tell a lot in a short period of time definitely thank you yeah we originally came up with that architecture in the beginning and then things kind of changed so we'll we'll definitely be updating that any last questions for things you guys want to highlight it's about 15 seconds sorry 30 seconds i i had a question about uh what were your thoughts from a developer adoption standpoint things like this exist but it's really hard to get the mass movement of people to adopt it yeah definitely uh that's kind of why we went with the core lib piece to abstract away as much as possible so that uh we've met with several people who actually have had this kind of use case necessary and we've seen this kind of thing need to exist a few times so figure why not open source it and see where we could go with it sweet thanks so much guys um awesome uh cool all right so the next project after ballast is eradanos it's a greek name um verifiable credentials on ceramic so whenever you guys are ready you can play your video uh is there audio on this right now yes there's only to be to be there we tested that i try this one wait a second start again [Music] okay um and um of course um uh thank you awesome um just a quick note so the audio was a bit jumbled but i think we kind of got a general idea i'm going to give you guys an extra like minute um the q a to help with any translation issues there so uh yeah you can continue with q a i i saw the the repo phil did can you explain that what that particular component was well this was the first idea how to name the project of course um because the first idea was to um to put far coin support on ceramic but as it turns out this is what the people do anyway and this is why we didn't follow it up and then we came up with that weird name eridanos because oh there's a story behind it it's in the description greek mythology to demonstrate how verifiable credentials can work on ceramic and maybe it didn't come out in the video that well everything is just running in the browser so ceramic is currently at the point of building a nodejs application to build that ceramic network but we actually run the node in the browser so we are losing some parts of functionality because i think the anchoring service is not running right but it's quite nice because now you can use them to to do things like recoverability checks and everything or you can even um revoke verifiable credentials from the issuer by themselves because you can prove that the new document is not what has been proven in the first place in the um in the document you mentioned a few challenges that you ran into just like for for example like um to like clone and build the portfolio modules like the remote system stuff i guess i'm curious about like can you dive into a bit more about like um like how was how did you resolve that challenge of making this work on like remote systems you mean like cloning the repos on remote systems or do you mean like yeah yeah exactly that's quite quite funny i mean of course you just get sub modules for that and then you bind everything together in your github repo but then we had to we're using fleek co for hosting and then you i mean fleek has has has to build all this stuff and fleek has to get all the dependencies this is actually quite straightforward but of course you have to write all the build scripts so and you you always have to pull all the upstream stuff because ceramic is also proceeding at the same time this gave us some hard time because they also advance quite a bit in that way that we're doing for example the idx protocol this is what we're really excited about but i think they're not really concentrating on the vc aspect of it they're more concentrating on the schemas and uh yeah we try to to take as much of them as we could but uh the vc stuff is really unique to us i guess we're at the eight minute mark so you have your extra one minute now um yeah i mean are there any other questions better ones because what was really hard was like binding i mean ceramic is a three box project right so it comes from the makers of three box and uh now the three box people are moving over all the stuff to ceramic but this is not really compatible in that sense so you cannot just use the identity of three box in ceramic even though it looks like that so you could use the identity that's injected but unfortunately ceramic is not able to resolve that this gave us quite a hard time so this is why we're doing a little trick here i explained that in the video in the beginning um this is not supposed to go live at any time but we're pretty proud that we're doing it that way so it's completely decentralized in some sense yeah i like that it nudged it a little bit closer by running running in the browser it gives the end user an app developer a little more control it's nice absolutely cool awesome well um your video is just aside um great demo thanks guys thank you thank you um cool so the next group up is cadbury um i'm going to be playing the video for cadbury so i've seen bits of the video the first minute is particularly interesting um cadbury's open neutral borderless decentralized and censorship-resistant meetings so it's kind of a video pack and they have a video that demonstrates their video in the hack so i'll get it set up and then start the timer okay everyone can see this we're good let's go here's to the crazy ones [Music] the misfits the rebels the troublemakers the round pegs in the square holes the ones who see things differently they're not fond of rules and they have no respect for the status quo you can quote them disagree with them glorify or vilify about the only thing you can't do is ignore them because they change things they push the human race forward and while some may see them as the crazy ones we seek genius because the people who are crazy enough to think they can change the world are the ones who do huh what's up so did you find it difficult to join the meeting hi so smith no it was frictionless very smooth right right so i'll explain how this meeting is working so basically what happens is that there is a signaling server that helps my browser to discover your browser and once that event has happened the web rtc takes over so all your video audio and your data that is your chat and the other artifacts get directly streamed to you so it's browser to browser and it is handled by rtcpr connect and rtc data channel i'll send you some chat here i use and i'll also try to send you one image too so see how seamless it was so basically what we are making is that uh whenever four or more peer joints our mesh networks get set up and these are like every audient audio are transferred to everyone we have discovered that we need to come up with a protocol wherein these signaling servers these fcus and mcos all of these can be decentralized once we have this protocol it can power everything light can power meeting it can power streaming it can power ott platform and it can even power broadcasting platform and these our protocol would be actually complementing the lightbear2 and the filecoin protocol itself it's really amazing product demo can you also explain me the exact mechanics of how it works in the form of slides let's and go to slide then sure then bye so i use vlc meeting mechanics here our front trend is on reaches and internally uses raw client-side webrtc we establishes mesh network for all our connected players we have come up with our own custom signaling server that can be linked and deployed to heroku in within a single clip signaling server handle all of the ic and sdp candidate and gives control to webrtc the web rtc then handles peer-to-peer audio video or data streaming why rtcpr connector rtc data channel we are hosted on ipfs via flick utilizing unstoppable domain our ratings are handled by us ethereum smart contracts and our meeting artifacts goes on the file coin via textile power gate so future work we need performance stability and decentralization so we need to come up with the protocol wherein we'll have this signaling servers mcu's sfus transcoders orchestras as an actors complementing the file coin or the liverpool protocols okay um so yeah open it up for q a uh go ahead yeah i i'm i'm super excited that the signaling server is off to the point that people put to the decentralized service and think about is the afterthoughts the centralized part so the fact that you're picking up the single eye server signaling server and uh leaning in hard on how to solve that problem and adding more decentralization more value to it maybe even standardizing that pattern i think is exciting can you talk about what the of of those remaining centralized parts how how are you how do you look at have you looked at ways that how to distribute or break apart the centralization aspect of signaling server that one point that connects those two pieces right so hi guys it's nice to meet you all so basically we have looked into those features how do we decentralize a centralized component so it was quite obvious so if we see to scale up a meeting we need to uh have a sfu that is selective forward unit or mcu to scale up the meetings and even the signaling server so these are kind of central component and if we we had looked into live p2p webrtc also so even like p2p is using some kind of signaling mechanism right so we do we can take inspiration from live player protocol so what like it does is that they have an orchestra and this orchestra is directly responsible to handle the transcoders right so these transporters are not protocol aware so only these orchestras are protocol aware right so whatever our suppose if we keep a mechanism if we come with the protocol wherein these orchestra would be responsible for the service and the availability of signaling servers and the mcu's or the sfc now these orchestra can work parallelly with the orchestra of the live gear also and this can also work with the textile power gate also to like all of the meeting data that is being generated can be stored for the further uh like uh kind of meeting uh like youtube for meeting that has already happened so that can be picked up from those so it's like kind of orchestra model so the orchestra would be like protocol aware but these signaling servers and all of these would not be protocol aware right so but orchestra would have to stay within the protocol and he has to be responsible for the service and the availability of the all of these signaling servers sfu and other services so this is the we are approaching and we are also looking for some suggestions also there's about a minute and a half two minutes left did you find um working with the web rtc tools are are they were they basically just exactly what you needed or did you find that there's any anything you'd need or want to change about that stack of technology in order to make it work better in this like decentralized solution rpg has played a very good role because from browser to browser so this perfectly goes into our case now uh for signaling also we are using kind of web software generally so we want to ship this architecture to the live b2p webrtc and like p2p web sockets too so uh regarding web rtc as of i don't think we require any improvement it handles pretty much good well that's great yes can you so you mentioned you're pursuing in some sense a similar model to live here like that's like one of your down the road sort of goals can you i think you may have described this a bit but i i'm not sure i caught it can you elaborate a bit on that uh sorry i didn't get your question [Music] like so for for like a question yeah like for i like how are you i guess addressing scalability and like it sounds like you're you're pursuing that in a similar way to life here is that is that correct no so we actually would be complementing livestream protocol so if you see libraries actually designed for broadcasting protocol so in our initial approach we wanted to build decentralized application on top of live protocol so we actually contacted the co-founder eric of the so he himself recommended that rtc so live here is actually designed for one too many broadcasting systems so it has a bit of a lag and meeting is kind of its dynamics like it should be real time even a two second lag cannot like it's not up to the mark so we had incorporated live protocol also so the protocol that i am dispatching that would be uh there it should be like it will be handling the sqls and the signaling servers but this can this orchestra of the ncos and sf you can directly talk to the orchestra of the library protocol so all of the transporting mechanism can be posted so we would that's why i said it could be complementing life here and complementing file thanks so much guys for the demo thank you it was nice meeting you all thanks guys awesome so next up on the live stream we have leigh barthes um censorship resistant to centralized social network uh i'll let them take it away with their video and uh and then we'll do q a right after just quick check is it meant to be audio or no audio okay i'll give you i'll give you an extra couple seconds to kind of figure out the audio introducing us making your world unstoppable libertas is a decentralized centership resistant social network allows creators to create and share videos and articles interact with their audiences via live streaming and talk to anyone anywhere via p2p calling libitas is powered by the community and it brings decentralized governance in the hands of the creators here they can vote for new proposals take down videos all by the community and for the community libertas brings the censorship resistance the ui and its data is deployed and replicated across ipfs fleek pinanda and textile making it decentralized it also makes the dns decentralized bringing in and deploying it on unstoppable domains it is also accessible via door making it privacy focused and truly unstoppable let's jump right into a demo right off the bat as soon as we click this all we see three options videos live streaming articles and calls i'll talk about each one of them first we've got videos here we can see the videos that have been created by the creators on the platform by clicking on any one of them it will take you directly to the video page now this has been built in a way that there is no direct interaction of web3 until and unless you have to fire a transaction so as soon as you're watching the video as soon as you hit play there should be a transaction that fires that lets you view the video now i've already watched this video so it won't ask me to pay for that stream again but what happens in the back end is as soon as i open another video that i haven't watched yet it loads up that video from ipfs creates an ad that has been sponsored by the video as soon as i hit play it fires in transaction via meta mask to create a stream directly from the advertiser to the video creator or the content creator and that stream is brokered by the libertas contract now here you can also view view the video you can see the number of views you can subscribe to the creator as soon as we hit play it fires a transaction in the back end and it creates a stream via meta transactions now the second thing let's talk about articles all the articles that have been created by the creators on the platform simply click on them and it gives you a full markdown experience where it fetches the article from ipfs and renders it completely without the need of any interaction with web3 so if i were to copy the link of the article and paste it in a non-web3 browser it still works you can also tip the content creator if you want and similarly you can view the entire article experience without the need for any interaction so it gives you seamless web experience now let's talk about live streaming live streaming setup is pretty simple all you have to do is click live and you get a control panel wherein you can enter the title of your stream enter the title duration the time period whether it's paid or not the rate at which you want to earn and simply hit update stream what happens here is that it connects to a pure js node in the back end and gives you an id you can simply copy that id and share it with anyone you want to be allowed to join your live stream similarly you can click on calling calling works in a way where you can in a simple fashion wherein you can connect to obviously appear in the network and as soon as you connect it to the network simply copy it and if i just open up another window again so this would be another person that you want to talk to i simply will now give my permissions copy my int hit call accept my call and boom we connected on both sides so this was libertas making your word unstoppable thank you well nice video guys um like you mentioned i'll give you an extra 30 seconds because of the audio thing um so you got four minutes for q a that was a that was a that was a fully featured uh solution is really interesting i can imagine there's a whole lot behind that can you talk a little bit about what the what what what are there centralized components you mentioned pure js in there what were the challenges in in putting things like signaling servers or or pjs or some of these other things onto places like fleek or possibly centralized uh so the primary issues that i faced with the uhds is that once you are actually developing on the platform they give you good important servers so that they are the default component servers that actually create connections all around so that was act that actually gave me a very disturbed connection which wasn't really stable so i had to set up my own standards so i have a couple of them running right now which actually connections all across all the network so this actually helps me scale up the network also because the live streaming part and the peer-to-peer calling part is actually powered by the same web rtc servers so it allows me to actually connect to any you can participate in as many people as you want but they can also be quite and uh similarly uh one of the things that i primarily wanted to do was actually to have a seamless directive experience but at the same time having the entire stack decentralized so as uh the storage here the ipfs and the data itself are deployed over ipss they are replicated for pinata the data is stored in textiles uh textile buckets so we've got the entire storage they're decentralized we've got [Music] you anonymously in a sensitive resistance manner so let's say even if you don't have yet to publish a transaction on the blockchain uh i'm using biconnect transaction infrastructure so you don't even have to worry about yeah go ahead go ahead what i saw the in your advertisements demo uh the advertisement was shown but kind of without the user's consent how does a system like this avoid the weaponization of advertising against uh dissemination of information problem that we have today so rather than actually having the advertisement show up in a sort of an algorithmic fashion we give creators the power to actually choose the advertisement so if i was an advertiser and i want to show my advertisement on your video i sent a request with my entire ad so as soon as i create an ad now it's up to the content creator whether or not they actually choose to show that in front of their videos like their video so what this allows us to do is that let's say if i as a content creator decide to take google as a sponsor and show their ad beside my video now because that ad cannot be changed once published i know exactly what this thing showed beside my video and rather than having the accountability with the entire platform we give creators the power to actually monetize their content so as soon as you click the video a stream is created directly from the advertiser's account through the accounting pages account using savior so that creates of that use money or it's a at the rate at which the advertiser decides directly to the content creator for as long as the video is being watched so as soon as you go away from the video the stream stops and it sends the transaction we have to stop the transfers and those components are built as well right you built that yes yes we have time for one final quick question is there any um concept of discovering your social contacts or have you do you have any thoughts about how to do that in the future it's something i've always seen as a challenge when it comes to uh decentralized social networks so so the way that i try to do it was i have a smart contract with the main primary there with a smartphone and then there's another contract that the smart contract itself calls so as soon as as i as a content creator publish a video the smart contact itself calls in another contract which released all the event handlers so what this sort of does is that it anonymizes the subscriptions in a sense if i am subscribed to create a creator people can't really see that i am subscribed because the event of subscription was actually fired by a different smartphone so it actually uses the message send the problem to its advantage and uh anonymizes where the actual transaction is coming from so the discovery happens in a way is that if i am subscribed to five content data whenever those content creators create a video that event is fired so i'm able to correlate my address and my subscriptions and with the data that is fired by the smart contract so as soon as i know that another creator actually published a video for publishing an article i can actually get a notification on my phone using ebns or any other new videos um i gotta end it there but thanks so much man for the demo um thank you thanks cool uh so the next group up uh is building um wrapped file coin so uh this is actually one i'm kind of quite personally interested in seeing how this all works uh it's something i wanted for a personal project so yeah wrapped filecoin let you guys start it off hi we are teamwrap fs i'm a nazareno and i'm christian we worked on abrupt filecoin we thought was a great idea for such a many application in defy and would be cool to be seen as a collateral maker dial or to be swapped on unit swap to site a few for the first iteration we opted for a custodial approach uh where by leveraging on textile powergate api we created a custodial wallet on the back end and also we implemented an erc20 token deployed on kovan also we implemented a file coin wallet like metamask for for filecoin uh so now chris let me show you a quick demo well starting with our ui we have this approach to our a simple wallet where we can create a new address right we get the token which is a like the private key and the address we can check balance which in this case is going to be zero right and we can send file coins to any other wallet now we can check the balance of another account that we already have created before where we have 0.995 filecoins right now we are gonna use our ui also to wrap some of those uh filecoins into rapidvikin right so here i can say that i can grab 0.

01 filecoin right the wallet that i'm going to use to grab is the one that i've previously copied and the extreme address where i want to receive my file coins my rapid ficons is this one so when i hit wrap i gave we gave the user the instructions to send those 0.01 filecoins to our custodian wallet right like this so now we can head to the wallet and send the desired file coin to that wallet so we want to send to this wallet the amount 0.01 and the private token of our account which is this one right so when we hit send we get a success message now we have to wait for the transaction to be confirmed it's just a confirm we can see the transaction on ethercam also just to mention that the user interface has been deployed on ipfs via flick and also we are leveraging on lotus to talk to filecoin nets right where now we have the 0.01 rapid ficon minted we can see on our metamask we have already received those 0.01 okay now we can take some of those graphic file coins and unwrap it into five coins again so in this case we can say that we want to unwrap 0.

02 rapid file coins and the address then where we want to receive our file coins okay so when i hit on grab this is gonna save me that i have to connect with metamask right and what's connected now i can see in the transaction we'll ungrab those files we wait for the transactions to be processed and now it's process we can see also in in on etherscan now and we have the we get the success message now if we check our balance and see that it it went from 0.08 to 0.06 so now we have unwrapped our 0.025 and our balance has updated uh thank you for watching nice youtube recommendations at the end um yes you guys have four minutes for q a yeah i mean definitely this is super necessary what sort of are your next steps like the custodial piece obviously is one that comes to mind but what else is so yeah for the next step we would like to work for develop further the project uh towards a new custodial approach by leveraging on file coin smart contracts so having like a fully decentralized application any other like ux or like major changes that you foresee or is that kind of like sure yeah after that you're sort of in place sure i forgot to mention that we we would like to work also on the wallet filecoin wallet to create like a metamask for filecoin so to wrap um the code into a plugin for chrome to easily access filecoin testnet and uh mainnet as well this ui wallet was very like initial approach for for testing the the wrapping and wrapping but our intention also is like a separate those things for for the wrap and grab interface yeah either i think the the main question i had was in the the custodial part of it it seems like uh like as far as i understand that falcoid smart contracts are a little ways off uh getting you know this is a great way to kind of demonstrate what the potential power is well then can you talk a little bit about what the hard challenging part was from a smart contract development standpoint from this mark what do you mean like ethereum or uh in general yeah like the ui seems pretty the ui seems pretty like easy to follow rap unwrap yeah i guess maybe my question was like well what what was the hard part and where's danger sure the the hard part i just uh will just intro the hard part what was like uh to check for transaction on on file coin so we were first using uh text type power gate api we couldn't find a way to watch for a transaction and then we we used a lot of snow to do that so if you yes once we get to to to use the lotus node and actually read the transactions we figure out how we can like actually listen for a given exact transaction between two address then uh like get the message and and see the details of that message to see the actual value that have been transferred so we can actually mint the token in in ethereum network that was the hard part because at the beginning we was we were like using a power gate but like there is a no no clear way to find and read all the transactions in that sense so we have to take the power gate for the for the front-end mpi at the wallet api and use the the lotus node to to read the actual blockchain of icon yeah that's really great you guys figured out how to do that and it's something i'd like to add to powergate so i'll keep in touch with you guys and we'll make that happen you have to teach me more about that thanks thanks for for your support uh was excel of course awesome thanks guys for the demo thanks thanks all right so uh quick note after this next project we're gonna take like a five minute break uh give the judges a chance to kind of collect their thoughts and also me a chance to make some coffee and so just a heads up on that so next team up is shop fs they're doing an interactive ipfs ethereum marketplace so if you guys are ready you can uh share your screen and get the video going alright also a quick note on these guys the video is a bit longer than usual so the q a will be a bit tighter than usual so just maybe think about the questions a bit more during the video all right let's go hello everyone so today we will be presenting our submission shop fs a decentralized data marketplace so here is our team now we'll straight move in to our introduction lately we have seen the user adoption across web3 has been phenomenal and there has been a need to have an end-to-end solution which involves monetizing and we hope that shop fs can fill that void and uh lately this is the trend that's been for the data market size and as you see from 2011 it's rised linearly so let's move into the our value proposition firstly enable creators to monetize their content using decentralized technologies then we have a very easy to use ui ux for both parties and a subscription model on top for a better user visibility and social profiles so that you can identify the sellers and the buyers that you want to interact with so let's move into the architecture of the tap now so we start off with our shop fs smart contracts which are directly in communication with save year eib 1640 contracts to cater our subscription model needs then we have seller and buyers each of them running a fleet space demon instance at their end to cater to our storage needs and then ensure that the buyer has private access to the content that he buys we have a key management service which is monitoring our smart contracts so this is our text app we use feedspace demon to store files in private buckets and we use graph protocol for querying data we have three bots for social profiles and a subscription model we use saved here contracts yeah so we can move on to the demo hello guys this is the landing page of our application you want to make it very easy for our users you just have to upload a file describe it and they can start earning fees for it first step is to upload a file uploading a book on dowse so in the background the file is being uploaded using free space even file is successfully sold now you can go to explore trade and see all the files for sale then you can go to the file details page and buy the file this involves two transactions and the file is bought now i can download the file file gets downloaded locally space daemon and the local file location will be put up on the display i can see my files which have put for sale files i have bought and my subscribers i have no right now my subscriptions if i have any and i can update my subscription info the minimum number of days the user must subscribe per day so i confirm the transaction my subscription info has been updated any user who subscribed to me can download any of these files without having to go through the steps of buying it before that click on the subscribe to subscribe here's the amount of days you want to subscribe to minimum number is five i said before so let's say i want to subscribe for 10 days that means i have deposit can die right now so how it works is we use safe layer contracts in the background the contract will calculate how much dive per second the seller must get and accordingly stream that money over the 10 day period subscription is created if i cancel my subscription midway the contract will automatically calculate how much money is the seller owed and how much money and get back at that particular point of time the seller can withdraw money from the subscriptions now i'm logged in as the seller so i can see that this person is subscribing to me for a duration of 10 days and started on this particular day withdraw i just have to create a transaction we also have docs where the user can see some usage manual for any support we have a discord server where users can get their queries resolved stands for uh pairing with us throughout the demo what we plan is to have a dao which will manage the development of the product the tower will also be used to curate content we also plan to have a fee model where we can charge a small fee which will go straight into the development coming on to the roadmap so currently we are here a shop fs mvp on drinkingbee and we plan to have a decentralized key management structure currently we are using a centralized service around this thanks a lot i wanted to say thank you for being the first project so far that's had an architecture diagram uh it really helps from being able to figure out what the different pieces are and things like that have a few stack lists but uh it's nice to be able to visually see where the flow but i'm really interested in the streaming payments part of that um and i haven't really seen that that before or right about it uh what from an implementation standpoint does this just charge periodically does it come back when you say streaming how often are these transactions what happens when transactions are delayed or uh when the wallet runs out so how it works is uh you first you we calculate uh how much the total amount is and then the contract automatically divides it per second of the total duration and every second it's basically calculating how much so at any point when the person actually wants to withdraw that's when the calculation happens and then based on the number of seconds elapsed the contract directly sends the money to the person who asks for it when you cancel it basically whatever is remaining at that particular term time is transferred so it's like almost escrowed and then and then pulled in when the the recipient chooses to withdraw yes yep yeah so we didn't implement that that's that's already there by saying we just used it yeah so you just have your funds locked in you know uh you know in a stream for a duration where two parties agree and uh the recipient can withdraw you know any time during the stream or uh the complete amount after the stream ends and uh the uh seller or the buyer on the other hand can cancel at any time and based on the amount of the duration that has passed you get your funds at running is there any aspect to this project when it comes to data validation data provenance kind of you know uh verifying the origin of the data and that the data you're downloading you're buying is actually what you think it is any any thought to that yeah so what's your plan is to have a dao which will help curate the content we still haven't thought that too completely but we want to have curation as an important part of it i was actually asked about the dao that's perfect yeah we have a key management service as well which is you know monitoring the smartphone patch 247 and whenever a buy or a sale takes place so the seller and the buyers signature first is verified and all the files are getting uploaded you know in an incremented form to fleet space demon so the files are secure and only the the buyer will have the private access once he is signature and everything is verified so we aren't showing that i did like also thanks for the second project that actually had a local host url uh instead of uh centralized being the centralized hp url in the demo so thanks for that one of the questions i had was around space daemon is that something that's reasonable to expect for to uh end users to install people who are buyers uh yeah so it's a tricky one yeah so actually we have faced a lot of issues but you know while uh throughout our hack uh there were some issues while on different os and all that and currently if you see you have to install it locally right to run it but we are in talks with the fleet team and they are like we are in conversation and they said that they are moving towards a remote thing right where you don't have to install it so that's the only yeah so we are in conversation with them and once it's done we will you know move on to that uh we just shift there basically yeah we also tested uh hosting the space tv on ourselves on our server it's working but we haven't demoted fully yeah we tried to include that option as well but there was trade off okay we have time for maybe one quick question i guess it's a bit broad but like what are some of the challenge major challenges that you faced in building this particular type of application like when it comes to a marketplace like i said like a decentralized market place especially like what what were the biggest challenges from your perspective i just keep the answer around like 30 seconds or so i think the biggest challenge was sharing the private key like with the buyer in a decentralized fashion we still yes we're using the centralized service right now as a centralized kms to share the key but we are looking at options how we can share it in a decentralized manner yeah we had planned to use three bots but there were a lot of sinking issues uh while you know joining the confidential threat awesome thanks so much guys thanks thank you guys bye and sensible so as i mentioned earlier we're going to take a short five-minute break um i prepared some slides um well a slide so i'll put that up but yeah judges feel free to take it take some time to like collect your thoughts maybe take a break whatever we'll be back at 1 56 eastern so in five minutes [Music] [Applause] foreign [Music] [Applause] so [Music] okay we'll get started again in just another 30 seconds minute or two as judges come back i got my coffee i don't know if you guys had a chance to uh get your own kind of snacks or anything yeah i actually just got my coffee also definitely needed today cool but one thing also um yeah this trick no for for you guys i know you guys already know this but for anyone watching and maybe in the call all these projects are listed on hack.youthglobal.

com hack fs slash showcase so for those interested want to see the more detail see the code see the you know a replay of the video all that stuff is available uh you just search by the team name and right now it's pretty bare bones the view but uh the next uh there too we'll be adding a few more features to that page so it's a bit more interactive and easier to navigate and uh cool okay so it looks like all of our judges are back just to confirm uh you guys are all good to go sweet um okay let's get the next team uh kotal so right the next team is kotal just to confirm kotol mustafa that's that's you right yes i'm here sweet so yeah whenever you're ready once you get the videos set up i'll start my timer and we can we can keep going all right you shared it and then i'm sure there you go hi everyone this is kotal kotel is cloud diagnostic blockage operator does it make it easy to deploy self-managing self-healing blockage infrastructure on any cloud so what is the problem we are trying to solve the problem is most of the developers are using centralized ibfs gateway and noodle service instead of deploying their own infrastructure in production so in a syrian blockade chain for example most of that traffic is flowing is true and furious and if inferior goes down or go out of business this dab will stop functioning so what is the solution we are trying to build the solution is an open source ibfs gateway and model service we are building it in cloud diagnostic way so it can run on all cloud out of the box like aws google google cloud platform teen cent cloud alibaba cloud and openshift and we are vertical agnostic we are supporting ethereum and ibfs and will continue to support other blockchain protocols and we are also multi-client software for ethereum for example we support go israel high vallejo visual and verity syrian or open ethereum here are some examples of what you can do with kotel with kutal you can deploy an ibfs swarm on multiple clouds in different regions and each ibfs node has different profiles applied and different node size you can also create a multi-client ecm network that that is deployed in multiple multiple clouds in different regions and each node using different clients like syrian hybrid bazoo or variety ethereum this is our roadmap before hadley phase we have supported ethereum during hack effects we have supported added initial support for ibfs ib physics world and after hack fs we'll continue adding more blockchain protocols like filecoin e3m2 and adding user interface and middlewares and this is time for a demo so here is an example of a swarm ibf swarm so we have extended kubernetes to make kubernetes know what is a swarm what is the same network etc so this is an ibf swarm that has three nodes node one node two and node three we have also forked ibfs to make go ib phase start with regenerated private key to get this identity so node number one start with private key and apply to profile server and flat fs root number two apply different profile low power and flat fs and use different resources not through note 3 is start with different storage resources we will go ahead and apply this swarm and manifest once we apply this manifest kutel operator will react and will create this three node swarm for us as you can see this form is upon running we will forward the traffic from our machine to node number one [Music] we can send an api to node number one like what are the swarm appears and we get the result of formboard number one we can send another api like what are the buttons to appears and we will get a list of all the bootstrap years and finally we can go to the browser and open the ui of node number one as you can see we can just see the status of mode number one we can see the files see the beard and modify your settings of node number one thank you for watching awesome great video um there you go four minutes for q a that that that seems super super useful not that i want any of my nodes running on the specific cloud providers but the ability to quickly change between them gives me a little bit more control in those uh in in those those market dynamics so exciting is a fantastic idea and a bunch of ops that are be very interested in learning more about this a little feedback also thanks for making very clear value proposition at the beginning of your slides it really helps when the judges are trying to figure out what you're doing and why um so that's uh positive feedback on on that too for you what what was the was the challenging part there's a lot of coordination of distributed topology here what was the the hardest part to implement yes the hardest part is like i mentioned running on multiple cloud providers and scheduling multiple nodes in multiple clouds and multiple cloud providers and establishing the networking between this was the hardest part one quick note like there are a few people i guess working on like it's a very important i think um problem to be solving it seems like there's a there's a few people working on that are you familiar with any others that like like i guess maybe this is a question that would require some diligence on my side too but like are there others that are pursuing this and i guess like do you have a sense of like and i know this is not necessarily product related how this compares and like you know the number of providers is obviously a key point but other other major sort of architectural choices that you made that you think stand out in this context a lot of solution i was there trying to achieve the same goal like dab note for example but does not require specialized hardware but kutard has no specialized hardware requirements and uh we try to cut down the requirements or abstraction to zero destruction like we we don't need any hardware at all we don't we don't have any cloud provider requirements they just require a kubernetes cluster you would deploy kutel operator and what you want like how many how many uh nodes you want and what is the client running on each node what is in outside what's the abi you want to activate and that would everything from in a self-emerging self-healing way so if not goes down it will run it back for example in e3 m2 if the validator goes down it will restart it back and it will make sure it's highly available like in multiple regions how how critical was um the existence of ipfs cluster in order to to make this a useful tool uh i'm wondering just kind of like thinking forward towards your file coin implementation if you imagine there also needs to exist some kind of like clustering layer for lotus or any file coin implementation or maybe that exists i don't know about it just before you answer that it's about one minute left ish so just see where so we haven't started the file coin implementation yet so we don't know what are the challenges we might face but so far with ibfs and implementation was was quite easy the commission is very clear and uh it didn't take so much time for us to implement ib phase orchestration does does the existence of the cluster api and ipfs is that uh so what we have done really for what you're doing no so what we have demo is ib physics warmer ib phase and cluster side if this swarm is a bunch of node connecting to each other and uh but they are not they are not necessarily have the same principle ib cluster on the other hand they have the same being said and they have the same oh yeah okay yeah thanks for the reminding me of the distinction there yeah so as i mentioned the demos are in in during hacker phase we have added ib faces form but nikki so what we are working on right now is ibf's cluster cool um it's just part of the eight minute mark so thanks man for the demo and uh if you're answering any questions thank you all right so the next team has an interesting name um the big announcement so uh yeah i'll let them let them go ahead with their video and uh eight minutes video q a hi i'm brian hi i'm amy we made a project called the big announcement we're new to distributed application development and by interest in building distributed publishing platforms this project is a prototype designed to teach us and others the basics of app development with web3js and jsipfs in this video we're going to give a quick demonstration of this simple project the big announcement is designed to be the smallest distributed application possible that one uses web3.js two stores data to ipfs three locates data using unstoppable domains and the ethereum name service for has no centralized dependencies it is a media platform that displays a single very important message and any person in the world may replace that message by bidding more ether than paid for the previous message that's the whole thing pays the most displaying a message to his universe let's give it a try okay let me load our web page so right now it is querying ethereum for the message and then querying ipfs for the full contents of the message all right so a few seconds it has loaded the contents of our message and now we can go edit the big announcement and this is the slightly more complex part of the application and what we have here is we can add a message and it shows us the current value of the big announcement this is what the last user paid to upload a message to the big announcement and for us to upload a message we have to pay a slightly more value in ethereum so the message is in markdown and i'm going to add a message now okay now when i submit this what's going to happen is it will spin up a js ipfs node upload our message to ipfs then it will take the content hash of that message and call our smart contract and change the value of the content hash in our smart contract while also paying a small amount of each deduction so if i click submit we will see some status messages as the thing does its work and now i have to confirm with meta mask and now here's the part that might take some time while we wait for the ethereum transaction to go through even just um testnet yes that right we're running this on the robson testament so now we go back and we can visit the main page again and we'll go through the same process of querying ethereum for the content id then loading the message from ipfs and voila it's a very simple publishing platform that is distributed has no back-end server dependencies and is essentially unsensible pretty cool yeah good this was your first time building something in this so isn't much of a product but more of a teaching tool we are going to polish its tiny code base such that it can be used as an example for beginner d app developers we're also going to blog about our experience building this project for more about the big announcement or to try it yourself check out the link below i was so convinced that was the end of the video but uh no i was yeah so like i'm really curious what were the major like learnings that you had going through this process like if that's correct that this was your first time sort of doing this like what what did you learn what did you really enjoy about it um and of course as we've talked about what are the challenges you run into sure uh great question because honestly this was an extremely frustrating experience uh and we blogged about it and there's if you go to our links you can see exactly our frustrations um but at every step of the way we found ourselves being a little bit annoyed at something or another uh the initial difficulty we had was just understanding which technologies to use for our use case and as you saw in the video we ended up using the most basic technologies just the baird if ipfs and web3 like we didn't use anything fancy for the most part we didn't use any of the sponsors products sorry except for fleek and unstoppable domains um as we were hacking uh a big credit problem we ran into was the documentation for these fundamental libraries like js ipfs and web3 uh were head gaps in them like uh where we had to just use our intuition to figure out what we were supposed to do between one step and the next step and i think for experienced to javascript developers we came in knowing some web development and some javascript development uh a lot of people would have been able to fill in the gaps themselves but there were a number of places where we just spent hours spending our wheels figuring out like what to do with some npm instruction or something like that and the js ipfs stocks specifically i think were a little frustrating to us because there's not a lot of tutorial material and the ipfs spec is like a platform language independent markdown document that doesn't really have it's not connected to the jsipfs library that we were actually using um ultimately though we do feel a lot of satisfaction that we completed our mvp with all the features we intended to so we feel like we've learned a lot i've taken so many notes thank you uh and i'm gonna go read that blog post i have a question what's the end game where does the money go who's the final message yeah so uh this is like not really a product um it's more of an art project and a prototype and a test like once we get on the main net if people find it and start throwing money into it awesome uh that money will probably go to our pockets someday but if like this never gets any eyeballs on it then who cares you know it was a good learning experience um in the end like right now we don't have a pinning solution uh we just throw it into the the throw the message into the network and like just just pray so a real product which we may continue to work on would have some kind of distributed pending solution it doesn't require us to sort of like directly have a call a server api and money would go to that i had another question i really love that it's a teaching tool that's fantastic how are you what is your approach to parlaying what you learned into enabling others to be able to to cross those hurdles and bridge those gaps in a way that uh they can learn from your experience like i see that also with this question maybe keep it in like 30 45 seconds answer because we're around the end point but keep going great what we're going to do is we're going to keep this project as small as possible we're going to flesh out the source code that it sort of as beautiful as possible and well commented handles the error cases and we have a nice nice reading that directs you to all the parts of it and then we're going to have basically a blog post or maybe a tutorial that says like here's how you build this thing and then we'll post it to various interested forums and it should be like a standalone little piece of tutorial awesome thanks guys that was a really fun demo thank you sweet um so i think we have four or five projects left um and the next one is called go image uh it's an image file management platform so uh whenever you're ready uh yeah you show your screen and i'll start the timer actually liam uh we've switched order the next project okay planetary container okay sorry about that there's a change okay yeah interplanetary container registry um like docker hub but it's play decentralized all right so yeah my name is yael cesanko and i'm excited to introduce you to my hackfast 2020 project called interplanetary container registry the ultimate goal of the project is to build a decentralized version of docker hub during the hackathon i got hands-on experience with ipfs and documented a way to push docker images to ipfs and pull images from there i also built a simple web front and to promote those images and their attacks let's jump into the demo here you can see the list of the images published to the container registry this list is fetched from ipfs using the javascript implementation of the ipfs protocol when you click on the image you see a short description and a list of image tags description and tags are also fetched from ipfs on the right you see commands that should be run to pull the image from the registry let's try it out first i download the image from ipfs using ipfs get command then i load it using docker and that's it now let's see how to push a docker image to the registry first let's pull something from docker hub then i create a directory for the image and tag i also save a short description of the image finally i save the docker image to the tag directory now i publish an updated version of the container registry after that i have to update the registry cid on the front end it is required only because dht implementation in javascript is still incomplete and not stable and i could not get ipf edge result working in a browser redis docker image is now pushed to interplanetary container register so under the hood the container registry is basically a hierarchy of ipfs directories and files the registry name you saw during the demo containers.junko.dev is published using ipns and dns link the web frontend is built using the javascript implementation of the idfs product as future work i want to build a tool called ipcl this tool will manage container registries and will allow to push and pull darker images easily and effectively i also realize that it's not necessary to have a dedicated web application to browse the container registry instead the rpc requirement can render a static website that represents the registry and its contents every time you push an image that website should be also published to ipfs it would be also cool to support dot crypto downlines for registry urls you can check the live demo on flick as well as at the lsidanco.com i learned a lot and had fun working on this project thank you so much for this opportunity that was cool thanks can you uh one of the questions i had was was uh something we asked a previous one about data provenance and trust what are your thoughts on a trust model for pulling down images yeah i think so i used dns link and ipns to publish my container registry so it's it's effectively tied to my dns that i own but to move it further i think we can use also unstable domains and to also publish container register names there and resolve them using the ipcr2 i just wanted to clarify the the command line tool you talked about building in your next steps yeah that would kind of replace the need to use um like the ipfs command line directly yeah sure okay yeah cool so my goal was to figure out the simplest way to put images and their metadata to ipfs and without building anything on top by just using existing tools and then from that i can go and build the dedicated tool on top of docker api and either ipfs lite i mean embedded version of ipfs or using the ipfs node running on local machine you have any uh thoughts or concerns about uh like was mentioned in the last presentation pinning the data on ipfs are you doing that yet or i kind of see some really cool opportunities for actual hosts that are downloading images to also pin them to make them available what are your thoughts there yeah that's a cool idea i think yeah should we have another um minute and a half or so do you anyone else have any last questions uh it's interesting because there's a there's like a private registry space kind of here and the opportunity for public registry space but there's not really yet coordination around that global registry space have you thought about ideas for that yeah initially i was was thinking about like a global registry space but then i realized to make this thing fully decentralized it would be really great to just let individuals and organizations create their registries and publish them and one good thing about bill about pushing a static website instead of just having the web application is that we already have search in the search engines that are working with ipfs and i hope those static websites will be discovered by these search engines and people can find can actually find docker images that are on ipfs i love that little detail too i think that that would be that's great also that gives that static page gives you kind of a vector to be able to do that coordination communication without having to be centralized right pretty neat yeah probably we can also use maybe textile the db or orbit the way to further track downloads or maybe stars or something um any last comments or okay cool thanks so much man thank you all right so um we have two projects left pie gate padlock and if we can get go image back we'll have them but uh up next is pygate and uh pi gets building a python interface and tools for follow coin using textile so um yeah without further ado i'll let you take it away this is pygate a python interface and tooling for the filecoin network it's built with powergate grpc and flask for the hack fs hackathon the pygate project team has two goals the first goal is to bring powergate into the python community this is a february 2020 survey of over 65 000 developers and python is overwhelmingly in focus given these vast possibilities our team reasoned that there would be an acute need for tooling which will expose powergate and filecoin to the enormous and influential python developer community data science machine learning web applications and many other innovative software tools rely on the flexibility and consistency of python to help them solve problems for people around the world currently there exists only javascript and go libraries which are able to interact with powergate to leverage these new opportunities for content utilization our second goal is to create tools upon which to build applications and experiences pygate provides these developers a set of tools to effectively build their next project solving big problems on top of the filecoin ecosystem in order to achieve these goals we created three products the first is the pygate grpc interface a python library for powergate the second is the pygate web app a flask reference client for powergate and filecoin and third is the pi gate api a flask asynchronous http and websocket api for web applications building on the grpc definitions provided by the textile team this library allows for python to drop in support for filecoin to any python software we're happy to be able to provide this to the community it has near feature parity with the powergate interface it's actively powering the pygate reference client it has developer quick starts and several examples and the best part is it's available on pip right now the pyga grpc package makes the endpoints of the powergate api to the filecoil network available as python methods these are being used in the pi gate web app to demonstrate basic powergate functionality in a python flask application users can upload single files to the file code network via the powergate api they can also upload batches of files or they can select a batch of files and choose to upload it as a tarball package users can search for already uploaded files and retrieve them from the network all the deal negotiations handled in the background powergate uses the filecoin file system concept users can add new ffss and make them the default they have the ability to change configuration settings and push them to already uploaded files using that those configuration settings users can track wallet balances a new one is created for each ffs and they can also review a log of all pi gate web app transactions and error reports in addition we'd love to discuss more about our learnings feedback to the protocol labs and the textile teams our team and the next steps for pygate thank you okay um uh somebody who comes from a background in devrel i i don't care about what language is some developers favorite i care about total addressable market so and i've really been missing python stuff in this world so very excited thanks for tackling this challenge uh also it seems like a really a lot of uh care towards idiomatic pythonness and developer tools and it's just that overall dx uh seems really nice like you put a lot of thought into it so uh kudos for that also uh one of the questions i had was around like what are the what are the what is the missing piece uh like is it is this a i'm not a python community person at all like what do you think the biggest challenge is from bringing uh tools like these and platforms like these into python right so um essentially you know we have a few next steps um and what we're looking to do is to include this as part of the textile offering right so that textile is able to either help us or manage the the custody of this library and generally speaking that's one of the the major points for any software project is to have reliable documentation and to ensure that it's sustainable going forward so i'd probably let's say that's probably one of the biggest uh aspects of that yeah very i think we solved one of the major problems for python development okay so you can hear me i think one of the major problems we solve for python developers is that they don't have to deal with protobuf messages at all that's all abstracted away in that grpc client so if as as the one that was working on the web app reference client i could just i'm just dealing with python dictionaries i don't have to deal with any of that so we saw the major kind of hurdle there already and that's you know that's our major contribution um and as far as other pieces like you know the the reference app is there it's for the people to build off of flask is the most popular mini framework out there in the python community it's got you know thousands of thousands of developers so it speaks to them already and um but and we've started work on this web api to solve the issue of long-running tasks against powergate and filecoin deals which is also going to be a major i think a boost for python developers looking to implement on top of filecoin is there um well i guess first let me just say like thank you for doing this work i mean um on the textile side of things we are this is exactly the kind of thing we love to see happen with a project and you know moving forward we definitely want to get feedback from you guys about how we can keep this development going and make it as smooth as possible um yeah yeah so thank you for that um one question i'm just curious uh is there like a in the web application is there like a javascript client or something that's communicating with the flask back end or how are all those interactions happening and the communication between the the front end and the back end i'm not familiar with python web development much so there is there's a bit of jquery in the cloud just a little bit for some of the stuff you saw in the demo like just for like the upload button and a little bit like but for the most part that's in flask it uses jinja templating it's jinja's very popular in the python world as well it's used in django as well so flask has templating built in and so that's all being handled by flash templates it's like it's it's a web framework in that sense like it handles it gives you the all the tools to do to do web template templating and then you can add your own javascript on top whether that's plainville javascript or most commonly it's some kind of jquery and we use a little bit of that and and bootstrap so bootstrap is just the basic you know for the css layout we use bootstrap there so that combination is very common in the flask world one other thing also but all the rest of it is sorry all the rest of it is just it's just uh python methods in the in the flask routing um routing scripts that are then talking to powergate and via that grbc library so the grpc library is used throughout every time it's making a call and going all that file upload and download is all using powergate and it's for the for the deals and the checking the wallets um and changing that config is actually pushing it through um through powergate um doing that that config push um that's all happening through the grpc client uh scripts that we are now i can just use playing a python to do that with we only have a couple of seconds left but no art you had a comment we'll let you make a comment and then we'll wrap up sure yeah thanks no problem it basically it's just that yeah we do have to use some javascript uh especially when we're working with api um using the sockets uh but yeah like uh peter was saying a lot of the heavy lifting is done by the the interface to powergate um and through the python library cool thank you awesome that's a cool deal guys thank you thank you so much awesome um next up i believe is padlock um there are you know calls a lot of you guys um so yeah i'll let you take it away vacation i'm just sharing my screen hi everyone this is padlock secured by secret network enables monetization for content creators on the decentralized web it is a tool for a variety of use cases like digital rights management access control and key management in this video we will demonstrate how privacy preserving secret contract enable unique capabilities with programmable privacy so to begin in this hack we asked ourselves how can we monetize content on the decentralized web in a trustless way because as a content creator if i have content on ipfs the only way i can monetize it is by encrypting it say i promise you as my consumer if you pay me 10 die i'll share my decryption key to my content with you but this can't be done on an ethereum contract because the decryption key state of the contract will be public so how can we program sharing the decryption key worth privacy of the payments with secret contracts we can because we can store the decryption key as the contract states so how does this work the idea is to use secret keys which are stored in a privacy preserving secret contract allowing users to manage or program access control by selling private keys that unlock their encrypted content using the privacy preserving features of secret network and the decentralization of ipfs on filecoin there is an opportunity here to create new capabilities without middlemen on web 2.

0 content platforms our demo will now go into how one piece of content can be uploaded and sold to one user at one time here's how that will play out as a creator i can go to the app using fleeq for hosting the web app get an auto-generated secret address anonymously or create a public profile using three box for managing profiles secret keys and secret network credentials upload new content on ipfs and filecoin leveraging text styles powergate for ipfs hosting the graph for indexing add metadata for the content and have that metadata stored and pinned on ipfs by using pinata set price for the content ethereum is used as the payment and data layer keeping a log of all creations and buy orders metamask for ethereum wallet use the content would be encrypted by a secret network public and private key pair fetched from the app's secret vault contract lastly we added an unstoppable domain for the project as a buyer i can see a preview of the content in the browse page paying crypto receive the non-fungible token in my ethereum wallet to access keys on secret network there's also the oracle watching purchases and white listing buyers on the padlock secret contract currently we are exploring various integrations with existing media platforms and publishers although we built a web app for this demo our hope is that padlock will function as a widget built into those applications overall we are thrilled to release this example of a secret app running on secret network interoperating with ethereum and we are excited to continue working on this project hopefully this will empower content creators to realize their potential on the decentralized web awesome i really like this i'm curious in terms of integrations with individual platforms how are you approaching that and are there challenges with like individual types of platforms in terms of those integrations um i guess i'm also curious about how the widget will compare to the web so yeah basically oh sorry go ahead okay um basically right now we have a simple smart contract on ethereum which provides a receipt in the form of a non-punchable token but you could imagine other non-fungible tokens being used as the the purchase so when you buy a non-punchable token that would unlock the encrypted content and and so other platforms uh such as you know the the art tokenization platforms like super air known origin maker's place etc or you know music streaming platforms like audience um even virtual reality platforms like crypto voxels you can imagine a similar applicability for any of those because of the the you know flexibility and generalization of the secret contract we've implemented got it and then as a follow-up can you talk a bit about that contract and how secret works in that in that order yeah so it's it's a simple way to store and manage private keys in a contract so the keys are generated using your secret network account which is a separate key pair and it you know enables those keys to be managed in a trustless way which you can't do in a contract on ethereum because it's public essentially they have encrypted inputs outputs and state relying on trusted execution environments uh within our nodes across the secret network i can go into more detail but awesome no i'll i'll stop there and let others ask some questions oh yeah thanks for the demo really really nice video that the design of the site is really nice as well i also was super interested in learning more about the secret network uh this is definitely from a feedback perspective this is something that would a visual i think of the overall architecture would would really help tell this story a little better there's a lot of moving pieces it also seems there's some clever pieces in there that i'd love to learn more about um but there's just not really a lot of time here so uh but but kudos on i'm trying to solve a really difficult problem uh that i think a lot of content creators and kind of platforms are gonna hit yeah that's great feedback we have about a minute left so i i do have a question uh from a you know well where does this keep going it's just keys all the way down right keys to unlock keys to unlock you and and from uh from uh from your learnings in this project how have you thought about either like a a pattern or protocol or approaching like or publishing some type of standard to get i guess more adoption of this approach with regards to access control and decentralized management not in depth i haven't um but yeah the idea is the ideas has been there but yeah i have to know the answer to that yeah so um actually we uh like all the decryption stuff was kind of last minute so we we had the kind of a problem with the decrypting data uh just due to encoding okay so uh if you see uh the last few seconds of the video uh the output text file was kind of you know had unescaped characters and things like that you know that's why we had to test with the text file it was easier you know a lot more tolerant to that kind of change you know with the an image file you just get a broken image uh so we just need to like do a lot of testing and come up with the appropriate solution for the encoding issue um you know other than that building an open platform using textile tools uh so i think uh we had a lot of challenges there and uh you know textile tools are us when you're building something like private spaces like for example if you're building a decentralized dropbox uh they would be really awesome to incorporate but the problem we had here is building a platform where you could share uh one single in one single ffs instance with many users okay so then it becomes problematic because you then anyone would be able to like push new crt configs and you know just ruin the platform for anyone else so there's an issue here you know just uh i think it relates to textile coming up with like more complex icl types to support that kind of complex interaction with multiple tiers of access but i think this is like yeah there's a lot of in like room for uh growth here and you know becoming a you know a much more um like full-fledged product yeah if this is something you guys continue working on definitely uh get in touch with us because it sounds like um the problems you have are things that we are also trying to solve so definitely collaborating on that as well good work awesome right so sorry i read about uh textiles uh coming up with like more complex ico types and is a right way for that for a threaddb i think so it would be very cool if you just get a heads up on that yeah also thanks for the demo guys thanks a lot yeah thank you okay so um i guess actually with that um the one team that uh wasn't able to make it unfortunately go image we're done for the day so um yeah thanks so much guys for taking all the time to judge all these projects thanks to all the participants any of that are still on the call watching also um or watching their reporting this has been a lot of fun um we are doing these all week as we judge all of the i don't know what the total count is now but uh quite a large number of hack fs projects and uh yeah thanks so much thanks a lot thanks everyone bye

Automatic transcript — names and jargon may be misspelled.