Scaffold ETH is an open-source development framework that streamlines Ethereum application development by providing a pre-configured environment with Hardhat for smart contract deployment and React for frontend integration, enabling developers to rapidly prototype and deploy decentralized applications with minimal setup overhead.
Build an Ethereum Dapp with Scaffold-ETH: Fast Solidity Development
Added:okay guys welcome back to the channel as you can see we do have a very special guest and today we do have austrian griffith and we're going to discuss development how to get started with ethereum programming how to do it quickly and the austin is the guy it is the person to discuss this because you do tools you do code that makes people able to start their projects quickly so please explain who you are and what you what you do word yeah i'm austin griffith uh builder in the space uh i kind of got started at hackathons so i know what a hackathon stack needs to look like and and i know that like if you have to spend half the hackathon setting up your stack then you're going to be at a huge disadvantage and i've kind of built this to be uh scaffolding is kind of what we're talking about today i've kind of built scaffold eath to be kind of a full decentralized app where you have hard hat on the back end you have a react on the front end things are wired up but it zooms you in on i can edit my solidity in a quick development loop and i can see feedback and i can poke at my contract and i can kind of learn solidity but once i've done that i basically have an app that's standing up with you know wrapped around my contract that i can start making into whatever we want to build right so we can dive into you you you go first let me know when you want me to share screens or we can do that okay and just to highlight the problem that this tool is solving the many problems many people when they start programming in solidity and they come into the blockchain space they learn how to do smart contracts and then their biggest question is okay how do i make a website that talks to this data structure that i have now on the blockchain that i've programmed with solidity but with your setup and we're going to show exactly how you guys can use this nurse build your adapts already today with your setup is just installation very easy to install and you edit solidity everything is liable ready you have the website already reflecting all the changes and you have this very very quick development feedback because normally what people will do is that they build smart contract then they figure out how to connect it and it's very long time in between but here is optimizes optimize for learning optimize for quick execution and quick development so please let's build something let's build something using a scaffold eth and let's show this in practice and of course it's all open source guys you go to github you quickly install it and get going okay here we go uh let's see uh so i started at scaffold eath i think if you just google scaffold eat there's a scaffolding dot io but that just drops you into the repo and uh yeah you just go there's there's plenty of stuff here to learn from but the quick start is the best place make sure you have all your node and yarn and get the usual stuff but here is the installation process and you'll bring up whoops you'll bring up your react dev server you'll bring up a hard hat node which is your local blockchain and then when this is our deployer terminal and we can just do a yarn deploy here and that's going to compile our contract and it's going to push it over into the front end so we'll see this contract get deployed that goes to our local chain then the artifacts get injected into our react app see how that hot reload happens let's do it again let's let's keep going right a nice a nice tight dev dev loop so this is going to be 9 fe we see that get deployed and then hopefully we see that over here cool and that's what it's about it's like being able to say okay let's you know let's create uh you and what should we what make it a un8 public counter right i i do this a lot this example just to show off like okay now we have a counter in in you you kind of called it this this data structure you you build this fancy expensive back end that can do storage and execution and then you have to build the front end to kind of deal with that and if you build them kind of in parallel a lot of like other things can shake loose and it kind of helps with inspiration and stuff too okay now we've got basically what we're seeing now is this smart contract on the blockchain this is running on your local blockchain but of course you can deploy it on the main and testnet and if you go to your web app your react app you see all the variables in real time popping up in the interface so if you bring that up again the actual web app yeah we see like the counter the the purpose and if you look then in the code you see the purpose and counter being the variables in the smart contract so you can very quickly get the connection between front-end and back-end so here's the back-end so back in this case is a smart contract of course yes no no yeah and it's really if you're a good developer getting into ethereum it's a good mental model to say this database is this back end is like a database it's just slow and expensive and asynchronous and and what we really mean by asynchronous is like when you write to the database it's a transaction that goes into the mempool that might get mined and might not right and you have to wait for that to get mined before that state change happens but in terms of reading you can read from any note on the network because all like 10 000 of them have a copy of your smart contract and you can ask any of them for for that the the whatever the purpose here is right we have a purpose which is some storage and then we have a set purpose and we can do a hello world here i think the the point of showing this is showing uh make sure we can grab some funds from the faucet hit hello world there we go so the the point here is if i hit hello world we can see it over here we get a nice console log from uh hard hat and and if we go look at that in our code we bring in hard hat console log and then you get a nice console log there so when you're building solidity sometimes it's complicated you're trying to figure out what the heck is going on you can throw a nice little console log there and get that out but so austin where is metamask because here you have a wallet that does that just science everything by itself by default because that's that's what i like also with this example there's no metamask there's no signing it's all instant yep exactly so uh same same thing there's no there's no metamask yet there could be though there's a connect button here and if i wanted to bring my meta mask in or or any other wallet connect wallet i could do that uh here but really what i'm using is a burner wallet when you land let me let me open up a new incognito window and go to localhost and we'll see up in the top right we're going to have a different address 2bcc verse d7 and if i if i close that let's let's just go ahead and grab that close it let's open up another incognito window we should have a new address like it's in local storage and that's very ephemeral sometimes if if you close an incognito window bring it back that local storage is gone but so this character can grab some gas so this is a blue blue guy this is d7 so i added in that counter right let's look at that we added in a storage location called counter we set it to five i added in a function for decrement and let's go ahead and click this button a few times until we get to zero and if we subtract one from zero we went gender flow right so so we under flowed that variable and if we wanted to kind of say well what is it what happens if that's a you know you at 256 instead of a you an 8 we can quickly iterate on it we can test our assumptions we can put it into the solidity we can yarn deploy and it's just going to show up over here in the front end and then we can try decrementing it again and we should get it like a really really big number and i'll do it with this this character here so decrement decrement decrement here we go boom number and just to add a funny story when people think about how smart contracts are built or how all of this cryptocurrency work i mean this is literally it you have a number you you add to it you subtract from it when some when somebody sends tokens to someone else they get subtracted from the balance of the sender and get added to the balance of the receiver but also this underflow overflow we've also had insane bugs in some contracts that are badly built and when somebody goes below below zero in their balance they suddenly become a multi-multi-gazillioner because it underflows overflows so these kinds of things we have standards for in order to avoid in the space of course but i just thought it was funny funny story when you showed this underflow overflow for sure and it's like you just have to kind of be cognizant of what those bits are doing underneath there they're doing exactly what you told them to do right the code does exactly what it's supposed to on all the machines uh and by the way in solidity eight i think underflow basically throws an error now and and before that uh contract developers would use the safe math library where if that underflow happened or overflow happened it would just throw an error okay so we're going to do a little bit i'm just going to add an owner in here and then i'm going to require that the message.sender is equal to the owner and i'm gonna say not the owner so this is kind of like one of the big powers of solidity is being able to write these simple rules in here and track so we get we're going to track some arbitrary owner and then we're going to make sure that only the owner can get in here and set the purpose and we're deploying a new contract right just just one or two lines of solidity we've completely changed the mechanics of how this smart contract works instead of anyone getting in and being able to set the purpose now it's more like an attestation where where we're the owner and only we can set and let's make sure and then how do we test the bad guy case we'll bring in an incognito window we'll go to localhost we'll we'll give them some money and this should not work right hopefully we get yelled at for not the owner okay so we've like tested that rule we kind of audited to making sure that line works uh next thing i usually do is do an international yeah once again the value of this framework you get all the error handling all the error messages from solidity already animated with some kind of error message pop-up dialogue like we saw just a second ago and of course when you're starting your project you want to have this from scratch you don't want to google hey you know javascript animation library and figure it out you have everything here already and and in this case so that notification is is popping up locally but as soon as you go to any public network it's going to use blocknativesnotify.js and it'll link to the the block explorer on whatever chain you're on okay so i've added i added one separate line and i changed this and i instead of making the function only one owner can hit it now i set it up so it's a public function that anybody can hit uh can can call but it's payable and we're going to require that someone passes in some money so we change another just one little line of code we changed it from an attestation machine into more of like a vending machine for for writing some purpose here right so now anyone can say hello world but they have to send along a little ether to go with it i don't have that much so let me grab this i need to go to the faucet and send myself some money there's there's some money so now i should have plenty of ease to send in point one and here's a little gotcha uh in in this framework this is meant for the developer and there's i don't automatically take it from eath to way you have to hit this little button as a developer to know that that that conversion is happening and then you then you hit send if you don't hit that you're going to get an error and of course you don't want your users to do that but this is there for you to kind of get a feeling for how your smart contract is going to work and eventually you'll carve all this stuff out and build an example ui there's a bunch of components here that help you uh just to lean into that a little bit like every every hackathon i ever went to i always needed an address input right i needed to be able to uh save italic and get his address and have a nice right so i've got ens resolution i've got blocky previews i've even got like a little scanner if this is on mobile you could pull up your your qr code scanner same thing here if this is a you know 12 000 i guess that can switch back and forth between the amount of eth and it's either in usd or not and it's always tracking the price of usd so just like really handy things that i need in every build we just kind of packed into this so you can kind of pull it off the shelf and use it and and it's really this dev loop right here let's let's let's learn and and i even have it on scaffolding where i talk about how to kind of get into solidity and the different topics to cover but basically you're you're going to solidity by example you're grabbing a mapping you're copying that mapping over here and you're pasting it in and you're doing a yarn deploy and then you're looking over here to make sure that that mapping shows up and that's that loop that you want to be in and you're just like learning all the new concepts once you have mappings learn structs learn payable functions learn modifiers and it's like listed out there and you can copy and paste them in and get an idea of like oh this mapping if i were to say uh let's see my map and then we'll put in owner and we'll set it to five let's see i'm not sure if this is gonna work let's find out and then we should be able to check the my map for my address and it should be five let's see let's see if it works and this this kind of like testing assumptions building it out okay so if we grab this guy's address and we paste it in here we get a nice preview we hit send it's five see that five there it's kind of hard to see and for all of you guys who are learning solidity and this may be the first release call you see this is also how tokens work you have a mapping and then you just map address to how many tokens they have so in this case this mapping could be balances and now this address has five tokens in this case yep awesome that's yeah that's a great way to put it uh after mappings i think i have you learn uh arrays and then structs and then arrays of structs and and a bunch of other things sprinkled in there like modifiers but really once you can once you can deal with arrays of structs and solidity that's about as advanced as most of them get like that's like 80 or 90 of all the contracts i've seen like you've said like a token is basically everyone's balance and a function to be able to transfer from one person to another and that's how a token works what i love about policy and ethereum is that it really demystifies finance because from the outside it may seem that banks are doing something revolutionary but at the end of the day man if you know a hashmap where you know a mapping you can build your own token you can build your own smart contracts your own financial primitives and that's the best empower empowerment that i think we're seeing right now that all devs have now this financial sandbox they can build whatever they want this is a development environment like if a sandbox you can program your own exchange your own derivatives whatever you want just with simple building stones if you know arrays you know hash maps you know the basic building blocks of a programming language you're ready to go and as you can see it looks like javascript it looks like java there is nothing to complicate it to get started and get going as with anything it is difficult to master but it is easy to start and easy to get results that's a perfect way to say it solidity is easy to pick up but very difficult to master building a secure smart contract system of many different smart contracts communicating with each other is like you know there's like four people in the world that can do that right now well there's more but like any any old developer can just pull this thing off the shelf and build stuff and it's built for that for that for that dev okay and then one little thing here so i did hello world i paid some money i'm gonna say hello world to pay some money the the thing that is neat here is we end up seeing that oh that smart contract ends up getting value and and i kind of start using this mental model of like ethereum is the greatest massive multiplayer rpg ever created and each of these players are players but now you know even the smart contract is a player right so all the players are sort of interfacing with these robots and then the robots are all interfacing with each l each other right but but we've we've done we've done something about here we've locked these funds up and what you need to end up doing is writing a quick withdraw function right so people have paid into this contract but we have no money no way to get it out so we could build like a withdrawal function here where we could make sure that that we would use this require statement that we use back here it was the message.sender is equal to the owner or something like that there we go and we just set another rule and we say okay if you're going to call the withdrawal function we're going to make sure that you're the owner oh this probably needs to be enough there we go and then uh if it is then we'll just say message.sender.transfer and it'll just be what address this dot balance there we go so if you call the withdraw function we're going to double check that it you are the owner and if you are the owner we're going to withdraw the funds from the contract to you oh i've made it oh we got rid of my map let me get rid of that there we go this is some rapid solidity prototyping here right just kind of throwing it in trying to figure out how it works tinker with it poke at it test assumption all right and then if i say hello world or whatever that is and i do 0.1 uh and we pay for it we should see that the contract gets a balance there we go now let's come in as the attacker and try to withdraw and they shouldn't be able to right let's get some money from the faucet yep if i hit withdraw we're going to say not the owner not the owner not the owner then if i come over here and try to withdraw we should see the money clears out and goes into my account nice cool so that's a very important point to iterate that on the ethereum network you can have money but also programs can have money and what we're looking at right now on the screen this code it's a small program it handles money it it has money that we send to it and then there is logic how you can withdraw money so this withdrawal function so if the withdrawal function is not there nobody can take out the money or if there is no logic that follows what withdrawal function wants you to follow then also nobody can take money so this is very revolutionary from the internet perspective that we have programs on the internet that hold money and they will not give it to you unless you can run the withdrawal function and it actually completes and these programs are decentralized i feel like that there's a big like when we think of what it took to build bitcoin it took you know you need all of that hardware and you need you need that whole network and you need that whole consensus that and and proof of work and all of that to keep track of a ledger of who's sending money around like if you want to decentralize a currency before ethereum you had to kind of had to like fork bitcoin you had to figure out how bitcoin works but the the the real innovation of ethereum is that you can innovate on top of it it's it's that so it's that substrate where thousands of nodes are all like they can all be adversarial and they still get along because they trust the code and all those nodes allow you as a developer to throw some app in to code like this and deploy it to that whole substrate and then that that code that program that little robot runs on everybody's machine and gets the same result every time and that's and we we come to a consensus with proof of work right now but proof of stake coming soon this is my eth2 node right here i don't know oh nice nice yeah i don't even know if we can see this video hopefully hopefully we'll be able to see it in the thing i'm hoping so okay so i i think you said maybe you wanted to look at some examples like once you dive in there there's probably like one last thing here and it's probably deploying it to a public network like let's say or even even less than that let's say we're setting our purpose i'm going to pull out the withdrawal i'm not i'm not just going to let anybody set the purpose we'll just make it very public and let's go ahead and deploy that i'm going to pull the hard hat stuff out too since we're going to go to production there's no reason to bring that console log stuff with you anymore let me do one more deployment basically i just want to make sure this works and i can do a test and i can set the purpose whoop test set the purpose okay and so eventually let's say we we have our smart contract working the way we want it to this is actually what we want we want to store the purpose and let anybody set it for some reason let's say it's working well uh what we do is we build out our own ui right and you can get we can move over into the front end now at first the only piece of the front end that you're using is basically this it's pretty long this contract here so there's a contract component and that's what gives you this here so if you bring in a second contract you just bring in a second contract component and you have this nice interface there but then eventually you know you'll you'll you'll build a full ui and you'll you'll want to do some react work there right let's see that show up there okay so let's just look real quick at the example ui i have a ton of buttons and stuff but if we just look at i it's exactly what you would think there's like an input and on change work keeping track of a state variable and and when someone clicks the button it's going to do let's see where is the transaction right here so there's this tx helper and if you want to call let's say we want to call the set purpose function on our contract so it's going to be the right contracts so you you say i want to go to my right contracts i want to do your contract and then set purpose and then whatever purpose i want to pass in there right so very straightforward interface and then it's wrapped in a tx that gives you a callback function basically once the trans the transaction is either successful or not you'll get a nice little tr callback right there in line and that tx by the way also is for the notifications so this is using ethers right or or web three ethernet perfect so you you have this instance of the smart contract and then you can also write so you've built this right contracts uh uh function that can that can add things to to a smart contract and you basically have all this logic done to send transactions wait for it to confirm and then get the confirmation yep yep nice yup and and that right contract just comes from uh so there's tons of components but there's also a bunch of hooks so we have a hook for uh you know used contract loader use balance just a bunch of like things that you we needed to use external contract loader use a contract reader uh use an event listener here like a contract reader makes a lot of sense it says go to this contract and read the value purpose and keep it stored in this state variable so anytime i want to read the purpose i can just spit it out in the front end right there right if i say hello here and i say set purpose we should see that that updates okay so let's let's pretend like basically this is our whole app right here and it's working and we're ready to deploy this thing so what you what you'll do is if you want to deploy you'll do like a yarn deploy and then you could do like dash dash network you know xdi or or or rinkaby or something like that right the problem here is on a public network we're not going to have uh an address you you need to basically uh when i'm deploying locally to this guy i deploy using the zero address or the first address on the node the node comes up with a bunch of wallets that are pre-populated here i don't have that so i'm just going to do a quick yarn generate and that's going to make a mnemonic it's going to keep it locally it's going to give me a deployer account and if i do a yarn address i think it's gonna our yarn account it's gonna show me my account and give me a little like qr code if i wanted to shoot some to it nice nice so let's just grab my where where are we going what's what's your test net of choice yeah let's let's use command okay let's go with coven i like it too it's fast okay so let's send uh point one covan to my deployer address okay and i'm gonna assume that's gonna take about five seconds so we're about ready okay so here's on on the back end you could do dash dash network covan or you can even just set it here and i'm just going to set it here just so it's like kind of hard coded into my app now it's configured for coven uh yarn deploy just like we were doing locally but now we're deploying to a public network and hopefully we uh it'll take a little you know take like five seconds right it'll take a little bit here to load up come on covan public public blockchain there we go okay cool so and we could we could even go ask a third party like a disinterested third party is there a coven ether scan there is and let's paste that address in there uh it hasn't picked it up yet but i'm assuming it's there yep and then okay so we pointed we pointed the deployer there right now we need to point our front end and it's just as easy as changing one other thing too so in at the top of your front end there is a network and it's currently looking at localhost so when we go here it's like i can't find the purpose i can't find the contract i'm trying to read it from localhost it's still trying to read from this guy so if we change this over to coven also now we've kind of pointed both satellites at covan we've deployed our contract and now we have a front end look at that our app is actually talking to kovan and ready to go so i'm going to do a yarn build just to start preparing our static app right so so we've we've deployed our contract anybody can go interact with our contract but now we want to build an interface and put this interface out there for someone else and so just using the interface with covan i can write hello let's let's connect our meta mask too right let's let's see this this work with metamask there so i've connected my meta mask and and by the way if i'm on the wrong network like let's put it on mainnet it should automatically within scaffold eth yell at you and tell you that you need to be on the right uh network so whatever network i selected there it's checking to make sure i have that and you know speaking about the networks and stuff like that i think it's very important to know that this is maybe the most important piece of tech you can learn in blockchain space right now because this is ethereum this is binance chain this also applies on polygon this also applies on orbit from optimism whatever project that is really growing right now will be efm evm based and evm means that it's exactly the same process for developing and deploying and running so when i'm speaking to developers and i'm telling them that evm is like html of blockchain you don't even have to run it on ethereum just like html and javascript there are so many different engines underneath and really how javascript started versus how it is today under the hood is very different but the interface the programming language is basically the same so the same thing is with all of these processes even if you think that ethereum because many people say you know hidden resources all this and that it doesn't matter because this kind of knowledge this kind of framework this kind of tool can be used anywhere and it's very likely that it's going to be evm that is going to be the programming interface and the execution environment on that blockchain because that's what most developers know right now and also if you think about it maybe evm is not the most ideal way of building dapps and running a blockchain but so is not html and javascript and css i mean what a mess of tech we have on the web html css javascript php no it's it's a mess but it is like that because people use it so i think it's going to be vm that is that is basically html of crypto and finance in the future really but the most important thing here to understand is that this is cross chain it's not only about ethereum i think yeah i think that's a great way to say that and i scrolled through the networks there there's a ton of networks but you'll see there we just made a transaction on covan it said it was successful the purpose is updated so so we've tested we've got a local front end talking to kovan but what we're finally waiting for is once once that's built we can do a yarn surge and i can push this up and i can send you the url let's do search what are we going to call this domain for purpose let's see if it goes let's see if it lets me have that domain oh it's going okay so then if you any if anybody out there wants to they can go to perpee.search.sh once this finishes uploading here and you can connect your metamask and you can set it to covan and you can set the purpose over here in this example ui so we were able to go from tinkering with solidity to now anyone can go to perpe.sh or dot search sh and we've deployed a decentralized app both the front end and the back end and if they go here and they say test and they hit go oh i don't have any i gotta have to connect something here we go connect connect one of my meta masks set the purpose to hello on purpee.search.sh hit go there we go we're just making a transaction on the public network cool so that's like fully like that's from zero to one basically we we've we've uh learned we've tinkered with solidity in our your contract we've we've deployed that contract uh to to a public chain and then we've kind of built out a small little front end but you can see how you can see how you would tinker with this for a little bit and then end up building out your front end like okay what are the important things i'm gonna set up a hook to read those things i'm going to show off you know display certain values put in some certain buttons uh we could look at these buttons real quick in the example ui but i think what you wanted to hit on next is just like what's next sort of like once you're up the dunning cracker and you've got solidity what's next right yeah exactly exactly because i think many people when they start facilities start with guessing up front and going they really see the magic and they get started however it is also the fact that you have so many high level concepts in in crypto for example liquidity on an exchange you have to do a bunch of aggregation a bunch of calculation on chain to even show that or how do you show all tokens for user without asking each and every token smart contract so these a bit more high higher level concepts and how to query them let's discuss that and let's get into this concept of sub graph which i also saw you guys have a a button for so let's talk what that is why it's important and how we use it okay i think that it all it all is based like we should start with talking about events right so smart contracts can trigger events and these events are basically just used for your front end it's it's like really cheap smart contract storage and the gotcha there is one smart contract can't read the other smart contracts events so it's just for us it's just a way for the chain to sort of emit this data that then we can go read and we have this happening here as as someone sets the purpose here and they hit set purpose and they trigger a transaction then down here are the of these events so we're listening for the smart contract to emit these events there we go so so we have an uh use event listener hook and it's just listening for those events and it's listing them here in this list but that this can get overwhelming right imagine like this is great for me or even if this was like a decentralized bank and every deposit and withdraw you wouldn't just show someone's balance you would want to show the record of each deposit and withdraw but if this was something where thousands of people were interfacing with it on a daily basis and we were showing all the events of everything happening it could get really really big and that's why i jump over to nifty inc because this was kind of the reason why we had to switch uh to using uh uh the subgraph is because if we want to query all of these things we basically would have to query let you know there's probably been i don't know maybe 10 000 of these things made or thousands of these things have made we would have to listen to all those events and then parse through all of that on the front end and it just doesn't make sense to do that so once you start with your contract make sure you have events for everything make sure it's displaying and you're using it like this to prototype but then there's like a step up where you could go to the sub graph and you can kind of have a middleware layer that reads reads all these events and then keeps them for you in this middleware database but i think even more we should kind of like slow pitch this onto the morales stuff and talk about how maybe your stuff could fit in here as a as another option or even like probably fit in in this app.jsx where we would bring in some morale stuff yeah exactly and i mean the whole idea with morales is that we we've all gone through this process and we also run imantec academy and we see all of our students go a similar process that they come into blockchain they learn all of these simple things but then they think that everything is simple but they cannot do it for example how do you get all tokens of a user like we said you basically have to query all the token smart contracts or how do you log in a user cross chain and keep all of their transactions cross chain so that's that is why we have this morales api and if you go to crypto login in the menu you see that we've also done a wrapper around the web3 and ethers which is morales.web3.authenticate which will bring up metamask as web 3 as ethers but when the user signs in the address gets synced and we take all transactions on all blockchains that this address that the user is using has been active on we get all of the transactions all of the nfc balances all of the token balances and we give you that data already from fro from from out of the box so if you go to our landing page which you saw previously in in your in your other tab right there exactly you see as soon as you authenticate you get the address the transaction you can even add an email and the name like we see in the picture you can set send emails to your to your user so this is a mix of both off-chain and on-chain profiles and on-chain profiles it means that you get everything about the user on all chains all balances all transactions but also you can have a user profile with many different addresses because right now in many dapps you have a user but the user can have 10 addresses all of us who are using a dex most likely we use a lot of addresses why because otherwise everything you do is on chain in one address and so many people would do is that they have 15 different addresses on different chains and how do you calculate taxes for all of that well the tax app better have a user profile of you where you can collect everything so this is really a layer on top of your solidity and this is perfect integration into scaffold which we hope to integrate into your project austin because we think it's amazing and and it would be even more amazing if we can offer scaffold to our community and they can get their smart contract their ui ready and also they get all of the power of morales for example with with all of the user things how to get all the user information but also more higher level things and let me also discuss a bit what i mean when i say higher level things i mean for example that when you have transactions going from user to user that's very basic but then on top of that you can calculate the volume what was the daily volume in a certain smart contract then you need to basically calculate all of the sum of all of the transactions and then you get the volume and then based on the volume you can calculate even further you can you can calculate liquidity you can calculate a lot of these higher level concepts but to get to to these financial higher level concepts you at the end they have to start with just transactions and to index all of this on the chain like for example binance chain or polygon where blocks are coming each and every three three seconds and there's thousands of transactions in one block that's very very compute intensive and it's a whole big big data system you have to build and that's also what morales offers you can watch any event you can calculate liquidity you can calculate whatever you want and it's all instant all simple all instant easy api easy sdk so that is where we feel that we're we're feeling a big big need because with morales you can literally build whatever you want without worrying about indexing or you know building this infrastructure that you normally would do and it's so fantastic because we truly see the magic in people's eyes when they see it that is you know everything is one line of code and this is how it should be this is how it is in web 2.
in web 2 you have so many frameworks to manage your user across different identities you can log in with google with facebook with email password and it's so easy to track that but in blockchain today it's not that easy and to even you know have all of the history in an easy accessible way so yeah this is this is uh morales and uh we're looking forward to building a branch on scaffold where people can get started with morales also by just you know downloading scaffold and i think what's really missing from the space today is how to get started quickly for developers most developers are not even hearing crypto we have right now maybe a hundred thousand maybe 200 000 developers in crypto and worldwide there is 28 million so it's less than one percent so of course whenever people search how to start a blockchain app they should find scaffold they should be able to run it and get their environment and also with morales get all of their user data quickly quickly quickly and and have a database of users and do different aggregations and calculations so this is the future of development that that we're foreseeing that that is coming up on us one one thing i wanted to show is this is the this is called the punk wallet this is a product that we made where uh your your identity is tied to uh uh punk and it's deterministic so it's always going to be and then if i if i copy this punk's address that i pasted in over here we see the nice preview right the address becomes that that punk face and i can send you know maybe let's send a dollar to this punk right and i'm sending it on my local test net we're running on localhost here which is a neat little piece of the product but the problem here is if i wanted to show transaction history it would be a nightmare it would be it would and and i did that like back in the day with the x die with the x died burner wallet io i think it shows transaction history oh wait there it is yeah it shows transaction history but the way it does it is it it basically looks at the current block looks at all the transactions in the current block looks to see if this this address is there and then works backwards the front end basically does it all like basically does it it's all and it loads it and it takes forever and that's unaware that's also why all the apps have some kind of backend and that's also why we call morales that you can build serverless that because with morales you don't need a back and you get everything from our sdk and we do all the heavy lifting i mean another such thing is to calculate if you're looking at an erc 1155 is to know which tokens are burned and not burned because you don't know if you don't go through all transactions and don't look at every time somebody sends to zero x zero to a address i mean that's the only way to know which tokens are still alive and not and and that's why you basically need to have your own index of all of this and in some in some ways it is it looks easy because you see ethers can't do it you see ethers can show all transactions but you don't really understand how much complexity is so much behind where you see for example openc or wearable do it and you don't really and you you as a developer oh but that's so easy because it's so standard everyone is doing a wearable does it open c does it but if you only use ethereum only use the basic tools it's very difficult and that's also why morales is there to get get you all the same features all the same tools all the same infrastructure that all the big daps have you get them for free completely out of the box with the simple sdk awesome that's a good show man you you've been out this for a while let me let me jump in uh so so let's say you've got your app built you've got morales in it you're you're like you're you're uh you're ready for production you deploy it out there uh throw it back into these branches because we have so many cool branches like wait i don't even know what we're looking let's look for chain link there's four different chain link branches let's look for commit commit reveal there's three different commit reveal what about like a bonding curve there's two different bonding curves so there's there's just so many different branches of things that you can look for search for them here if you go to branches and go to active you can see all the cool stuff that we're working on uh and i just wanted to dive into the build guild real quick this is kind of like the next step so like as a builder as you're building components if you're looking to build things if you are building things with scaffolding we're basically funding developers there's a bunch of developers that i stream eth to for building on scaffold eath and so like that but with the north star their their goal is to basically just build cool branches of scaffold eath that are are there's the punk wallet there that are let's just grab the simple nft example here so it's gonna set you up with uh an nft contract right you're gonna have a collectible uh it's gonna set you up with with a front end it's gonna show you like step by step here's how you set it up here's how you deploy your nfts here's how you mint your nfts you can send them around to different addresses kind of like that whole tinkering with it and playing with playing with how the app works and so the build goes like just like a layer of incentive incentivization on top of all of it but just look for all these branches if you go to build guild you can type in nft see all of our nft projects so lots of lots of fun stuff for developers i mean it's between this is perfect for um for our community and our uh and our project as well why because we need a bottle plate basically bootstrap for morales how to get started instantly with morales and of course we could build ourselves but why because you guys are building each and every day and we just have to maintain our specific integration and our specific part and you guys will continue pushing developing the you the ui examples and so forth so it's fantastic and that's why the incentives are so aligned with your project and so many other projects like ours for example and so to round this interview off what do you think will happen to other blockchains do you see any kind of development growth anywhere else outside of it personally i have a bit hard time seeing that but also it feels strange that it will not be like that that it will basically it is if and that's it it feels too simple do you think that it will be like that or you feel that something else is growing that we don't see yet but we should be paying more attention to i think that you dug into it earlier by saying evm compatibility i think that there probably are and we saw like a couple other l1 some side chains some other things like we see competition to eat as as the degentrification is happening and people are spilling off into these other chains it happened and people were competing for that spill off but the key piece to being able to compete is to be evm compatible and that's what all these tools are is evm compatible so i do think and and just like to credit other people that aren't evm compatible i think there are use cases for those i i like flow comes to mind like that that seems like if you wanted to create an nft chain for a specific use like maybe you could create a blockchain that's like fitted for that but the the way ethereum is just basically a substrate for innovation right it it takes care of the we have a bunch of protocol nerds that figure everything out and get that thing working really well so a product developer can drop in and start building a product that people can use on top of that substrate and it's going to be decentralized you're going to have good good tools coming into it finally it's been a while like it was hard to build in this space like even now me showing off console log earlier like it was like right exactly no and i usually also compare this to the iphone because what if iphone came out and you could not call all the older phones it would be completely useless but iphone was backwards compatible with all older phones and then it added its own innovation and then it took it from there so it's very important for a new take to be compatible with old tech and maybe potentially in the future it will flip it also if you watch andreas antonopoulos he has a very good analogy with bitcoin that bitcoin in order to use bitcoin still today you need to use the financial rails of the past you need to do bank transaction kyc this and that and that's because always new technology has to use the old infrastructure before it flips so in the future everything will be on bitcoin on a theater and this is like it was in the past when cars were a new invention you still had to drive them on the mighty road and it was horrible people said cars will never succeed look they cannot even do this do this muddy road and the horse it can jump across the muddy road so easily but then it flips then the infrastructure flips now horses go on asphalt so the same thing will be with bitcoin banks that banks will be running on top of crypto networks and if somebody is to flip if they have to first run on each like the cars on the mighty road and then potentially they can flip it so that that is a good strategy that somebody could use but i i don't see that in the on the horizon even right now but if it happens we will be ready for it exactly we're product builders it's about putting something in someone's hands and having them use it right getting users and and having them like have a delightful experience and do something they've never been able to do before awesome awesome thanks a lot for uh guesting the channel guys go subscribe to austin on twitter on youtube go and uh download the scaffolding try it out and maybe even commit to it because you can he will stream minus you so how can how if if somebody wants to get some of that stress basically the onboarding process for the build guild is to create something cool with scaffold eat and post it into the channel and if you post something cool and you're building something cool and usually it's like okay you built something awesome let's build something new let's build a generic component how about let's build a simple tv the no there's a telegram channel it's like hidden a lot of the githubs there's a telegram channel there's there's lots of telegram channels for different scaffoldings like even like challenge one has its own channel where you would post the the your solution to challenge one and then challenge two has a different channel and uh there's a scaffold eat channel but there's also a build guild channel so it's kind of like dump it in there we'll find you yeah yeah and the thing is it's like you said it's the rpg you gotta be accepted into the guild i played a lot of runescape in in the past so it's been good times and it reminds me it reminds me of that so guys go join and austin thanks a lot thanks for having me
Up Next

How to Deploy a Subgraph to Subgraph Studio: A Step-by-Step Guide for Blockchain Developers
@GraphProtocol
7.5K views•2023-05-19

IFS Therapy Demonstration: Complete Session with Unburdening
@IFSCA
95.9K views•2021-01-13

FastAPI vs Flask vs Django: Choosing the Right Python Web Framework
@TechWithTim
302.5K views•2024-05-26

Game of Thrones Opening Credits: A Cinematic Analysis
@gameofthrones
46.3M views•2011-04-18
Related Study Plans & Knowledge Roadmaps
Structured learning paths in General & Interdisciplinary Studies






































