Decentralized Graffiti Drawing Tool Demo

EthStaker Workshops and Technical Guides · January 2021 · 10:33

This EthStaker workshop demos a decentralized graffiti drawing tool, showing how a collaborative canvas can be built on blockchain infrastructure so that contributions are recorded and attributed on-chain. It walks through the tool's interface and the mechanics of adding to a shared piece of art. The demo positions the project as a playful, hands-on example of what decentralized, community-created art can look like.

Topics

From EthStaker Workshops and Technical Guides, hosted by Eth Staker.

Transcript

hey everyone colfax from eastaker here as well as sam graywizard hello everybody and we are here to show you a really awesome tool actually that one of the other community members uh ramyrond has built it's a decentralized graffiti drawing tool for the graffiti wall and beacon chain and we're going to do a quick demo to show you how to set it up and specifically we are beginning to organize a collaboration to draw an image on the graffiti wall for the rocker pool launch which is coming up soon so we are about to launch uh send out some information for how to participate in our test net

to sort of get prepared and then when the actual launch happens we'll release some more information for how we can all collaborate together for the rocketpool launch to draw some pretty awesome art on the graffiti wall so without further ado i'm going to jump in to the demo and one thing worth mentioning is we might actually be handing out some poe apps as a as being part of this drawing project as well which would be pretty exciting so we've written a guide to sort of show you how easy it is to set up this decentral decentralized graffiti drawing tool i want to again shout out ramirond uh for building this he did a great job there's a bunch of other features in

here and this actually can run as a standalone uh application outside of rocket pool today we're gonna focus on how to configure it with rocketpool but i encourage you to check out the tool and even use it for other drawings you can sort of take the tool and you can pick an image and you can sort of move it around on the canvas it'll spit out some settings and it'll you can share those settings with your friend and you'll be able to uh to collaborate on a drawing together so what we've done is we have picked an image and we have a set of settings which we're going to share with you once we're ready and what i'll show you now is once we've put that information out there you can configure it to actually draw use your rocketpool mini pools

to actually collaborate in the drawing so it's just a few quick steps we put together this guide i'll just go through step by step and configure my mini pool for you guys so first step is you want to make sure that you're running the latest rocketpool client so i just updated this already so i'm not going to go through this but go ahead and do that if you haven't updated already next we're going to pull down the docker image that ramiron has prepared for us so a little bit of information about the architecture of how this actually runs there is a separate application this decentralized graffiti drawing application that we're going to spin up in a new docker container

that will be managed by rocketpool and that application is going to basically be picking pixels at random that need to be drawn and sending those to our validator node and the way that that works is when your validator proposes a block as somebody participating in it then that is when you get an opportunity to draw that pixel on the graffiti wall right exactly yeah so it's it we're using the graffiti section of your validator and your graffiti only gets sent when you propose a block so not for every attestation but when you actually propose a block so here we're just going to run this first command docker pull looks like it pulled the latest image

great so now tell rocketpool to run that application alongside your validator open up the docker configuration file let's see here using nano cool and add the following at the bottom of the services section after the watch tower config okay let's scroll down services i see here [Music] let's look for watch tower all right here's watchtower so probably right here so i'm just going to go ahead and copy this paste there we go looks about right for those who don't know how to exit

nano it's ctrl x and then y to save and then hit enter so now configure your client to accept dynamic graffiti from the decentralized grinder application so i'm running nimbus right now let's see how do we check that actually it's a rocketpool yeah so if you don't know what client you're running um you might have picked random if you run rocketpool's service version will tell you what client you're running so we're running nimbus another shout out to the nimbus team for working with us to allow nimbus to accept graffiti pixels on the fly it wasn't supported before but they worked with us and now nimbus is actually able to receive uh graffiti updates mid-flight through an rpc

call so that's how the decentralized graffiti drawing application uh communicates you don't need to worry about that but it's it's awesome that they could crank that out so quickly and so configure this to basically accept the graffiti so for nimbus we're actually all set um but if you're setting up for tech or lighthouse there's a small change you'll have to make and so i'll just show you that but again i'm running nimbus so i don't need to do anything but for teku you open up for teku and lighthouse you open up the validator search script so i'll just do that and again i'm just copying and pasting the commands right out of the guide um so feel free to do so as well and then

find for teku you basically scroll and you find validators graffiti i believe it's at the end and you would remove this and replace it with validators graffiti file and then this this file here again lighthouse you'd also look for this graffiti replace that with graffiti file here so pretty simple simple change but i didn't need to make any change for that since i'm running nimbus and it's already configured to to accept and now we basically restart rockable so let's do this we'll only be down for a short second so

we won't be penalized probably really at all if we don't miss an attestation and now rocket pool service start and as you'll notice here rocketpool is spinning up an additional container called rockapool graffiti that's a result of the configuration we did earlier here and so a couple things that you can do to make sure your system is running smoothly first just run rocket pool service status and you can see here everything is up which is a good step number one uh rocketpool service logs graffiti will give you an opportunity to actually look

at the logs from the graffiti application and you can see that it's sending stuff properly so i had been running it before so i have all these previous log messages but as you can see here generating graffitis it's saying error set setting graffiti request exception on calling rpc this is actually a known first error message because right when everything spins up uh nimbus is actually not quite ready to accept pixels but we'll see here in a second yep perfect uh it'll send a new pixel every 30 seconds and the second one will succeed so if you're running nimbus or even tech or lighthouse for that matter if there's an

error message for the first one just wait a little bit and it should actually the second one should get set properly so it looks like my graffiti was set properly and this is actually the pixel that i'll be drawing um if i were to get a block right now let's see what else can we do to check everything's okay rocketpool mini pool status okay so this is gonna allow me to see my address and that way i can head on over to beacon chain and make sure that i'm still validating properly so i'm running in the pyrmont test net right now so i'm going to go to pure mod beacon chain

and i'll type in this address here oh i should probably copy it actually and then hit enter and so there was a bit of a delay there we missed a couple attestations but now as you can see our validator is back online and you can just double check that so it might take a little while for if you were especially if you were offline upgrading your eth1 node and or your beacon node might have fallen behind sinking and so it take a little while for those to get back into syncing and then for you to

uh be back at testing so just be a little patient but if you miss um more than a couple attestations you can reach out on the e-stake or discord maybe for some troubleshooting or the rock pool discord or uh sort of take a look there to see what's going on and so as you can see again yep these are my eth1 logs these two logs are looking good and my graffiti logs are also looking good and so one exciting thing that i want to show you is i actually have been running this mini pool with this application for a little while now and i recently got a block and you can see the graffiti that

was along with that block and so i happen to be able to draw one of the pixels that's associated with the drawing that we're all collaborating on so that was pretty exciting to see when i saw that for the first time and i would say that's probably about it yeah i think that's it thank you so much colfax for the demo it's an awesome walkthrough yeah thanks guys for joining and uh excited to draw some stuff with you and maybe earn some co-ops too all right have a good one