Is Web3 all Hype? Top 10 Web 3.0 Questions & Answers

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
in the beginning god created web 1.0 it was an information superhighway of documents connected together by hyperlinks and it was good around 2004 we saw the emergence of web 2.0 where more people started participating in the web through platforms like facebook youtube twitter and many others it led to massive centralized tech corporations that dominate the flow of information and money on the internet we live in interesting times because we're at the tipping point of web 3.0 a decentralized but secure internet where people can exchange money and information without the need for an unnecessary middleman like a bank or tech corporation today's video is a complete introduction into the wild world of web 3.0 as an experienced developer it's humbling to get into because it makes you feel like you know nothing again we'll take a look at the ecosystem from a high level and try to answer all the stupid questions that you'll have when you first get into it like is web 3 all hype and should i even bother getting into it i would say yes to both there's obviously a ton of hype around web3 but not everybody's buying it even papa elon said that it sounds like bs just a few days ago i love the vision of putting the web back in the hands of the people but the reality is that many of these companies and the cryptocurrencies that they issue are controlled by vulture capitalists and silicon valley insiders that's not always the case but much of the industry is propped up by fomo and there's a lot of scams and shady stuff to watch out for and there are smart people out there making a very good argument about how web 3 doesn't have the computing power bandwidth or storage to scale on any practical level the shills out there will tell you that crypto is growing faster than the internet was in the 90s but that's a dumb argument because crypto is built on top of the internet itself you could use the same logic for tick tock crypto is never going to be as revolutionary as the internet was but that doesn't mean it's not going to be a big deal here's how i look at it i think the best case scenario is that it's like 1992 and things are just getting started web 3 is going to grow for another 10 years and completely revolutionize the way the world works on the other hand the worst case is that the cryptocurrency bubble has already burst and as it crashes it's going to take web 3 down with it for perspective when the dot-com bubble burst the stock of amazon declined by 90 and they were one of the lucky companies that actually survived if ethereum declines 90 just imagine what that will do to hashtag web3 but my next question is do we even need cryptocurrency to build decentralized apps i built a decentralized app on this channel just a few months ago with gun js it uses cryptography and web technologies and has no requirement for blockchain technology at all decentralized tech has been around forever like peer-to-peer file sharing with napster back in the 90s or bittorrent which has a hundred million monthly active users that being said cryptocurrency is still kind of essential because you need some form of payment to build up a creator economy and banks are not an acceptable solution there it also provides the incentive for people to provide the computing infrastructure that make the whole thing possible speaking of which how does a decentralized app or dap on the blockchain work let's use the ethereum blockchain as our example although there are many alternatives with different trade-offs out there ethereum is like a giant network of computers where all the participants agree on the same state of the data throughout the network now ether is the cryptocurrency on the ethereum network which is used to create transactions that change the state of the data when you broadcast a transaction you also offer up a small amount of ether which provides incentive for another computer in the network to execute the transaction this is also called a gas fee and conceptually it's similar to paying aws for cloud computing resources if you want things done faster you pay more gas normally when you build a web application you write some back-end code then deploy it to a centralized server like aws for a decentralized app on the blockchain your backend code is contained in a smart contract usually written in the solidity language which is just an application that lives on the blockchain that can govern the behavior between multiple accounts a decentralized app also needs to have a front end which can be built just like a normal website except for the fact that user authentication works in a completely different way so how does user identity work in a decentralized app unlike web 2.0 the end user owns all of their data there's no need for you the developer to collect a username and password the end user has a public wallet address that can receive payments and a private key that can sign transactions to send payments to someone else the user can connect their wallet to a browser plugin like metamask your friend application like a react app for example can then interact with that user's wallet to do something interesting in the ui like purchase and nft um but what is an nft well actually what is a token a token is just a digital asset we already looked at one example in this video ether the currency of ethereum it's a digital asset that you can trade with other people but the cool thing is that developers can create their own tokens in the form of smart contracts it's basically just a number in a smart contract mapped to a wallet address in fact if i wanted to create my own cryptocurrency i could do so by writing a smart contract that gives myself an initial balance of 1 quadrillion tokens which i can then sell to you for one dollar a pop then you sell it to your friends for two dollars then they sell it to their friends for three dollars and we all get super rich now i know that sounds like a ponzi scheme but everything is a goddamn ponzi scheme with the us dollar being the leader in this space so no need to worry about ethics or anything in this example we've created a fungible token which means that one token is always the same value as another token of the same size one coin is always worth the exact same as another coin but tokens can also represent assets that are not exactly alike like baseball cards real estate digital artwork and stuff like that these are examples of non-fungible tokens each token is unique and represents a different item which means that its actual market value might be different when you go to trade it in for some other kind of currency you've probably seen the nft craze with entire marketplaces like open seas popping up to sell digital artwork as non-fungible tokens which is actually a great example of a highly polished web 3 app now i want to switch gears and talk about technology what does the front end of a web3 application look like for the most part it's not much different than a normal web app you'll likely use a ui library like react along with all your other favorite front-end tools things become different when we start talking about user authentication because like i mentioned earlier the end user uses a plugin like meta mask to make their public wallet details available to a decentralized app now the question becomes how do we as developers connect to meta mask it's actually really easy because metamask creates a global object on the browser window that we can use to access details about the wallet now figuring out what to do with this data is actually pretty complicated but luckily there's libraries out there to make our lives easier the two most popular options are web3.js and ethers.js they provide a javascript-based api making it much easier to interact with the end user and smart contracts on the blockchain here's an example of how the process might look we create a provider with the window ethereum object which is used to then create a signer you can think of that as the current user we then connect to a smart contract then change the state of it which will require the user's approval and is based on the logic and the smart contract itself and that's all it really takes to initiate a transaction on the front end the front end stuff is pretty simple but what does the back end look like in a web web3 application well it's probably a lot different than what you're used to as an old-timey web developer instead of a server and database like php and mysql you'll be writing smart contracts there are frameworks out there designed to streamline development two of the most popular options are hard hat and truffle when you add them to your project they'll give you a place to write a smart contract in the solidity programming language i have a 100 second video if you want to learn more but it's basically an object oriented language designed specifically for writing smart contracts on the blockchain that may sound intimidating but there's a project out there called open zeppelin that provides templates for writing smart contracts that comply to industry standards making it extremely easy to implement reliable code out of the gate now the other thing a development tool chain will do for you is provide a script to deploy your smart contract to the blockchain it's just a simple node script that signs a contract with your credentials and deploys it to an address on the blockchain now you might be wondering how do i test this code before i deploy it because i have no idea if this thing actually works that's another thing that hardhat and truffle can help you out with they can create a testing network on localhost then generate a bunch of wallet addresses loaded up with fake crypto that you can use for testing in the browser you can connect metamask to your testing network instead of operating on the actual ethereum network in addition if you're building a serious app you should consider writing automated tests for it and there's a library called waffle that can help you do that that's what a basic decentralized app looks like but one more stupid question you might have is do i store all my data in the blockchain the answer is no it's not efficient or necessary to store everything in the blockchain and that's where off-chain storage comes in in some cases data might be too large to store on the blockchain or it might need to be modified or deleted which is not possible in a blockchain where all the data is read only the most common solution is the interplanetary file system or ipfs it's a decentralized way to share files very similar to the way bittorrent works and there's also databases built on top of ipfs like orbitdb and threaddb which is kind of like a peer-to-peer version of mongodb if you've made it this far in the video you might be thinking web3 looks awesome but how do i get started i'm working on a full step-by-step tutorial that will be out on the channel soon so make sure you're subscribed to catch that the easiest way to start messing around with smart contracts is with the remix ide it's a browser-based tool that will handle all the compilation and everything for you so you don't have to mess around with any javascript on youtube there are a couple of really good channels that i want to mention one is hash libs for working with nfts and the other one is nader dabit just for all around wisdom related to web3 i'm gonna go ahead and wrap things up there if you have more questions about web3 let me know in the comments and i'm curious to know if you think web 3 is the future or if you think it's just a big nothing burger thanks for watching and i will see you in the next one
Info
Channel: Fireship
Views: 263,031
Rating: undefined out of 5
Keywords: webdev, app development, lesson, tutorial
Id: wHTcrmhskto
Channel Id: undefined
Length: 9min 28sec (568 seconds)
Published: Wed Dec 08 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.