Tenderly 🛠Prize Information
ETHGlobal·Sun, Oct 9, 2022, 12:00 AM
Join Bogdan Habić of Tenderly present the prize information for ETHNewYork 2022. This workshop is part of ETHNewYork 2022, a three-day in person hackathon that will feature hackers, mentors, enthusiasts, sponsors and speakers who are all gathering in New York June 24-26, 2022 to talk about the future of money, finance, the web, ownership, the way software works and the way power is distributed. We're excited about a new frontier. ---------------------------------------------------- Follow us: https://twitter.com/ETHGlobal​ Check us out: https://ethglobal.co​m Email us at: hello@ethglobal.com
Transcript
[Music] hi everyone my name is bogdan i'm the co-founder and cto of tenderly and today i'm going to present you the two of our bounties for eth new york so what is stand really first tenderly is a holistic developer platform catering towards blockchain developers now of course that doesn't mean anything to anyone so how you can think of tenderly is if you have three stages of development local development once you deploy it to production and finally something we call after production then julie has a tool or service to help you there to be more productive or not to have to reinvent the wheel so while working locally you have a debugger and profiler i like to joke around that's basically what you expect from a programming language in 2004 that's what tenderly caters there on the in the local environment now once you deploy to production we have monitoring and alerting services so basically receiving real-time notifications when something of interest happens on or off chain and then finally the third thing that we have is the one that we call after production and it is something that we will focus on for this particular bounty now what do i mean by this uh how it tenderly works in the background is we have our own custom virtual machine and everything that we execute in that virtual machine is supported across all network that we support 20 something right now so one of our most used features right now is something called the simulator so a simulator basically gives you a way to do these what-if scenarios like what would happen if i send the transaction now or if i change this historical transaction what will happen what would have actually happened and then finally the second part and i'll demo all of these things no worries is web reactions you can think of them like aws lambda only catering towards blockchain developers so basically you say what you care about you subscribe to a particular topic on chain or whatever you care about and we run a piece of code in a serverless way for you so now better than telling you all of this let me actually show you okay so here i'm inside of the tenderly dashboard so just to show you things i've added the die smart contract into my project so we can play around with it a bit so when you come to the transaction screen uh you're greeted with the list of all of the transactions toward this contract now this isn't relevant for the bounty itself but i'm going to use on-chain transactions to show you how the simulator works so generally what then really gives you when you open up a transaction is basic transaction information tokens transferred and everything else around that but what's actually useful is something called the transaction overview or the full trace so this is actually fully searchable and you will be able to access this via the api so i can do for example give me all calls that happen in this particular transaction or anything of that nature i can actually go into each one of these steps in the debugger itself and then we have input output variables decoded and all of these things are readily available you can also for example i can evaluate this particular particular thing numerator and then we can see the expected result over here just give it a second so here we go this is the value of the numerator variable we also have access to all of the state changes in the transaction it even supports complex mappings events and then guest profiler information as well now one of the two bounties is using the the best use of the simulator api to achieve something in web3 so this was an unchanged transaction but let's see how we can change on chain transactions with the simulator so here i have opened up a transaction that happened quite a few days ago two days ago and this is a failed diet transaction so as we can see someone didn't have enough dye to to transfer so i can actually change this transaction to pass in two different ways so i'm gonna click on the resimulate button i'm gonna go to edit contract source and one of the things that the simulator gives you the things to do is basically you can go here and i can change the source code and you can see what would have happened if the source code was different so the transaction now will actually fail at the different part of course but if we go into the debugger we can see that line 124 here we go is actually commented out so again you'll be able to do this via the api another way i could have made this transaction pass let's go to the original on chain transaction here go to the debugger we can see that the source address is this one so what we can do to make this transaction pass is we can override how much diet this particular person has so i can go to re-simulate i can go to state overrides over here add the state override i'm gonna pick die and then let's override the balance soft mapping paste in the address that we got and add i really hope this is enough if we click on simulate transaction still not enough balance okay let's go back re-simulate let's do the same thing again so add state override die let's do the balance off again paste this in i think this is enough zeros it might be too much actually there we go so this particular transaction passed because if we see the state overrides tab here we we we overrode this storage slot to something else which was the guide that we had here we can see the state chains correctly and we can see that the transfer event was there so if we actually go to our documentation website just give me a second for it to load here we go so if we go here there is a section on simulations and forks so you have all of the the things that i did here through the through the ui i have a video explaining it as well and you have like pictures and and text explaining how to use it but uh the thing that's that matters for this particular bounty is the simulation api so you have all of the ways you can use this so you can simulate one of transactions you can also um chain multiple simulations together that is something we call tendrilly forks so you can fork any production network that we support and manipulate it any way you want and a great starting point is here the integration guides so here we have one two three four examples with code to get you started with this bounty
Automatic transcript — names and jargon may be misspelled.