Back to All Episodes
Season 2Episode 57

Decentralized File Sharing with Supercluster Labs

November 25, 2022
23m
2 Guests

Listen Now

About This Episode

This episode of DevNTell features Kai Huang and Gov from Supercluster Labs, showcasing their decentralized file-sharing application designed for decentralized teams like DAOs. The platform utilizes protocols such as IPFS, XMTP, and Filecoin to provide a secure and decentralized alternative to centralized file-sharing platforms. Key features include token, NFT, and ETH address gating for access control, automated pinning of files to the IPFS network, and an incentivization layer for team members who contribute to network storage. The team aims to release a bundled product in the coming weeks, ensuring that anyone who strengthens the network is appropriately incentivized.

Key Takeaways

1

Supercluster Labs is building a decentralized file-sharing platform tailored for DAOs and decentralized teams.

2

The application leverages IPFS, XMTP, and Filecoin protocols for data distribution and storage.

3

Access control can be managed through token gating, NFT gating, or specific ETH address lists.

4

The platform includes an automated pinning mechanism that distributes files across the network for increased resiliency.

5

An incentivization layer is planned to reward users for contributing storage space to the network.

Featured Guests

KH

Kai Huang

Co-founder of Supercluster Labs

Supercluster Labs
G

Gov

Co-founder of Supercluster Labs

Supercluster Labs

Episode Transcript

Narb

All right. GM, GAG, everybody. Welcome to what's going to be another great DevNTell. So if you didn't know, DevNTell is a 30-minute window for members of the DAO to showcase something they're passionate about or have been working on. It's going to be an awesome project we've been working on, demonstrating new testing best practices, automation goodies, smart contracts, how to structure a project, etc. Basically, if you've got a passion for something, this is your opportunity to share with the community. And today, I am happy to introduce to you Kai and Gov, who will be going over their project, Supercluster Labs. Take it away, gang.

Kai Huang

Awesome. Yeah, thank you. So I'll just start with giving a brief intro to Supercluster Labs and what we're trying to achieve, and then we'll hop into the demo. And yeah, if there's any questions, we'd love to hear them as well. But at a high level, what we're trying to do with Supercluster is to provide a very decentralized file-sharing application for that's designed specifically for decentralized teams. So, you know, DAOs, any team within DAOs, or any just really any team that cares about decentralization, our product is built for them. The underlying protocols that we utilize are IPFS, XMTP, and Filecoin. And our goal is to give, you know, teams an alternative to having to use like centralized platforms, right? So they need to share files with their teams or they need to back up any of their existing files. We want to provide a decentralized alternative for them. And we think this is, you know, an extremely important part of the kind of the ecosystem that the decentralized ecosystem because pretty much every team needs some type of file sharing between their team members. And we have the pieces in place, right? So we have, you know, Ethereum wallets, we have IPFS, but what we didn't see on the market was a way to kind of combine all of these technologies together into something that's usable for most people. So, yeah, I think we'll start with the demo and we'll field any questions after the fact.

Narb

For sure.

Kai Huang

All right. I'm going to go ahead and share my screen here. Cool. So because the nature of the application is P2P, I'm going to kind of emulate having two computers on my machine. So I'm using two different browsers and I'll be using two different wallets to kind of show the application. In the middle here, I'm running IPFS-Pin-LS, which basically just shows you all of the files that you're currently pinning. So once we get into the demo, you'll see when we upload a file, it gets automatically pinned. But first of all, we'll go to Supercluster. So once you go in, it will ask you to connect your wallet, obviously. So I'm going to connect with my main wallet here. And, you know, it's going to ask you to connect.

Kai Huang

And once we get in, you'll see a signature request. This signature request is coming from XMTP. XMTP is a messaging protocol, a direct wallet messaging protocol that allows us to send messages directly to an ETH address. And what this allows us to do, but essentially this is the protocol that powers our distribution, our data distribution for the files. So I'm just going to go ahead and sign to confirm my identity. And we'll see here that I don't have any clusters yet, right? So I'll go ahead and create a cluster. Let's name this demo cluster. Cool. So now that the cluster is created, or it's starting to get created, the first thing that you can do is add a list of admins.

Kai Huang

So you'll see here that my main account is AC20. I'm going to go ahead and grab my secondary account and then I'll add them as an admin. And you can add as many admins as you want. But for the purposes of the demo, we'll just add one. But essentially what admins are able to do within your cluster, they're able to invite users, they're able to change the access control type, which we'll get into on the next screen. But they can also remove members if there's a problematic member or you just need someone to kind of not be within the cluster that you're creating. All right. So I'm just going to go ahead and confirm the admins.

Kai Huang

And then this next step is where you can actually choose your access control for the cluster that you're creating, right? So we've defined three here. The first is token gating, where anyone who has, you know, a certain amount of the DAO token that you specify will be able to have access to your cluster. Right. And so what this does is it gives kind of like permissions, it gives certain people access. And only those people will have access to your cluster's files and will be able to pin them also on their machines. So we have token gating. And then the second is NFT gating. So any users who own a specific NFT or has an NFT within a collection will be able to actually access this cluster that you're creating. The third option that we have is just a list of ETH addresses. So very similar to what we've implemented for admins. So for this demo cluster, we're going to go ahead and choose NFT gating, which means that anyone who has the NFT will be able to have access. Let's go ahead and confirm access. As you can tell, we need to work a little bit on the NFT image metadata. But what this is asking us to do here is to choose which NFT that we want to use for the access control. So this is pulling from the list of NFTs from the wallet that you have connected. So I'm going to go ahead and choose this one for the access control. And I'll go ahead and confirm.

Kai Huang

And then that's it. So now your cluster is created. You can invite your team members. You can generate a share link which you can post onto like any message or you can DM someone, and then they'll be able to go directly to your cluster. They'll also be able to, if they don't want to connect their wallet and they just want to see the files within your cluster, they could also go directly there without connecting their wallet. They won't be able to pin anything. So they won't be necessarily helping out the network, but they'll at least be able to download the files that you upload. For the time being, we're going to skip. And you'll see, you know, this is our newly created cluster. So this is, you know, your group or your organization that you'll be sharing files with. You also see here that we have total members. So this is including the connected account as well as the secondary account, the admin that we specified.

Kai Huang

Cool. So over here, I'm going to go ahead and also open up a secondary account. And I'm going to connect with my second account here. Right? So this is essentially the admin that we specified. It's going to ask you to do the same thing. It's going to ask you to sign for XMTP, which opens up the communication channel between these two addresses. And you'll see we already have joined this demo cluster. And this is because we specified during the cluster creation that this account that we are connecting to should have access to this demo cluster. So the user can come in here and then they'll, you know, see the exact same thing. They'll be part of the cluster already. And let's say we want to go ahead and upload a new file. So we'll go here and then we'll just upload this demo text.

Kai Huang

So cool. It's uploaded. And what's happening in the background here is actually two things. So the first thing is that when you upload a file, you're automatically pinning it to the IPFS network. So if I go here, I should be able to see, yeah, so I should be able to see here that I'm automatically pinning it to the IPFS client. Right? So it's already on the IPFS network. The second thing that's happening is once it's pinned, we're sending a message out through XMTP to this user, which is the second member within this cluster.

Kai Huang

Obviously, this cluster only has two members right now. But what will happen if you have, you know, 5 to 10 members in your cluster, the same message, so this is the CID, right? That gets generated when you pin a file to the IPFS network. The CID gets sent out to all of the members within your cluster. And so they receive it. And what happens on their end is once they receive this new message, this new CID, we go and retrieve that data and then we automatically pin it on the receiving end's computer as well. So as you can imagine, since it automatically does this, the more members that you have within your cluster, the more resiliency that you're kind of building into your own network, right? And so if you have 10, 15 users, as soon as you upload a file, the CID gets sent to the 10 or 15 users and they all automatically pin the file to their network.

Kai Huang

So the last thing I'll show here, and this is kind of the core of the product, obviously, there's quite a bit more that we want to do with the UI and making sure that, you know, users can actually open the file on their computer. But the last thing I'll show here is that if you have an IPFS gateway, you can actually just go here and you'll see it's on the IPFS network. Cool. Um, so yeah, that's the bulk of the demo. We, you know, in terms of roadmap, what we're going to do right now is finish the actual like overall package of the product. We have most of the pieces in place in terms of the backend components. And once we're done with it, you know, all this will be kind of bundled into an overall binary. And users will be able to download that, once they run it, it'll run like the IPFS daemon here in the background, and they'll have like a web UI that they can use to actually manage their files, receive their files and see what files that they're pinning and kind of manage their entire system.

Gov

Yeah, this is actually a plugin that's built onto IPFS. So users of IPFS will simply need to download the plugin binary for their version and put it into the plugins directory that IPFS already has. And then when you start up IPFS, it should start up Supercluster as well. So that way you own your own cloud with your own DAO and your own group of friends or people, collaborators. You don't need to rely on any centralized platform. It's just you and your hardware.

Kai Huang

Absolutely. Yeah. And the other thing I wanted to mention as well that's part of our roadmap is the incentivization layer. So, obviously, when you're using IPFS and you're pinning, you're helping your network by pinning files, you know, in your team's files, you're actually using up your hard drive capacity, right? To do that. So in order for us to build kind of this positive-sum ecosystem, DAOs or teams, when they're creating a cluster, along with the access control, they'll also be able to set an incentive layer, so some type of incentive mechanism for their team members. So let's say I'm, you know, joining this demo cluster and it's set to every gigabyte of data that I pin to the network, I gain five, you know, DAO tokens a month. This system, like our system will handle that distribution. And anyone who participates in the system will automatically get those payments streamed to them.

Kai Huang

So yeah, our goal is to create not just a decentralized file-sharing platform, but making sure that anyone who actually strengthens the system or strengthens the network is appropriately incentivized to do so.

Narb

Yeah, this is very interesting. Well done gang. So just to confirm, the way that an end user is supposed to use this is basically download the binary and run it on either their machine or basically a piece of hardware on their own. It's not like a web, like it's not hosted anywhere per se.

Kai Huang

Correct. Yeah. Well, there's two parts to it. In order for you to actually pin files to IPFS, you do need to have a local, you know, daemon running on your machine. And the web UI is, if you use something like Plex media server, it's kind of the same idea where it's like a locally hosted web UI. But if you don't want to, you know, pin things to the network and you just want to access a file, like if you're just sharing like a text file with someone, you'll be able to go to a hosted web UI where we'll host and just download the file. But you won't be like automatically pinning it.

Narb

Gotcha. Gotcha. Makes sense. I guess I'll prompt the crowd. Anyone in the crowd have any questions for Kai and Gov?

Narb

If not, I do want to ask, how did you both end up meeting and how did you both start working on Supercluster?

Kai Huang

Yeah. So we actually met at HackFS 2022 hackathon earlier this year. Но we kind of started off this project with the idea that, well this project actually came from BanklessDAO. So when we're at BanklessDAO, we were trying to figure out a way to kind of decentralize our tech infrastructure, specifically our front ends and making sure that the content that we were hosting was running on decentralized infrastructure. So we started looking into IPFS and very quickly we realized that IPFS is while it's very powerful, it's kind of hard to use because, you know, you had to set up like in order for you to set up a private cluster, you had to like download multiple CLI tools and it just like wasn't very user-friendly.

Kai Huang

And so we kind of had this idea of like, okay, well let's make IPFS easier so people can actually use it whether they're technically inclined or not. And we realized that, you know, it's kind of like a bigger problem, right? Like if we're having if we're running into the same problem, like a lot of people were probably also running into the same problem. So we went into HackFS and we kind of developed the concept of a general-purpose file-sharing platform built on top of IPFS during the hackathon. And yeah, that's where, you know, our team formed and we actually built out a POC similar to the one that we just showed, but it was a lot more I think manual in terms of the backend. So we kind of rewrote the entire backend since then. But that POC we placed second with IPFS and from there we kind of just kept going and figured out like how we can build this into a product that every team can use.

Narb

Excellent. Yeah. That's awesome. And how did you all meet DeShawn because he's the one that kind of brought us all together?

Kai Huang

Yeah, for sure. So I met DeShawn a while back actually when I was working when I was helping out with another project called Radicle and we had gotten hooked up with DeShawn because we're kind of building out our product and he's awesome and we definitely like we really wanted to get his thoughts and his feedback on, you know, our Radicle product platform that we were building.

Narb

Awesome. But yeah, it's been it's been amazing. Love to hear it. I guess I'll prompt again if the crowd has any further questions so I don't hog the whole stage. The crowd does not. All right. I guess I'll keep going then.

Narb

So in terms of the roadmap, I know you spoke spoke bits and pieces on it and yes, it was a great presentation. Thanks Manny. I know you spoke on bits and pieces of it. But that do you have like a concrete next step that you want to take after after today's presentation?

Kai Huang

Yeah, absolutely. So first of all, you know, if anyone here is interested in using the product, either for yourself or your team, please reach out. We'd love to, you know, understand a little bit more about your use case and making sure that we're building the right features for your use case. But our goal is within the next couple weeks, we actually have, you know, this product all bundled up and ready to go. The UI's polished up a little bit more, so it's so it's actually usable. And then we'll set it out in the public and and see how people use it. We've been getting, you know, a lot of interest just within various DAOs that we're a part of on like how they can how they want to use the product. But we, you know, our goal is to like release this in the next couple weeks and see how it actually works out for them.

Narb

Awesome. Yeah, exciting times. Love to hear that.

Narb

And I guess the final question for me, I guess a two-parter I suppose. Is the project currently open source and if so or not, is there an opportunity for people to join join the ranks with you both to help you continue to build this out?

Kai Huang

Yeah, absolutely. So currently it's not open source. But we do plan on open sourcing a lot of the definitely the protocol layer. We're still trying to figure out like what exactly we want to open source and what we don't. But our goal is to make sure that the code is as public as possible, like that's something that we're doing I want to say like at the very least before we launch or right before we launch just to figure out what we want to make public and what we want to close off. But in general, yes, like we would definitely love help on on the project itself and if anyone's interested, you know, please reach out to either Gov or I. Yeah. We we want to first put out a bunch of quality control and a bunch of processes and templates and, you know, standard open-source stuff before we we release it. We also have a Discord server that we can link to here if you want to join us.

Narb

Yeah, sure. Yeah, that would be awesome. I was just going to ask, I guess that wasn't the final question. The final final question for me is how can people follow the progress of the project? Any socials people can follow? You mentioned Discord, anything else?

Kai Huang

Yeah. So Discord would be probably the best place, you know, now that we've kind of got the POC up and running, we are going to be posting regular updates. And then I'll also link to our Notion workspace. We have a public Notion workspace that we use to track, you know, kind of our roadmap items and high-level updates.

Narb

Excellent. Well that's awesome gang. I guess if there are no final questions from the crowd, going once, going twice, sold. All right. But just want to say this was a great presentation echoing the comments in the chat here and thank you so much for both of you coming on. I really appreciate you guys taking the time to demo your your hard work and yeah, be on the look out gang for the POAPs in the chat here and in the general chat. And with that, want to wish everybody a happy Friday, happy weekend and that will catch you all back here next week.

Kai Huang

Thank you guys. Thanks guys. All right gang. All the best. Bye.

Listen On

Share This Episode

Share on X

Watch Episodes Live!

Subscribe to our event calendar and never miss a live episode.

View Event Calendar