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

Loading player…

Walrus Workshop - ETHGlobal San Francisco 2024

ETHGlobalThu, Oct 9, 2025, 12:00 AM

Join us for a Walrus Workshop with Zihe Huang and Eason Chen from Walrus. They give an overview of Walrus that also includes Walrus APIs & developer documentation as well as project ideas. This workshop took place at ETHGlobal San Francisco, a 3-day hackathon held from October 18 to 20, 2024, which brought together web3 developers, designers and product builders from all around the globe for a weekend-long adventure to advance the Ethereum ecosystem! ----------------- Follow us: https://x.com/ethglobal Check us out: https://ethglobal.com/ Email us at: hello@ethglobal.com

Transcript

[Music] uh my name is z i work closely with the warus engineering team so today I'm going to show you how to get started on warus the Next Generation decentralized storage system um and the agenda is just going to be me kind of peeling through the onion going from the easiest way to interact with warus to more and more complicated things uh all the way to an application built on warus which is uh warus sites uh so what is warus warus it's a decentralized bft tolerant uh storage solution uses sui as a orchestration layer uh has deep integration with s move and S object system but that's not really required for you to uh use it uh you can use it with HTTP API with pretty much any programming Lang anguage that you can come up with so uh being a decentralized store system it can uh theoretically be also used as a data availability layer solution that supports a certificate of availability or proof of inconsistency and things that you uh here with the L2 uh evm World um so as as a developer you mainly have two options to interact with warus the first is through uh publisher which uploads your file and a uh aggregator which reads the file that you uploaded uh you can interact with them just with the HTTP interface or with the browser if you're just reading that uh uh currently on testet those services are pretty much free they they're basically a indirection layer that allows you to interact with Wars without dealing with any kind of the key management or uh wallet anything like that you can just directly use it and I I I'll show you how uh so in a more production ready environment you're probably expected to pay a small fee to make use of these uh publisher and aggregators services and uh if you really want fast reads you they they can also provide you some kind of CDN solution there um and the next solution way to use it is to use the war C which I'll cover afterwards but I'll just demonstrate quickly how to use the how to use the warus uh HTTP way of of doing things right so so first thing is we basically set the actual aggregator uh environment variables here so I'm just using my good old terminal here setting the variable aggregator and publisher uh um so the way to use it as as you see here I have an image here right I just call curl commands and with this URL I will be able to just upload a particular uh image there so it has already been up updated uh already certified assist that so there's this blob ID here that's important and that's what we're going to be using to actually retrieve this particular image here uh to retrieve it it's also pretty easy uh curl aggregator I'm going to replace this [Music] particular uh blob ID here so this is just a URL right so any language can do this um so I'm downloading this particular file here and can show you what it actually looks like if I [Music] can if I can actually well anyways uh What uh I think I'm having some trouble with just the overall way of doing multiple screens here so yeah I can I can show you that guys so right so this one's here so that's pretty recent and then if you look at the hacker man I spell it wrong yeah so this one is you know three days ago right so uh now this is the way to just use it with regular old HTTP API uh so I'm going back show you guys how um this thing works yes you can do that as well I can I can show you that if I can uh actually this is just going to download it because it's um seeing that as an OCT test stream so uh but you can play around with it uh more uh after this I can this back all right cool all right cool so uh I just did the demo you can probably go find the how to use it in detail with this uh URL here uh you can also visit our booth we can give you all the uh some of the cards NFC cards with all the resources there um so obviously um there are some user cases when you want to dig deeper when you have more interaction with uh the actual client there with all your uh wallet and all the private Keys related things so uh this is where you kind of use the world CI so it allows you to be able to directly talk to the storage notes with um a sui address and some of the wall tokens there to pay and rent spaces on the decentralized storage Network so the process to set this up is a little bit more uh involved but uh because it's it's it needs to be able to talk to the uh Wars contract deployed on on S uh so we need to install s binary Wars binary and config there uh these are pretty uh self-explanatory once you follow the instructions so I'm you can kind of do that afterwards and ask us questions if you have any uh questions when it comes to installing those things so I'm going to just show you how to do pretty much the exact same thing but on CI here um so if I can do that so for the C thing so this is basically uh oh what's happening here okay so this is the C I basically type of info there just to get some basic information uh regarding uh the wars network uh Epoch here means the day you you rent the space at so right now it's basically one Epoch equals to one day so when you specify the amount of time you want to store a particular blob uh you can kind of use that as a guidance there so uh what we do what we do here is to just do warus store so here you have a bunch of those CLI options here uh the most simple one is to do the same thing store uh storing the same thing right um in a bit it's going to give us some response there yep so the blob ID if you pay attention it's uh the same IDE d as before it ends with EMQ here uh also ends with EMQ so it's says already certified and I'm going to now retrieve this it's a pretty simple thing as well so warus uh read and then you can just copy this because it's deterministic it calculates the file with the raas coding and then uh hashes it right it knows it's the same file so it doesn't um you don't have to upload it again right what if you what if what if you uh upload the file from a different device uh yes it's going to be the same if it's if the underlying binary encoding is the same then it's the same youing or it's more complicated than that it's a eraser coding so any other questions by default how many when you C you can pass option but yeah you can you can pass the epoch option here um by default it's one one eoch for one day correct but you can always set it to be uh more can you set uned have I think if you put it to like 999,000 the the system right now might break but I I don't think uh there's a realistic usage for that yes you could you could if you have enough uh you know wall token to pay for that storage right sorry do you prepa for that or yeah you you would prepay for that you you would prepay but there's also the option to delete it which basically frees up some of your predeposited token right I'm I'm not going to go through delete here but it's it's a possible to manage it's a way to manage your resources not to preserve privacy right because once you upload it it's public everyone can see what it is right so so yeah the question is so for the purpose of the hackathon should the epoch be set to 100 days yes probably 100 is a pretty good um estimate so max okay uh yeah the max maximum size of the file on testnet right now is uh 13 GB per per blop and the cost there I would say for you know 100 Epoch you can foster the the the token there right so so it's paid by wall token uh if you're storing one one just image you're talking we're talking about maybe like 01 wall which is very cheap so so so the target the target price for mainnet is 50 cents per gigabyte per year yes no makes sense very Che yes okay um are we good on time I think we still have some time all right cool five minute I I can show you guys some uh some other cool things here so you're not on mainnet yet we're not on Main net yet it's on test net sorry can you repeat the question what's the allowance for test n storage you can upload anything you want yes as long as it fits within that 13 gigabyte per per file SL blob limit yeah I mean you you you can falset those tokens on testnet right so there there is a rate limit in terms of how much you can false it so that's your limiting factor there something yes it's it's a working test net with with different uh Partners operating these sto actual storage nodes okay cool I'm going to show you guys quickly one more thing um before like so War C just showing that pretty simple to use War store Wars read right just uh go to Doc star wars. site you'll find all the information there uh there's also a Json mode that allows you to interact with it more programmatically so if you have like a programming language that can parse Json pretty easily then you can probably just use this and do this thing with more complicated things right um You can delete object just mentioned there to just to reclaim space um how it works I'm not going to go over this this has been gone over in the video that I uh posted for eth Global so feel free to go there and it has explanation on how exactly it works uh all the things there so water s sites this is something that's more interesting there right so you can so this is a basically an application built on warus that basically allow you to store all of your websites uh contents that the content uh on on warus and retrieve it back uh in almost as fast as um you retrieve like a normal website uh so this is stored through a a portal and what we mean by portal is that it's it's a service worker uh usually on on on your browser that retrieves those information from the warus aggregator so there is also a way to do this thing uh with a server based uh portal uh it's basically have the same uh blob ID there so every time you see docs. wars. site that's it's being served with the service worker but if you go to docs. blob.

store that's store that's basically being served with a server-based uh uh portal so this is just kind of something I stole from the internet on explaining how this service worker or works but I'm not really an expert on front end so uh if anyone knows how this service worker things Works in browser uh feel feel free to ask me I'll pass it to the team there um so as I explained earlier right so there's two version of the portal uh docs. wars. site this one is served through uh basically using a service worker and blobs do store is served on a server uh so some project ideas that you can think of is you know support availability for l2s you know build kind of some kind of verification oracles if you want to go complicated there right and also uh storage of these archival for pretty much any blockchain right uh LS is a pretty generic uh general purpose storage system you can store anything there you want um other use cases include some of the AI stuff that's pretty hot right now training data data set verified things that you wanted to store uh weights uh Vector databases intricate detail there uh can all be stored on on Wars um the possibility I think is endless and I'm really look forward to seeing any everything that you guys are building so um thank you very much uh there is a question yes yes what is the m difference between ipfs and War what is the main difference between ipfs and warus so ipfs does not use eraser coding right so uh when ipfs nodes go down you might not be able to retrieve your file and also ipfs basically out sour some of the storage to third parties it's like file coin that actually stores the thing right um so warus basically has storage nodes natively in the network they actually store your file and if being bft if a third of the storage nodes go down you would still be able to retrieve your file afterwards yes the sites are only static generated content right the water s so are the water sites statically generated content yes those are probably the best fit for that but you can have some of the the progressive web app things like react things hosted on world sites as well they will work U the only thing there that may not work are nextjs sites that uses some kind of server side rendering those may be tricky but if it's mostly static based njs things we do have a workaround so come talk to us on the booth and we can kind of help you out there yes so is there your recomendation for set so can be very different to approach have I I would think that the for for pwa's Progressive web apps uh I think just a native well just pure react that's probably has been tested there's there is an example that is in the resources that we listed on E Global site it's called example dasw sites or something thing go find it there uh as I said the recommendation is to maybe not touch nextjs related things but if you have to uh come talk to us so we can help you out yeah react I I would think so yeah anything that's basically static that can be served directly from uh like a hosting solution that doesn't go through versel or server side rendering so I think anything that has server side rendering that does some kind of you know service and events may not be the best use case yes is it possible to store something from the client side from the browser uh yes if you're your browser browsers can can make HTTP put requests right so you could if you do it through the aggregator sorry publisher it's you're basically putting some trust into publisher right so as we talked before publisher SL agregator they're the outermost part of the warus onion right so they um they are layer of abstraction if you build a website that uses some kind of wallet there that kind of actually pays for these uh things you will need to go like deeper into how um varus works when it interacts with the contract and things so that's more complicated and we don't really expect people to do that in like a 36 hour hack though all right so I think time is up but if you have more questions come to our booth really look forward to talking to you all um feel free to scan this thing to join the wars Discord um and yeah thank you very much [Applause] [Music]

Automatic transcript — names and jargon may be misspelled.