Blockchain Developer Roadmap - Become a Web 3 Developer

Learning to Query and Interact with Smart Contracts

If you're writing front end code but want to understand how to query the blockchain, understanding how smart contracts emit events is essential. A smart contract can emit events that can be queried by off-chain applications. To get the most up-to-date state from a smart contract, developers need to use getter methods associated with it. These methods allow off-chain applications to access the latest state of the smart contract.

To take on-chain data and bring it off chain and process that and present that, developers need to learn how to interact with smart contracts. This involves using libraries such as ethers that can help you do this. There are many different ways to query smart contracts, including raw Json RPC calls or by using a library like ethers in JavaScript.

For example, popular programming languages have APIs or wrappers around blockchain networks like Ethereum or Bitcoin. These APIs allow developers to interact with the blockchain and use it for their applications. However, learning how to use these APIs is relatively easy once you start working with smart contracts. The next section we move into is web 3 tools.

Professional Development Tools and Decentralized Applications

To develop decentralized applications at scale, professional development tools are essential. These tools allow developers to write smart contracts and test them locally without having to rely on the Ethereum test network or the main network. One such tool is Hardhat, which is a development tool that can be used to test smart contracts locally as well as to run a local blockchain network.

Hardhat allows developers to get unlimited ether on a local network, making it an ideal platform for testing and developing smart contracts. To deploy a smart contract to a main network, developers need to use the Hardhat CLI or another deployment tool. Protecting private keys is also essential when deploying smart contracts to the main network.

Best Practices for Web3 Developer Tools

Once you've learned about professional development tools, it's time to learn about best practices for web3 developer tools. This includes learning how to protect your private keys and prevent leaks. Developers should also learn how to test their smart contracts locally before deploying them to the main network.

To do this, they can use the Hardhat CLI or another deployment tool to deploy their smart contract to a local network. Once deployed, developers can test their smart contract by interacting with it through the web3.js library or other client-side libraries. This will allow them to verify that their smart contract is working as expected.

Full Decentralized Applications

Now that you've learned about professional development tools and best practices for web3 developer tools, it's time to start building full decentralized applications. These applications involve creating a secure backend with a single source of truth using smart contracts, and then creating a front-end that provides a user-friendly interface for interacting with the application.

This can be done by writing client-side code using libraries like React or Angular, and then integrating the web3.js library to interact with the blockchain. By building full decentralized applications, developers can create secure and scalable systems that are resistant to censorship and other forms of interference.

Project Ideas

If you're looking for project ideas to get started with web3 development, there are many options available. One idea is to build an NFT token using a library like OpenZeppelin or ERC20. Another idea is to create a decentralized banking system using smart contracts.

You could also build a decentralized voting protocol that allows users to vote on proposals and decisions. Additionally, you can work with oracles like Chainlink to integrate off-chain data into your smart contract. These are just a few examples of the many projects you can get started with in web3 development.

Conclusion

With this article, we've covered the basics of querying and interacting with smart contracts, professional development tools, and best practices for web3 developer tools. We've also discussed full decentralized applications and provided some project ideas to get you started.

If you want to learn more about web3 development, I recommend checking out my course Blockchain Expert. It's a comprehensive resource that covers everything from the basics of blockchain and smart contracts to advanced topics like professional development tools and decentralized applications.

In conclusion, learning web3 development is an exciting and rewarding journey that can help you build secure and scalable systems on the blockchain. With practice and patience, you can become proficient in web3 development and start building your own decentralized applications today.

"WEBVTTKind: captionsLanguage: enthank you in this video I'm going to share with you a practical roadmap of all the skills topics and technologies that you need to learn to become a blockchain or web 3 developer now fortunately for you if you already know how to code this is actually a pretty simple thing to get into and I would imagine that after the next four or five months if you really put your head down and tried to study this content you'd be ready to land a pretty high paying web 3 or blockchain development role now one of the reasons for that is that all of this stuff is so new and a lot of companies are in desperate need for developers there's a ton of new startups right now a ton of web 3 companies and they need to hire blockchain and web3 developers and the fact is there's just not enough of them out there not enough people have these skills and what that actually means is a lot of these companies are hiring developers with no blockchain skills with no web 3 skills and training them while paying them so that they're qualified for the job just because they need developers and they can't wait they need to train people that need to get people into this industry and I myself work with a lot of web3 companies this is what they're telling me and that's why they're paying me to create web 3 tutorials to teach you guys so that they can hire you thank you so with all of that said I have a quick announcement that I need to make here before we dive into this content and that's that pretty much everything you're about to hear me talk about in this video in terms of what you need to learn is available in a course that I'm launching today called blockchain expert now this course available from the link in the description we're doing a 25 off sale uh kind of for the launch events if you want to take advantage of that please do and this course is made by myself the algo expert team it's actually reviewed by chain link Engineers to make sure everything is completely accurate and that it has the most up-to-date blockchain information and this is a massive course with almost 30 hours of video content that teaches you again everything you need to know to become a blockchain developer I'll quickly run through some of the topics and kind of sections that we have in there but we teach you blockchain fundamentals all of the security mechanisms like how do transactions work how are blocks working what is proof of stake what is proof of work and some of the mathematics and cryptography behind that we also get into ethereum a little bit of decentralized Finance we then of course teach solidity so basic solidity as well as advanced solidity code we show you how to deploy smart contracts how to interact with them using JavaScript how to use web3 tools for real professional development how to test your smart contracts and then lastly how to create fully decentralized applications that run entirely on a blockchain network and have a full front end and act just like any other application that you've built before so if you guys want to learn this please check it out from the link in the description I've spent a massive amount of time working on this and just like programming expert kind of my other main course this really is something that is just great value you guys are going to see I think you're all going to enjoy it and love it and in my opinion it's really just the best resource right now on the internet to learn blockchain development now I know this is kind of a huge ad in the middle of this video but what I'm going to do now is walk you through the curriculum that essentially this course covers and if you don't want to go through the paid course that's totally fine you can learn this stuff on your own and I'm going to give you everything that you need to do just understand it is going to take you longer and you're probably going to be finding some kind of inaccurate information and missing all of those practice questions assessment questions projects Etc that you'll get with kind of a premium offering like blockchain expert so anyways let's get into it here and let me walk you through kind of the first thing you need to learn if you want to become a web 3 or blockchain developer now that's going to be blockchain fundamentals and blockchain Theory now what I mean by that is understanding how a blockchain network works what is a blockchain how do you send transactions how are transactions secure and digitally verified what are blocks what is proof of work what is proof of stake you need to dive into the theory behind all of this and understand how these networks like Bitcoin ethereum Solana all these other popular cryptocurrencies understand how they actually work how they function on a lower level in my opinion you can't even go and start writing smart contracts or doing any programming until you understand those kind of Concepts and if you're an investor in the space as well I definitely recommend that you learn all of this stuff because it allows you to actually kind of see through kind of some of these scams or Ponzi schemes and see when a network is actually providing real value based on the security features different types of nodes that they have Etc so obviously I could go into some more depth here but the general concept is you want to understand even at kind of like a mathematical level what is a proof of work what does that actually mean what is a minor how do you mine a block how are blocks formed I send a transaction to the network to send you one Bitcoin what is that Transaction what is that actually composed of how do I create that what is a digital signature what is a hash function that's the kind of stuff that you would want to learn in this section and of course it's all taught on blockchain Expert so now moving on to section number two once you understand this core Theory and you have a really good understanding of how blockchain networks operate and kind of the importance of decentralization and the security that it provides you want to start looking more into specific blockchain networks like ethereum and learning about decentralized applications so in that first section for example you could have just learned about Bitcoin and kind of what the Bitcoin network does however smart contract development is kind of a whole separate section outside of just blockchain networks and you want to understand uh what is meant by say Turing complete so a language like salinity or a platform like ethereum is Turing complete what that means is that it can support smart contracts and smart contracts are essentially code that are sitting on the blockchain that follow the same properties of the blockchain right they're immutable they're decentralized they're publicly available and you can interact with them and create applications using either one or multiple smart contracts so you want to obviously understand what that is and how that works then you want to start looking into tokens nfts all of that kind of stuff so what is an erc20 token uh what is a peg right when a token is kind of paid to a certain asset what does that mean how do pegs lose their value you want to learn about ERC 721 tokens which are nfts right regardless of what you think about them what does it mean for a non-fungible token to exist what does it mean to hold a non-fungible token how do non-fungible tokens prove ownership so that's what I would start looking into here and just kind of understanding what it means to be a token versus be a coin versus Bia ERC 721 token Etc all right so now that we've got most of the theory out of the way it's time to actually write smart contracts and learn about well creating smart contracts and deploying them on the blockchain now the thing with smart contracts is that this is a very different type of development than writing traditional code that you would run in like python or job JavaScript or any other modern programming language solidities programming syntax is very similar to that of something say like Java however it's a very different kind of way of thinking about structuring code and you're very limited in terms of the number of computations that you can do and what you're actually able to do on the blockchain especially when it comes to data so there's a lot of limitations you're going to have to learn about here and it's worth spending kind of a day or two probably just digging into how does a smart contract work what can a smart contract do what can a smart contract not do and what are the different operations that a smart contract kind of gets invoked by so you have to imagine a smart contract is sitting on the blockchain and unlike Cody may be running on a centralized server it's not like listening for events it can't kind of react to something happening like it can't react to an HTTP call or some data changing in another smart contract what needs to happen is you need to manually invoke this by sending a transaction now when you send a transaction the smart contract can handle the transaction by running a specific function and it can then perform some action which May update some state it may send you some ethereum for example it can do a whole bunch of stuff but it's only going to do that when you send a transaction now another way that you can kind of use a Smart contract is through something known as a call now a call is a read-only operation where you call into the contract and you read information about it you read State that's stored in the contract so you have to understand the difference between a transaction and a call now continuing when we talk about State and storage that's when you get into the different storage locations of a spark contract so a smart contract stores data on the blockchain some permanent some not permanent right so your permanent data is stored in what's referred to as storage or state now this is a very expensive but permanent and secure location to store data and when you do a smart contract call typically you're reading the state from that smart contract and when you do a transaction you're paying gas which is your fee to essentially update that state or change it in some way hopefully that makes a little bit of sense but that's kind of the basics on state now beyond that you would have memory call data and the stack which are your other storage locations which of course you have to learn about and understand how they work beyond that you're going to have to look at stuff like visibility modifiers so in solidity just like in a language like job about you're going to have your internal external private and public visibility modifiers that you can use on functions variables Etc you're also going to have to look at the limitations on executions so a smart contract cannot run for an hour right it can't do 10 billion operations you're very limited in what you can actually do and there's some computations that you just cannot perform or that you have to perform over multiple transactions because you can't send enough gas which is kind of the fuel that's used for operations on the blockchain to kind of be executed and performed for example if you try to do say 10 000 iterations of a for Loop most likely your transaction is going to fail you can't even do that many so in terms of writing code you have to be very careful how you do that and really think about the way in which your smart contract works now of course we then get into security if you're going to be sending funds to a Smart contract which can happen a smart contract can hold money just like any other say ethereum address you have to think about okay how am I going to get these out is it just the deployer of the contract that gets this month money how do other people get this money how do I avoid exploits how do I make sure that people can actually get the money out all kinds of different considerations and again all of this kind of stuff you have to learn right and you can learn this from blockchain expert of course all right so moving on from what I was going to call kind of the solidity fundamentals or a smart contract fundamentals which would be our last section now you have more advanced smart contract development now when you get into this section you're learning more about kind of arithmetic limitations of smart contracts overflows underflows how to do like fixed Point math even though it's not really like a possible thing you can do but kind of there's ways around it in solidity and smart contracts you're going to be learning about stuff like modifiers structs enumerations inheritance libraries interfaces and more advanced kind of let's call them object-oriented style Concepts inside of solidity once you learn these kind of more advanced solidity features you're going to be at a point where you understand most of the solidity programming language it's not overly complicated language and then it gets down to actually practicing a bunch and making sure that you're kind of verifying your knowledge right which is why a platform like blockchain expert would be great with all the practice questions assessment questions and full projects to make sure you actually understand what's going on now at this point you're also going to realize that there's so many different solidity versions and information you're getting from the internet most likely is outdated versus the newest solidity version so you have to be very careful where you're getting your information from because a year ago or two years ago what you could do with that solidity compiler version is much different than what you can do with this solidity compiler version and kind of limitations and what's now best practices so that's why again I'm going to keep plugging it something like blockchain expert is a great resource because everything there is correct it's up to date with the current version and you're not going to be kind of finding incorrect data on that site all right so at this point you now understand how to write a smart contract you understand things like gas transactions calls the different storage locations some Advanced solidity features and you should be comfortable writing smart contracts understanding the logic within them and using kind of more advanced solidity features now that you know this what really comes next is actually being able to utilize your smart contract in some kind of meaningful way at this point you've just been able to do kind of simple tests with it you haven't been writing a real application and now you need to learn how to interact with smart contracts now in a course like blockchain expert we teach you how to do this with JavaScript because that's typically where you're going to be doing it especially if you're writing a front end however you want to understand how to query the blockchain how do I look at for example events which can be emitted by smart contracts how do I get the most up-to-date state from a smart contract how do I use the getter methods associated with it and how do I take on-chain data and bring that off chain and process that and present that and do something with that so that's what this kind of section is about and there's all kinds of libraries for example like ethers that can help you do this so you need to learn some kind of framework or some kind of interacting with smart contracts method again there's a lot of ways to do this and you can do this kind of in a raw format if you're using something like Json RPC calls however you can also just pick up a library like ethers if you're working in something like JavaScript and kind of learn the methods and whatnot that it has associated with it of course all your popular programming languages are going to have let's call them kind of apis or wrappers around a blockchain network like ethereum or Bitcoin but you want to learn how to use those and this shouldn't take you too long to do now once you've learned how to interact with smart contracts the next section we move into is web 3 tools you want to learn professional development tools and how you can actually kind of write smart contracts and decentralized applications at scale so it is very inefficient and not cost effective to have to be using for example a uh ethereum test Network or the actual theory of main network if you're trying to test smart contracts or decentralized applications so you want to be learning about something like hard hat which is kind of a uh what's called a development tool that you can use to test your smart contracts locally as well as to run a local blockchain network which you can get kind of unlimited let's call it ether on and kind of mess around with right so you want to learn about those more advanced tools how do I deploy to my local network how do I test locally before deploying my smart contract to a main Network how do I protect my private keys and make sure that I'm not leaking any of that and just kind of the best practices when it comes to web3 developer tools now once you've done web3 develop developer tools now you're at the point where you know really everything there is about blockchain and blockchain development as I said this is not actually an overwhelming amount of content it's pretty digestible in a few months now once you're at that point and maybe even before you get to that point you want to start working on projects right full decentralized applications where you take everything you just learned and you apply that in one now applications I like to build are stuff like kind of an nft token for example an erc20 token I like to create you know some kind of bank accounts these are kind of your classical projects but then you want to work on stuff that's a bit more complicated so maybe you want to do like some kind of auction for example in blockchain expert we build an nft auction you may want to do a decentralized voting protocol which is another thing that we do in blockchain expert you may want to be working with an oracle an oracle is something like chain link that allows you to take off-chain data and put that onto the chain so that your smart contracts can react to for example the score in a World Cup game or something like that and you could do maybe a bet on the blockchain that actually is triggered by something that happens off the blockchain so there's all kinds of cool stuff like this and you want to start working on full decentralized applications that have a secure back-end smart contract that is your single source of Truth and then you have a front end which gives you a nice user experience and allows you to interact with this application just like you would a normal kind of web 2 app that would be running on a decentralized server all kinds of different projects you can get into and if you want some project ideas let me know and I might make a video on that in the future so with that said I think I'm going to wrap it up here now I do apologize if this video is a little in your face so there's a lot of ads kind of going on everywhere about blockchain expert genuinely I'm very passionate about this obviously I want to promote the course I spent a very long time building this I'm still going to give you guys a ton of free value on my YouTube channel like I always do but if you want to support me and you really want in one in my opinion is the best resource to get into web3 it's going to do it the fastest for you check it out from the link in the description there's a limited time sale going on I know you guys will find Great Value and I look forward to seeing you in another YouTube video foreignthank you in this video I'm going to share with you a practical roadmap of all the skills topics and technologies that you need to learn to become a blockchain or web 3 developer now fortunately for you if you already know how to code this is actually a pretty simple thing to get into and I would imagine that after the next four or five months if you really put your head down and tried to study this content you'd be ready to land a pretty high paying web 3 or blockchain development role now one of the reasons for that is that all of this stuff is so new and a lot of companies are in desperate need for developers there's a ton of new startups right now a ton of web 3 companies and they need to hire blockchain and web3 developers and the fact is there's just not enough of them out there not enough people have these skills and what that actually means is a lot of these companies are hiring developers with no blockchain skills with no web 3 skills and training them while paying them so that they're qualified for the job just because they need developers and they can't wait they need to train people that need to get people into this industry and I myself work with a lot of web3 companies this is what they're telling me and that's why they're paying me to create web 3 tutorials to teach you guys so that they can hire you thank you so with all of that said I have a quick announcement that I need to make here before we dive into this content and that's that pretty much everything you're about to hear me talk about in this video in terms of what you need to learn is available in a course that I'm launching today called blockchain expert now this course available from the link in the description we're doing a 25 off sale uh kind of for the launch events if you want to take advantage of that please do and this course is made by myself the algo expert team it's actually reviewed by chain link Engineers to make sure everything is completely accurate and that it has the most up-to-date blockchain information and this is a massive course with almost 30 hours of video content that teaches you again everything you need to know to become a blockchain developer I'll quickly run through some of the topics and kind of sections that we have in there but we teach you blockchain fundamentals all of the security mechanisms like how do transactions work how are blocks working what is proof of stake what is proof of work and some of the mathematics and cryptography behind that we also get into ethereum a little bit of decentralized Finance we then of course teach solidity so basic solidity as well as advanced solidity code we show you how to deploy smart contracts how to interact with them using JavaScript how to use web3 tools for real professional development how to test your smart contracts and then lastly how to create fully decentralized applications that run entirely on a blockchain network and have a full front end and act just like any other application that you've built before so if you guys want to learn this please check it out from the link in the description I've spent a massive amount of time working on this and just like programming expert kind of my other main course this really is something that is just great value you guys are going to see I think you're all going to enjoy it and love it and in my opinion it's really just the best resource right now on the internet to learn blockchain development now I know this is kind of a huge ad in the middle of this video but what I'm going to do now is walk you through the curriculum that essentially this course covers and if you don't want to go through the paid course that's totally fine you can learn this stuff on your own and I'm going to give you everything that you need to do just understand it is going to take you longer and you're probably going to be finding some kind of inaccurate information and missing all of those practice questions assessment questions projects Etc that you'll get with kind of a premium offering like blockchain expert so anyways let's get into it here and let me walk you through kind of the first thing you need to learn if you want to become a web 3 or blockchain developer now that's going to be blockchain fundamentals and blockchain Theory now what I mean by that is understanding how a blockchain network works what is a blockchain how do you send transactions how are transactions secure and digitally verified what are blocks what is proof of work what is proof of stake you need to dive into the theory behind all of this and understand how these networks like Bitcoin ethereum Solana all these other popular cryptocurrencies understand how they actually work how they function on a lower level in my opinion you can't even go and start writing smart contracts or doing any programming until you understand those kind of Concepts and if you're an investor in the space as well I definitely recommend that you learn all of this stuff because it allows you to actually kind of see through kind of some of these scams or Ponzi schemes and see when a network is actually providing real value based on the security features different types of nodes that they have Etc so obviously I could go into some more depth here but the general concept is you want to understand even at kind of like a mathematical level what is a proof of work what does that actually mean what is a minor how do you mine a block how are blocks formed I send a transaction to the network to send you one Bitcoin what is that Transaction what is that actually composed of how do I create that what is a digital signature what is a hash function that's the kind of stuff that you would want to learn in this section and of course it's all taught on blockchain Expert so now moving on to section number two once you understand this core Theory and you have a really good understanding of how blockchain networks operate and kind of the importance of decentralization and the security that it provides you want to start looking more into specific blockchain networks like ethereum and learning about decentralized applications so in that first section for example you could have just learned about Bitcoin and kind of what the Bitcoin network does however smart contract development is kind of a whole separate section outside of just blockchain networks and you want to understand uh what is meant by say Turing complete so a language like salinity or a platform like ethereum is Turing complete what that means is that it can support smart contracts and smart contracts are essentially code that are sitting on the blockchain that follow the same properties of the blockchain right they're immutable they're decentralized they're publicly available and you can interact with them and create applications using either one or multiple smart contracts so you want to obviously understand what that is and how that works then you want to start looking into tokens nfts all of that kind of stuff so what is an erc20 token uh what is a peg right when a token is kind of paid to a certain asset what does that mean how do pegs lose their value you want to learn about ERC 721 tokens which are nfts right regardless of what you think about them what does it mean for a non-fungible token to exist what does it mean to hold a non-fungible token how do non-fungible tokens prove ownership so that's what I would start looking into here and just kind of understanding what it means to be a token versus be a coin versus Bia ERC 721 token Etc all right so now that we've got most of the theory out of the way it's time to actually write smart contracts and learn about well creating smart contracts and deploying them on the blockchain now the thing with smart contracts is that this is a very different type of development than writing traditional code that you would run in like python or job JavaScript or any other modern programming language solidities programming syntax is very similar to that of something say like Java however it's a very different kind of way of thinking about structuring code and you're very limited in terms of the number of computations that you can do and what you're actually able to do on the blockchain especially when it comes to data so there's a lot of limitations you're going to have to learn about here and it's worth spending kind of a day or two probably just digging into how does a smart contract work what can a smart contract do what can a smart contract not do and what are the different operations that a smart contract kind of gets invoked by so you have to imagine a smart contract is sitting on the blockchain and unlike Cody may be running on a centralized server it's not like listening for events it can't kind of react to something happening like it can't react to an HTTP call or some data changing in another smart contract what needs to happen is you need to manually invoke this by sending a transaction now when you send a transaction the smart contract can handle the transaction by running a specific function and it can then perform some action which May update some state it may send you some ethereum for example it can do a whole bunch of stuff but it's only going to do that when you send a transaction now another way that you can kind of use a Smart contract is through something known as a call now a call is a read-only operation where you call into the contract and you read information about it you read State that's stored in the contract so you have to understand the difference between a transaction and a call now continuing when we talk about State and storage that's when you get into the different storage locations of a spark contract so a smart contract stores data on the blockchain some permanent some not permanent right so your permanent data is stored in what's referred to as storage or state now this is a very expensive but permanent and secure location to store data and when you do a smart contract call typically you're reading the state from that smart contract and when you do a transaction you're paying gas which is your fee to essentially update that state or change it in some way hopefully that makes a little bit of sense but that's kind of the basics on state now beyond that you would have memory call data and the stack which are your other storage locations which of course you have to learn about and understand how they work beyond that you're going to have to look at stuff like visibility modifiers so in solidity just like in a language like job about you're going to have your internal external private and public visibility modifiers that you can use on functions variables Etc you're also going to have to look at the limitations on executions so a smart contract cannot run for an hour right it can't do 10 billion operations you're very limited in what you can actually do and there's some computations that you just cannot perform or that you have to perform over multiple transactions because you can't send enough gas which is kind of the fuel that's used for operations on the blockchain to kind of be executed and performed for example if you try to do say 10 000 iterations of a for Loop most likely your transaction is going to fail you can't even do that many so in terms of writing code you have to be very careful how you do that and really think about the way in which your smart contract works now of course we then get into security if you're going to be sending funds to a Smart contract which can happen a smart contract can hold money just like any other say ethereum address you have to think about okay how am I going to get these out is it just the deployer of the contract that gets this month money how do other people get this money how do I avoid exploits how do I make sure that people can actually get the money out all kinds of different considerations and again all of this kind of stuff you have to learn right and you can learn this from blockchain expert of course all right so moving on from what I was going to call kind of the solidity fundamentals or a smart contract fundamentals which would be our last section now you have more advanced smart contract development now when you get into this section you're learning more about kind of arithmetic limitations of smart contracts overflows underflows how to do like fixed Point math even though it's not really like a possible thing you can do but kind of there's ways around it in solidity and smart contracts you're going to be learning about stuff like modifiers structs enumerations inheritance libraries interfaces and more advanced kind of let's call them object-oriented style Concepts inside of solidity once you learn these kind of more advanced solidity features you're going to be at a point where you understand most of the solidity programming language it's not overly complicated language and then it gets down to actually practicing a bunch and making sure that you're kind of verifying your knowledge right which is why a platform like blockchain expert would be great with all the practice questions assessment questions and full projects to make sure you actually understand what's going on now at this point you're also going to realize that there's so many different solidity versions and information you're getting from the internet most likely is outdated versus the newest solidity version so you have to be very careful where you're getting your information from because a year ago or two years ago what you could do with that solidity compiler version is much different than what you can do with this solidity compiler version and kind of limitations and what's now best practices so that's why again I'm going to keep plugging it something like blockchain expert is a great resource because everything there is correct it's up to date with the current version and you're not going to be kind of finding incorrect data on that site all right so at this point you now understand how to write a smart contract you understand things like gas transactions calls the different storage locations some Advanced solidity features and you should be comfortable writing smart contracts understanding the logic within them and using kind of more advanced solidity features now that you know this what really comes next is actually being able to utilize your smart contract in some kind of meaningful way at this point you've just been able to do kind of simple tests with it you haven't been writing a real application and now you need to learn how to interact with smart contracts now in a course like blockchain expert we teach you how to do this with JavaScript because that's typically where you're going to be doing it especially if you're writing a front end however you want to understand how to query the blockchain how do I look at for example events which can be emitted by smart contracts how do I get the most up-to-date state from a smart contract how do I use the getter methods associated with it and how do I take on-chain data and bring that off chain and process that and present that and do something with that so that's what this kind of section is about and there's all kinds of libraries for example like ethers that can help you do this so you need to learn some kind of framework or some kind of interacting with smart contracts method again there's a lot of ways to do this and you can do this kind of in a raw format if you're using something like Json RPC calls however you can also just pick up a library like ethers if you're working in something like JavaScript and kind of learn the methods and whatnot that it has associated with it of course all your popular programming languages are going to have let's call them kind of apis or wrappers around a blockchain network like ethereum or Bitcoin but you want to learn how to use those and this shouldn't take you too long to do now once you've learned how to interact with smart contracts the next section we move into is web 3 tools you want to learn professional development tools and how you can actually kind of write smart contracts and decentralized applications at scale so it is very inefficient and not cost effective to have to be using for example a uh ethereum test Network or the actual theory of main network if you're trying to test smart contracts or decentralized applications so you want to be learning about something like hard hat which is kind of a uh what's called a development tool that you can use to test your smart contracts locally as well as to run a local blockchain network which you can get kind of unlimited let's call it ether on and kind of mess around with right so you want to learn about those more advanced tools how do I deploy to my local network how do I test locally before deploying my smart contract to a main Network how do I protect my private keys and make sure that I'm not leaking any of that and just kind of the best practices when it comes to web3 developer tools now once you've done web3 develop developer tools now you're at the point where you know really everything there is about blockchain and blockchain development as I said this is not actually an overwhelming amount of content it's pretty digestible in a few months now once you're at that point and maybe even before you get to that point you want to start working on projects right full decentralized applications where you take everything you just learned and you apply that in one now applications I like to build are stuff like kind of an nft token for example an erc20 token I like to create you know some kind of bank accounts these are kind of your classical projects but then you want to work on stuff that's a bit more complicated so maybe you want to do like some kind of auction for example in blockchain expert we build an nft auction you may want to do a decentralized voting protocol which is another thing that we do in blockchain expert you may want to be working with an oracle an oracle is something like chain link that allows you to take off-chain data and put that onto the chain so that your smart contracts can react to for example the score in a World Cup game or something like that and you could do maybe a bet on the blockchain that actually is triggered by something that happens off the blockchain so there's all kinds of cool stuff like this and you want to start working on full decentralized applications that have a secure back-end smart contract that is your single source of Truth and then you have a front end which gives you a nice user experience and allows you to interact with this application just like you would a normal kind of web 2 app that would be running on a decentralized server all kinds of different projects you can get into and if you want some project ideas let me know and I might make a video on that in the future so with that said I think I'm going to wrap it up here now I do apologize if this video is a little in your face so there's a lot of ads kind of going on everywhere about blockchain expert genuinely I'm very passionate about this obviously I want to promote the course I spent a very long time building this I'm still going to give you guys a ton of free value on my YouTube channel like I always do but if you want to support me and you really want in one in my opinion is the best resource to get into web3 it's going to do it the fastest for you check it out from the link in the description there's a limited time sale going on I know you guys will find Great Value and I look forward to seeing you in another YouTube video foreignthank you in this video I'm going to share with you a practical roadmap of all the skills topics and technologies that you need to learn to become a blockchain or web 3 developer now fortunately for you if you already know how to code this is actually a pretty simple thing to get into and I would imagine that after the next four or five months if you really put your head down and tried to study this content you'd be ready to land a pretty high paying web 3 or blockchain development role now one of the reasons for that is that all of this stuff is so new and a lot of companies are in desperate need for developers there's a ton of new startups right now a ton of web 3 companies and they need to hire blockchain and web3 developers and the fact is there's just not enough of them out there not enough people have these skills and what that actually means is a lot of these companies are hiring developers with no blockchain skills with no web 3 skills and training them while paying them so that they're qualified for the job just because they need developers and they can't wait they need to train people that need to get people into this industry and I myself work with a lot of web3 companies this is what they're telling me and that's why they're paying me to create web 3 tutorials to teach you guys so that they can hire you thank you so with all of that said I have a quick announcement that I need to make here before we dive into this content and that's that pretty much everything you're about to hear me talk about in this video in terms of what you need to learn is available in a course that I'm launching today called blockchain expert now this course available from the link in the description we're doing a 25 off sale uh kind of for the launch events if you want to take advantage of that please do and this course is made by myself the algo expert team it's actually reviewed by chain link Engineers to make sure everything is completely accurate and that it has the most up-to-date blockchain information and this is a massive course with almost 30 hours of video content that teaches you again everything you need to know to become a blockchain developer I'll quickly run through some of the topics and kind of sections that we have in there but we teach you blockchain fundamentals all of the security mechanisms like how do transactions work how are blocks working what is proof of stake what is proof of work and some of the mathematics and cryptography behind that we also get into ethereum a little bit of decentralized Finance we then of course teach solidity so basic solidity as well as advanced solidity code we show you how to deploy smart contracts how to interact with them using JavaScript how to use web3 tools for real professional development how to test your smart contracts and then lastly how to create fully decentralized applications that run entirely on a blockchain network and have a full front end and act just like any other application that you've built before so if you guys want to learn this please check it out from the link in the description I've spent a massive amount of time working on this and just like programming expert kind of my other main course this really is something that is just great value you guys are going to see I think you're all going to enjoy it and love it and in my opinion it's really just the best resource right now on the internet to learn blockchain development now I know this is kind of a huge ad in the middle of this video but what I'm going to do now is walk you through the curriculum that essentially this course covers and if you don't want to go through the paid course that's totally fine you can learn this stuff on your own and I'm going to give you everything that you need to do just understand it is going to take you longer and you're probably going to be finding some kind of inaccurate information and missing all of those practice questions assessment questions projects Etc that you'll get with kind of a premium offering like blockchain expert so anyways let's get into it here and let me walk you through kind of the first thing you need to learn if you want to become a web 3 or blockchain developer now that's going to be blockchain fundamentals and blockchain Theory now what I mean by that is understanding how a blockchain network works what is a blockchain how do you send transactions how are transactions secure and digitally verified what are blocks what is proof of work what is proof of stake you need to dive into the theory behind all of this and understand how these networks like Bitcoin ethereum Solana all these other popular cryptocurrencies understand how they actually work how they function on a lower level in my opinion you can't even go and start writing smart contracts or doing any programming until you understand those kind of Concepts and if you're an investor in the space as well I definitely recommend that you learn all of this stuff because it allows you to actually kind of see through kind of some of these scams or Ponzi schemes and see when a network is actually providing real value based on the security features different types of nodes that they have Etc so obviously I could go into some more depth here but the general concept is you want to understand even at kind of like a mathematical level what is a proof of work what does that actually mean what is a minor how do you mine a block how are blocks formed I send a transaction to the network to send you one Bitcoin what is that Transaction what is that actually composed of how do I create that what is a digital signature what is a hash function that's the kind of stuff that you would want to learn in this section and of course it's all taught on blockchain Expert so now moving on to section number two once you understand this core Theory and you have a really good understanding of how blockchain networks operate and kind of the importance of decentralization and the security that it provides you want to start looking more into specific blockchain networks like ethereum and learning about decentralized applications so in that first section for example you could have just learned about Bitcoin and kind of what the Bitcoin network does however smart contract development is kind of a whole separate section outside of just blockchain networks and you want to understand uh what is meant by say Turing complete so a language like salinity or a platform like ethereum is Turing complete what that means is that it can support smart contracts and smart contracts are essentially code that are sitting on the blockchain that follow the same properties of the blockchain right they're immutable they're decentralized they're publicly available and you can interact with them and create applications using either one or multiple smart contracts so you want to obviously understand what that is and how that works then you want to start looking into tokens nfts all of that kind of stuff so what is an erc20 token uh what is a peg right when a token is kind of paid to a certain asset what does that mean how do pegs lose their value you want to learn about ERC 721 tokens which are nfts right regardless of what you think about them what does it mean for a non-fungible token to exist what does it mean to hold a non-fungible token how do non-fungible tokens prove ownership so that's what I would start looking into here and just kind of understanding what it means to be a token versus be a coin versus Bia ERC 721 token Etc all right so now that we've got most of the theory out of the way it's time to actually write smart contracts and learn about well creating smart contracts and deploying them on the blockchain now the thing with smart contracts is that this is a very different type of development than writing traditional code that you would run in like python or job JavaScript or any other modern programming language solidities programming syntax is very similar to that of something say like Java however it's a very different kind of way of thinking about structuring code and you're very limited in terms of the number of computations that you can do and what you're actually able to do on the blockchain especially when it comes to data so there's a lot of limitations you're going to have to learn about here and it's worth spending kind of a day or two probably just digging into how does a smart contract work what can a smart contract do what can a smart contract not do and what are the different operations that a smart contract kind of gets invoked by so you have to imagine a smart contract is sitting on the blockchain and unlike Cody may be running on a centralized server it's not like listening for events it can't kind of react to something happening like it can't react to an HTTP call or some data changing in another smart contract what needs to happen is you need to manually invoke this by sending a transaction now when you send a transaction the smart contract can handle the transaction by running a specific function and it can then perform some action which May update some state it may send you some ethereum for example it can do a whole bunch of stuff but it's only going to do that when you send a transaction now another way that you can kind of use a Smart contract is through something known as a call now a call is a read-only operation where you call into the contract and you read information about it you read State that's stored in the contract so you have to understand the difference between a transaction and a call now continuing when we talk about State and storage that's when you get into the different storage locations of a spark contract so a smart contract stores data on the blockchain some permanent some not permanent right so your permanent data is stored in what's referred to as storage or state now this is a very expensive but permanent and secure location to store data and when you do a smart contract call typically you're reading the state from that smart contract and when you do a transaction you're paying gas which is your fee to essentially update that state or change it in some way hopefully that makes a little bit of sense but that's kind of the basics on state now beyond that you would have memory call data and the stack which are your other storage locations which of course you have to learn about and understand how they work beyond that you're going to have to look at stuff like visibility modifiers so in solidity just like in a language like job about you're going to have your internal external private and public visibility modifiers that you can use on functions variables Etc you're also going to have to look at the limitations on executions so a smart contract cannot run for an hour right it can't do 10 billion operations you're very limited in what you can actually do and there's some computations that you just cannot perform or that you have to perform over multiple transactions because you can't send enough gas which is kind of the fuel that's used for operations on the blockchain to kind of be executed and performed for example if you try to do say 10 000 iterations of a for Loop most likely your transaction is going to fail you can't even do that many so in terms of writing code you have to be very careful how you do that and really think about the way in which your smart contract works now of course we then get into security if you're going to be sending funds to a Smart contract which can happen a smart contract can hold money just like any other say ethereum address you have to think about okay how am I going to get these out is it just the deployer of the contract that gets this month money how do other people get this money how do I avoid exploits how do I make sure that people can actually get the money out all kinds of different considerations and again all of this kind of stuff you have to learn right and you can learn this from blockchain expert of course all right so moving on from what I was going to call kind of the solidity fundamentals or a smart contract fundamentals which would be our last section now you have more advanced smart contract development now when you get into this section you're learning more about kind of arithmetic limitations of smart contracts overflows underflows how to do like fixed Point math even though it's not really like a possible thing you can do but kind of there's ways around it in solidity and smart contracts you're going to be learning about stuff like modifiers structs enumerations inheritance libraries interfaces and more advanced kind of let's call them object-oriented style Concepts inside of solidity once you learn these kind of more advanced solidity features you're going to be at a point where you understand most of the solidity programming language it's not overly complicated language and then it gets down to actually practicing a bunch and making sure that you're kind of verifying your knowledge right which is why a platform like blockchain expert would be great with all the practice questions assessment questions and full projects to make sure you actually understand what's going on now at this point you're also going to realize that there's so many different solidity versions and information you're getting from the internet most likely is outdated versus the newest solidity version so you have to be very careful where you're getting your information from because a year ago or two years ago what you could do with that solidity compiler version is much different than what you can do with this solidity compiler version and kind of limitations and what's now best practices so that's why again I'm going to keep plugging it something like blockchain expert is a great resource because everything there is correct it's up to date with the current version and you're not going to be kind of finding incorrect data on that site all right so at this point you now understand how to write a smart contract you understand things like gas transactions calls the different storage locations some Advanced solidity features and you should be comfortable writing smart contracts understanding the logic within them and using kind of more advanced solidity features now that you know this what really comes next is actually being able to utilize your smart contract in some kind of meaningful way at this point you've just been able to do kind of simple tests with it you haven't been writing a real application and now you need to learn how to interact with smart contracts now in a course like blockchain expert we teach you how to do this with JavaScript because that's typically where you're going to be doing it especially if you're writing a front end however you want to understand how to query the blockchain how do I look at for example events which can be emitted by smart contracts how do I get the most up-to-date state from a smart contract how do I use the getter methods associated with it and how do I take on-chain data and bring that off chain and process that and present that and do something with that so that's what this kind of section is about and there's all kinds of libraries for example like ethers that can help you do this so you need to learn some kind of framework or some kind of interacting with smart contracts method again there's a lot of ways to do this and you can do this kind of in a raw format if you're using something like Json RPC calls however you can also just pick up a library like ethers if you're working in something like JavaScript and kind of learn the methods and whatnot that it has associated with it of course all your popular programming languages are going to have let's call them kind of apis or wrappers around a blockchain network like ethereum or Bitcoin but you want to learn how to use those and this shouldn't take you too long to do now once you've learned how to interact with smart contracts the next section we move into is web 3 tools you want to learn professional development tools and how you can actually kind of write smart contracts and decentralized applications at scale so it is very inefficient and not cost effective to have to be using for example a uh ethereum test Network or the actual theory of main network if you're trying to test smart contracts or decentralized applications so you want to be learning about something like hard hat which is kind of a uh what's called a development tool that you can use to test your smart contracts locally as well as to run a local blockchain network which you can get kind of unlimited let's call it ether on and kind of mess around with right so you want to learn about those more advanced tools how do I deploy to my local network how do I test locally before deploying my smart contract to a main Network how do I protect my private keys and make sure that I'm not leaking any of that and just kind of the best practices when it comes to web3 developer tools now once you've done web3 develop developer tools now you're at the point where you know really everything there is about blockchain and blockchain development as I said this is not actually an overwhelming amount of content it's pretty digestible in a few months now once you're at that point and maybe even before you get to that point you want to start working on projects right full decentralized applications where you take everything you just learned and you apply that in one now applications I like to build are stuff like kind of an nft token for example an erc20 token I like to create you know some kind of bank accounts these are kind of your classical projects but then you want to work on stuff that's a bit more complicated so maybe you want to do like some kind of auction for example in blockchain expert we build an nft auction you may want to do a decentralized voting protocol which is another thing that we do in blockchain expert you may want to be working with an oracle an oracle is something like chain link that allows you to take off-chain data and put that onto the chain so that your smart contracts can react to for example the score in a World Cup game or something like that and you could do maybe a bet on the blockchain that actually is triggered by something that happens off the blockchain so there's all kinds of cool stuff like this and you want to start working on full decentralized applications that have a secure back-end smart contract that is your single source of Truth and then you have a front end which gives you a nice user experience and allows you to interact with this application just like you would a normal kind of web 2 app that would be running on a decentralized server all kinds of different projects you can get into and if you want some project ideas let me know and I might make a video on that in the future so with that said I think I'm going to wrap it up here now I do apologize if this video is a little in your face so there's a lot of ads kind of going on everywhere about blockchain expert genuinely I'm very passionate about this obviously I want to promote the course I spent a very long time building this I'm still going to give you guys a ton of free value on my YouTube channel like I always do but if you want to support me and you really want in one in my opinion is the best resource to get into web3 it's going to do it the fastest for you check it out from the link in the description there's a limited time sale going on I know you guys will find Great Value and I look forward to seeing you in another YouTube video foreign\n"