An Application-Specific Service (AVS) is a distributed validation system that requires its own specialized consensus mechanism, such as oracle networks, data availability layers, or virtual machines, and can be built using EigenLayer's framework which enables developers to create modular blockchain services by deploying contracts on Ethereum with service managers, delegation managers, and operator sets that stake assets to validate computations or results in a distributed manner.
Movement Labs 101: Integrating EigenLayer AVS for Developers
Added:um but welcome back everybody great to see you all once again as I said it's it's a final Workshop sadly the series has come to an end but um we're adding all of the recordings to the hacker pack so I know you have um a nice little summary there and lots of content for you to look back on um and what better way to finish it out with the movement lab's team we have two members joining us today as well so a special treat for us all to uh to finish off I'm really excited to have Jordan and to have Andy here joining us today so um I think they're going to split the presentation they'll be active in the chat so feel free to ask your questions there to I'll do my best to shout out anything which I notice in the chat as well and hopefully between the three of us we'll manage to uh cover everything but um that's everything from me I hope everybody enjoys it and uh Jordan I Believe I'm handing to you to uh to get going yeah I appreciate it Rory yeah sa The Best For Last right but uh but yeah um how's it going everybody Jordan I lead the Bing advocacy here with movement Labs um in from a small town called Freeport Florida been doing engineering work for about you know four or five years um I'm also ACC compan with Andy G I'll let him introduce himself hi everyone um Andy gole um uh Solutions engineer and uh devil uh for movement labs and um really excited to be doing this hackathon for um uh you know featuring building on Igan layer within en code and and uh I just I I come from uh like a web entrepreneur and like building getting my hands dirty type of background and I can't I can't wait to see what the hackers build in this hackathon awesome say yes so let's go ahead and get started right um let me see if I get my slides going on perfect so um we'll just kind of start off going over a little bit of like what movement Labs really is um and really our mission I would say is um we're essentially building a modular framework that um builds and deploys move based infrastructure applications and blockchains in any distributed environment so just like a quick overview so essentially movement is like the first Integrated blockchain Network that powers the fastest and most secure layer to on ethereum so by bringing the move virtual machine to ethereum through our novel mm uh ZK layer 2 technology um we're creating essentially the most secure scalable and developer friendly blockchain infrastructure that essentially combines the best aspects of modular and monolithic architectures for Speed and safety with the move language so with our Tech stack we essentially have three different components so we have um M2 M1 and the move stack itself as far as M2 is essentially the first paralyzed move eum layer 2 on ethereum and it essentially combines the speed and Security benefits of move with the backwards capability of existing Evan protocols and as far as M1 it's a fully decentralized and speed optimized shared sequencer so M1 provides the movement network with reliable up time optimized finality and embedded interoperability as well and it also comes with the built-in verification um and this essentially enables the sequencer to serve as a watchtower for any incoming attack vectors and uh lastly we have the mo stack which is an execution layer um designed to scale the rollup on ethereum regardless of what rollup framework or data availability layer that the network uh chooses to Le uh lever uh I would say leverage and feel free to you know scan this code and uh fill out the form and everything but um I would say outside of like our Tech stack or Vision very much is very much Community Centric um we aim to be a very Community blockchain uh we believe in empowering developers and their projects to um you know flesh out whatever um dream project they care to build right um we very much uh believe in utilizing security modularity through our movement Tech obviously um I would say that movement was born with really a simple but yet like powerful idea which is making the move programming language accessible across like entire modular blockchain ecosystems and I guess you may be asking like why move um I would say like move you know it's it's very easy to adopt right it deres from rust and I would say most importantly it's um very much secur by Design so I know that everyone's seen all the hacks that have happened just within the last few years in in crypto and um since I've been in back in 2020 like it's been insane to see right it's been like billions of dollars worth of exploits and um we truly do believe for institutional adoptions we need more secure you know languages as well as infrastructure in place so with move you essentially have like a strong static type system and built in formal verific just to name a few of the security features that really help reduce some of the most common vulnerabilities associated with what plagues the industry today and um with that being said though like we do believe the ability to build anywhere on movement right so um movement does provide like a flexible and versatile platform which essentially enables you know developers to deploy across various modulars and layers so really you can choose between whatever language when using um our text stack so we're not just subjected just to move with that being said um you can essentially use different versions of move you can switch between different features and integrate various aspects to your developer stack um instead of having to potentially learn all the tools and Frameworks associated with each you can kind of just pick and choose what fits best with your developer needs so even though we do like we're all obviously very big proponents to the move language I would say we also very much give City devs love as well for instance um you're able to actually deploy CID contracts utilizing your Tech stack onto the move evm for instance through um fractal which acts as like an interpreter which I won't get into the weeds um about but uh essentially you do have that flexibility there either way to leverage um those skills as well so I would say that's kind of like a high level overview of you know movement labs and and kind of some of our Tech um I'll make sure to kind of throw into the chat some additional resources that you guys can look into um with that being said I'll go ahead and kindly pass it over to Andy G he'll go over a few dap examples on how to integrate um our Tech stack with Ian lir so definitely feel free to take stj nice thank you Jordan I see Andy's already sharing nice and quick um I'm just going to maximize Jordan's screen quickly one last time just so anyone who hasn't scanned the code already make sure you scan it um and then we will move on to Andy's presentation sorry for that Andy there you go you can have your screen back now um and equally I know Jordan's going to drop some links as well in the chat so um whilst Andy is going through all of the examples feel free to to open those up on a second screen and take a look over the content some more and of course feel free to ask your questions in the chat um and we'll do our best to get those answered for you so uh all right so I wanted to show an example of something you could build uh you know for an ABS uh I we noticed like for um another ABS hackathon there was like a 100 participants and then but no one had um really no one had submitted anything yet and and my personal theory is that maybe it has to do with people not you know necessarily understanding what an AVS is or you know how to build an AVS or or how to build with avss and uh so I wanted to give a little uh dive into the tech uh this is a a draft of a Blog blog that uh we're I'm I'm working on to you go along with this uh example but it's just sort of um it's something that I think can help us understand like if you're a builder and you you want to get a stab at some of the prize money and and you're like okay how do I build something relevant with abss uh first of all you want to understand what an ABS is so it's a system that requires its own distributed validation semantics which if you think about it that could be like just a blockchain like Bitcoin or or any blockchain it's just you know a distributed validation system semantics meaning that it just has its own special language for sorry to uh jump in Andy do you just want to maximize your screen um we can see your entire screen so if you want to maximize the the tab oh yeah yeah there we go just a bit clearer thank you okay yeah um so like an oracle network is an example of an ABS uh data availability layer like for example Ian da which is uh the flagship AVS provided by igen layer and just you know virtual machines keeper Networks just different cryptography schemes it's just anything where you could use an extra validator Network um and like some kind of system like for for validators uh validating some kind of computation or result in a distributed way so the way igen layer works is summarized in this diagram pretty well so there are contracts deployed on ethereum like these different ABS contracts have what's called a service manager which is an interface uh for the igen layer protocol and then they have other service contracts that do specific things you know for for their specific abs and uh igen layer itself has core contracts for their abs directory and like delegating um um everything that uh they do just as uh a layer in in in itself so I put a link there you can you can look at igen layers resources um so some abss require an offchain layer not all of them but like offchain computation is a great example usage for an ABS and um the ABS contracts hold the state relevant to the services functionality so there's you know you can get into uh igen layer itself and how it uses the strategy manager where stakers deposit their assets and delegation manager let sers choose which operators to delegate to and operators are just basically validators for the specific abs and they're staking eth or you know some some other asset so that they are uh playing with skin in the game as they as they do their uh um validation for the ABS as operators so uh we're going to look at uh sort of modifying an example for uh uh a basic like super basic math example that igen layer provided which is uh something called incredible squaring so they have documentation and some videos uh overviewing it but uh their GitHub repository is here um for lay it's under layer labs and then incredible squaring ABS they have instructions let me just make this a little wider so I can see all my tabs and then still have a full screen view um so so they have instructions for how how to run their their abs and then I created a modified version here uh so github.com Andy golean layer ABS uh examples uh where we have uh just some some modifications so like first of all we want to be able to to run an AVS so to run an AVS locally you need to have three terminals running so an anvil chain which is just like uh it's foundaries tool for spinning up a blockchain so I have this repository uh open locally here and I already just did this U makeart Anvil chain with eel an ABS deployed [Music] so uh you can see there it's just advancing the blockchain it's just you know just uh producing blocks and then you need the aggregator so make start aggregator and so I'll I'll start a new terminal make start aggregator and what the aggregator does is it sends tasks to the it sends tasks to the operator like it says here aggregator sending new tasks number to square 0 one and uh you can look at the incredible squaring uh code base to see how that happens uh I could get into it uh a little bit here if we have time um then the third agent that needs to be running is the operator so the aggregator sends tasks to the operator set and then the operator agent picks those up this happens on chain through uh the aggregator contract and the the operator uh we can see gets registered and then we have a transaction for including the operator and then we we're funding uh thanks to how igen layer set up this incredible squaring repository so so I I think for hackers like what a good strategy could be is like modify the incredible squaring ABS to do some kind of really interesting um kind of operation so like let's see what are aggregators looking like and yeah so the aggregators receiving sign tasks now that we have the operator going you know it once we started the operators we could um we can see that the aggregator gets a threshold reach so so that's the idea of an ABS is it's like you have this um you have this computation that's happening uh somewhere so like let's see um so the number squared is 81 and then last digit of block hash is zero so in the incredible squaring example uh you'll have like like this is the ninth task you see it says reference task index 0x9 and then so so the number that the aggregator sent to The Operators is nine and then in the incredible squaring ABS built by igen layer the number squared that was returned by The Operators the as a received sign task response was 81 but excuse me there's also last digit of block has which is returned basically for Block nine of the movement blockchain which is the thing that I added in so I'll show you the um the modified code there let me check the chat just to see if there are any questions about I was just going to jump in so uh good shout um somebody's asked uh whether validators choose to participate as a validator for an AVS or or whether it's guaranteed yeah exactly I from what I understand validators can opt in to uh avss and then they they you know put whatever they select whatever their stake is that they want to put as at risk for you know their participation as operators for an AVS um but yeah I yeah it's definitely as far as I understand it it's it's uh it's all opt in is movement an operator here well this is all like test net or like even devet type of things like like even this incredible squaring example just to like kind of lower the bar in case you're like I can build an AVS like like this incredible squaring example by igen layer is actually configured for just one operator so like even this is like like very experimental just you know just doing their they're they're basic examples so Ian layer I'm sure is like happy to have people build on this them and um like it it doesn't need to be like production ready or even like like the tokenomics like don't you don't need to worry too much about like is is movement operating it is anyone else operating because like right now we just want to see developers like build something interesting yeah so I hope that answers your question Katya all right so just just getting into the code a little bit um so so okay that's how to run an AVS in general so just you know an introduction to av's and again like I I I kind of suspect that a lot of hackers are stuck on that main idea of like what is an ABS so I hope that cleared it up like any blockchain or any sort of distributed service is pretty much an ABS by definition but what igen layer's done is they've created tooling to build abss really uh conveniently and intuitively in a way that sort of recognizes them for for what they are in a in a formal way so so shout out to aan ler there um so as far as modifying an ABS um all right so the actual uh the the contract will be an incredible squaring task manager doou so we can uh we can look there that's going to be in under our source directory SRC and we can see just what happens there there's a task and then they send the number to B squared um in the let me see if I can there we go um yeah so one one thing you'll see in the in the contract uh the the task manager contract is uh Logic for wait let me see that's in oh okay yeah there there's sort of a quirk in their contracts they have this one that with with two eyes in the beginning of it incredible squaring and then you just want the one with with one eye um [Music] so uh uh so the logic of uh checking whether a challenge is valid or not is done by just literally checking you know the the um they Define a variable called actual squared output and and it's they take the number to be squared that they send to the operator and they multiply it by itself and then they check whether or not the actual squared output is equal to the response that they got from The Operators so in the task manager contract like that that's something uh if you want to allow challenges in your abs that's something that you're going to want to modify uh I asked the igen layer team and they said you only need challenges if you're going to have some sort of slashing clause in your contract so I think generally for a production uh AVS you will want to consider that you might want to have maybe like uh like a ZK fraud proof or you know that could be an opportunity to show off some creativity in terms of uh your sort of security knowhow or your ability to to check uh some kind of uh some kind of results that are more interesting than just a mathematical result of squaring a number so that's one thing that you'll want to change uh as you modify uh the contract you know specific for um an AVS that that you're building if that's a route that you go for the hackathon and then the main thing as far as far as the actual workings of the AVS is this operator go.go file so the offchain agents are written in go Lang so there's different um directories here like um like we have the aggregator is is one agent that if you want to see how all of this is working with the aggregator sending out numbers um every I think every 10 seconds it sends out a new number to square and like what I did was I modified it to take a block hash from movement network uh that one of our Dev Nets uh M1 devnet so if you go to the operator directory and then check out the operator. go file and then compare it to uh the incredible squaring uh default example which just has code for squaring a number which let's see yeah which I think I commented out there and then like now uh what it does is so when we run this operator we have all the setup up and and it's like a lot of boiler plate provided to us by igen layer but um in this example what I do first of all is Define a block struct which allows us to ingest block data as we query it from movement blockchain and then and [Music] we have uh so this process new task created log is the function that's sending these logs back to the aggregator so you can look into this and just like how it works for avss in general but I wanted to give an example that queries just something about movement Network and you know of course you'd probably want something more interesting like querying a contract but in this case uh we have in the process new task created log function we do uh we call get last digit of movement block has for the specific block height which you can see here block height is just the number to be squared that the aggregator is passing in so we're going to square that number but we're also going to just do something a little more interesting which is we're going to call get last digit of movement block hash and you can see how that function Works down here we're doing an HTTP get request by block height uh we're using the semantics from uh Aptos rest the Aptos API spec so our our upcoming test net is using Aptos move as the base move language and we're using the Aptos API specs so that's something good to get familiar with if you're building on movement so here we're querying uh the block by block height and so we just get it uh get we get the the block information and then we get the last digit and uh you can see how that's all all done in the code there so so instead of squaring a number you're just you're taking a last digit of of a block has which in a in a sort of simple way could be used as a random number generator and then uh if you wanted to get even more interesting like you could deploy a contract to movement like this uh voting system uh from move developers Dow and that's that's another example we you could get into you can imagine like calling a function to double check how you know a vote went and there's just a lot of really interesting examp examples that that you could get into yeah I was going to let you know that we got just a few questions um that one repo is up to date right Andy okay yeah I guess I have to put some local changes to that yeah okay uh I'll I'll do that right after um sorry about that yeah I was just I was just setting up my GitHub uh connection on my local computer when I was putting that together so yeah within the next hour or two you should be able to see the uh the the updated changes and just a reminder all of these will be recorded so uh once that's updated if you want to run through this again with the updated repo then um that should absolutely be possible um but otherwise I think that's it for the questions H there's one from sathia about the threshold notion is it the quantum threshold percentage uh I think it's just what uh the specific threshold is for the ABS and in that case it's it's just uh that ABS is configured for one operator so I think just when that one operator returns assigned response it just will meet meet the threshold but you could uh you could configure an ABS I think with any threshold that you know makes sense for for your use case awesome I think that's it for now but shout out if I see any of this all right cool so yeah so I feel like I should update that repo is there is there um I don't know if we need to go in a more specific example or if that's like you know like the idea with the voting system one could be instead of you know using the um like blocks by height um inquiring that way with a with a git what you could do is um you could view like you could take uh this voting system and maybe add a view function because I don't think this one has a view function that you could add a view function to this voting uh contract uh that appd us move by example as provided and then you know you could use use uh you could use uh the view to be able to um execute the view function and then you know the ABS could double check election results because oftentimes with with votes you have this idea like yeah the the the election result is on the blockchain but still it's like you want some way of of checking what's on the blockchain and most regular people might not be equipped to just go in query the the the blockchain directly themselves so so using a service like an AVS could be helpful to you know let you um verify the results of an election like um whether it's like doing sort of a a snapshot of when the uh vote was initialized who are the candidates um when votes happened and then the uh declaring the winner like when that happened and just like double checking that all of that was done correctly I think could be a really interesting project for this hackathon and I actually uh I actually know a developer who's who's who's working on this too so um yeah so so that's something that it's just yeah I think it's very relevant and um yeah if anyone wants support building something like that or any sort of nft type of things like maybe uh verifying the authentic authenticity of an of an nft like with um you know using you know so maybe checking a Merkel rout or you know like some kind of you know ways of verifying ownership of of digital assets that could be another really good use case for an ABS um that's you know being used to interact with with movement and you could get really creative like implementing things with I you know ion layer AVS is in move which you know that's sort of is a whole another um whole another thing it's going to be kind of like implementing something like igen layer you know in move but you know I I think just if you implement like an ABS that's really interesting to you then then that could be awesome um yeah Manu uh we should have the blog uh okay great Jordan says it'll be launched today okay awesome okay great yeah I'd like to get these out so awesome so I'll I I'll update the repo in the next hour and and and we'll have the blog and uh a video overview for as's for resources for devs hacking is that everything in terms of your run through Andy am I okay to remove stream perfect cool um well yeah thank you very much for that obviously lots of ideas there for everyone here um in terms of what you might like to build for this hackathon um I know some of you might have some questions afterwards as well so I've just dropped a link to the movement Zone we've set it up on the Igan hackathon Discord server which we've made um I know Andy's already in there so if you have any up any follow-up questions you're welcome Ted over there um to ask anything about that Jordan I know you've just dumped a bunch of links there do you maybe want to talk through them just to explain um where people can head and what kind of resources are available yeah no absolutely um again yeah I just dumped a few resources and I can also put it in the uh Discord Channel as well for you guys um because obviously like this is going to probably go away but um yeah so we have the movement hack right here the first link that's just more of like a Hands-On just how to you know navigate through our text stack um the dev docs um that kind of provides again some more step-by-step tutorials on how to navigate our Tech stack and it also provides more thorough information as far as what our tech tech stack consists of in general right and data room that's like everything movement Labs right that that's again like uh you can kind of find like you know top accounts that you know tweet or write about movement labs and what all that entails um in-depth um information on our Tex stack in various regards on notion uh yeah so just basically like the go-to for all information with mov Labs um I also above and I'll get i'll gather up all these links for you guys but I did also share the QR code as well um and yeah I believe that's all the links we have so far but amazing I know you shared the QR code as well of where people can um find out more and get in touch where where is your community most active where would you kind of Point people to if they want to get get more involved with what you're working I would say for sure Discord or Discord is very active we have like various um you know specific chats for devs as well as like anyone else who wants to get involved in our ecosystem in various capacities whether it's technical writing content creation Etc um I can also get that link for you guys as well um but that I would say is the most um active point of contact awesome and then there's a a question here maybe it's one that you need to to go back and confirm um but maybe you can provide some insights obviously there's mention of the grants in your um in your Bounty how do they work do you want to expand on that now or uh would you rather come back and and put a proper answer together yeah yeah I mean I can go like high level into that let me just pull that up on my end real quick but essentially in regards to the Grant I mean we do uh pay in USD uh usdt or DC whatever um of you're choosing and um we also prefer or we also are gonna you know air drop another token wink wink can't can't talk about what that is right but uh that that's a little bit of a surprise and we do also offer additional grants uh for the future as well um to further continue uh development of movement labs and then there's a uh follow-up question there about what kinds of projects would be eligible or perhaps what kind of projects you You' be particularly excited to see um is there anything in particular that you might encourage people to to explore and and start building towards yeah Andy I mean maybe you can answer that a little bit more um as far as voting I mean I was even thinking you can Implement that into like some sort of like social fire front end like maybe you can have a front end social fire type project project whether it's like Twitter SLX whatever you want to call it right I still like to call it Twitter but uh and have like some sort of like voting mechanism there would probably be super interesting kind of experiment um yeah I'm not sure if you have anything else Andy but that's just something off the top of my head that would be an interesting idea well yeah that that could be good um also just like the the more you can use move the merrier uh the you know it's it's like uh the concept of an ABS is sort of a very generalizable thing and it's implemented right now um through igen layer and it's it's um so you have a couple different routes you could go you could you could create create an AVS that works really well with the igen layer and somehow interacts with with movement or maybe maybe you even have uh move contracts that somehow work as part of the operator set um but also you could you you know think about implementing an ABS in in move um it's you know with with an ABS Focus it's like you want to be thinking about you know what what's a type of uh system where I would need like validators to sign and risk some sort of um economic penalty if they're you know giving you know false information so you could be a game that involves an ABS because you know one thing is you know I just showed uh you know the the aggregator um let see am I still running it um no I guess not but it's like you know the the the results come in from the operator and I just showed it in a command line but you could build a game or you could build like some dap like you could build a front end that that consumes that data coming in and like that that to me would be like a finished product that would be really cool to contribute to movement you know something that's it's it's you know ingesting the data from The Operators and using it in a in a way that end users can interact with so whether you're into gaming or social f it could be a chat appap where you just double check that messages were sent from who they were you supposed to be sent from like may maybe you uh double check that um people only uh people who have some sort of access pass to a specific chat were were able to indeed chat be because like supposedly these things really work like there an nft gated community and like supposedly only people with nfts are able to chat in those communities but there's no one really like as a watchdog like to me these AVS systems could be like a watchdog to just double check that like yes this nft gated community is is legit and and and like again like anyone who's techsavvy enough could check it themselves and verify this information themselves but but who's really doing that you know like as far as end users and Mom and popop users you know they're going to probably rely on some other trusted service like an ABS so so to me that's that's like that could be used in socialy gaming defy anywhere where you you want like another Network to just verify or double check some kind of results is something that jumps out at me awesome well uh yeah we also oh sorry not to interrupt but we also have some uh projects as well with those chat Bots as well like if you want to maybe even experiment with with that and uh we can also send those links over we have it in move and S move so perfect well uh I think that answers your your question Arin and I'm sure you can't ask for much more that there's so many ideas and and things that you could then build out so um I know this has been super useful for anyone looking to to build their projects and has hopefully planted the seed of of what you all might like to build so um thank you very much to both Jordan and Andy and obviously thank you to all our participants as well for for joining us asking your questions um not just today but for all of the workshops so um I don't have too much more to add myself perhaps Jordan Andy maybe there are some final remarks or or things you'd like to share before we wrap things up yeah no it was a pleasure you know uh you hosting us right and it's definitely been great working together and definitely look forward to see what you all built perfect Andy yeah it's say just like re remember like it's just it could be a good opportunity to just just flex your Dev muscles you know it's like don't worry too much about like whether this is going to be the killer dab to like change the world like just think like you know maybe this is just a good opportunity to like get you know get your hands dirty and like I I just put a the the chat DAP in um in there for you arjin and uh we'll be in Discord at you know the dev chats popping we we have a lot of people just you know chiming in there and um we're we're really looking forward to supporting you and uh I'm in the enco chat I think Jordan's probably going to join as well uh in the what's it called the moves the move Zone movement Zone yes it's in theen hackathon Channel which everyone will have access to and then there's a dedicated room for you all to ask Andy and Jordan any questions you might have um of course they've shared a ton of links today so you're welcome to to take those conversations wherever you like but it's a good starting point for you all to direct your messages um and I'm sure Andy and Jordan will be on hand to to answer those for you yeah and we'll post all the new updated uh links and education material and the updated repo with the actual modifications I made in then uh today as well so thanks Rory awesome appreciate you well let's wrap things up there then uh thank you very much if anyone needs anything whether it's movement post it in the zone uh these guys are are there to help you with that if you have any questions about the hackathon of course you can DM me to um it's Rory in code on Discord um but otherwise thank you for joining us good luck with your projects and uh thank you on last time to Jordan and Andy for a great Workshop thank you very thanks everyone in the chat too this was a yeah great chat during this cheers all right cheers n [Music]
Up Next

Ethereum Pectra Upgrade & Consensus Layer Insights
@kiln_finance
8.6K views•2025-03-06

Torrent File Format & Bencoding: A Technical Deep Dive
@AsliEngineering
12.5K views•2022-08-08

Operational Security Essentials: A Guide for Hacktivists (OPSEC)
@hitbsecconf
157.4K views•2012-11-26

Understanding Ethereum: A Comprehensive Beginner's Overview
@99Bitcoins
3.1M views•2018-06-26
Related Study Plans & Knowledge Roadmaps
Structured learning paths in Blockchain & Crypto




































