1/5
## Best Practices (Don't Skip!!) We're going to start off by talking about some best practices so that you can get the absolute most out of this course and be as effective as possible. You're either watching this on Cyfrin Updraft or on YouTube. We encourage everyone to watch this on Cyfrin Updraft, because we've got a ton of features to make the learning experience that much easier for you. If you are watching this on Cyfrin Updraft, though, there's a couple links I need you to be aware of. The first one, in the top right, is going to be the GitHub Resources page. This will bring you over to what's called a GitHub repo, or a GitHub repository, or basically a site that has all the code and all the information and basically all the materials that you're going to need to learn everything in our curriculum. You could basically think of this as your bible for the duration of your blockchain developer journey. Additionally, in this GitHub, there's a Discussions tab right here that you can click on, and in here is where you can ask questions, discuss with other people taking the course, interact with members helping out, and it's where you can discuss anything that you're having trouble with. Then, on the other side, you'll see this tab called Written Lessons. If you cannot stand the voice coming out of my mouth, you can just flip over to that, and just read the course curriculum as well, if you prefer the written content over the video content. It's good to go over to the written lessons anyway to maybe copy paste some stuff. If you scroll down here, right now it's blank, but if anytime there is an update to a video, something's changed in the video, and we haven't swapped out the video yet, you'll see a little Updates section with information saying, "Hey, the video says this, but you should do this instead." Now, like I said, this is a very fast-moving industry, and sometimes things change, and sometimes things need to be updated. So, when you're watching one of these videos, be sure to look for the Updates tab at the bottom, and then additionally, whenever you're working with the code that we're working with, I will give you a link to the finalized edition that you can use as a reference as well to make sure that the code that you're working with actually is going to match what we're going to build. Additionally, if you think you've found something that is different, or doesn't quite work, be sure to make a discussion for it in that GitHub repo. Like I said, it's going to be your bible. Additionally, there's a link to join the GitHub discussions. This is your platform to ask questions, engage with the community, and learn with both other people taking the course, and also our TAs who are going to be helping you out along the way. Additionally, there is a link to the Discord for more real-time communication. I urge you to ask questions in the GitHub discussions as well, because those are going to be indexed, going to make them much easier to Google search later and have them show up, as opposed to Discord. Discord is still phenomenal for you to join them. For those of you watching on YouTube, hello, you should scroll down to the description, and in the description are going to be links to these resources as well, and additionally, a link to Cyfrin Updraft. If you've been watching, you've already seen some of the advantages that Cyfrin Updraft has, including Written Lessons, single videos, and there's also ways to track your progress instead of having to scrub on a giant YouTube video. So, for all of you who are watching this on YouTube, definitely be sure to go over to Cyfrin Updraft, sign up there and watch the curriculum there because your learning experience will be much better. But, leave this video playing in the background on YouTube, so we get the bump from the YouTube algorithm. Thank you. That being said, as we go through this course, we're also going to teach you some best practices on working with artificial intelligence, how to best prompt these AIs, so that they can give you the best results. Just keep in mind, they sometimes get things wrong. And, it's a good idea if you are going to use an AI to fact-check it with a human, or another resource. So, be sure to say hi in the discussions and maybe meet some like-minded peers. And, additionally, once we do get to the coding portion of this course, it's a good idea to code along with me, as I'm explaining things. So, having the video up, as well as your coding screen, is a good idea, so you can follow along with me, as I'm explaining it. If you're watching this on Cyfrin Updraft, you can just click the little video pop-out button and have the video pop out as such, and code next to it. All of this is to say, if you run into an issue, jump to that GitHub repo, and make a discussion. We will also be giving you some tips very soon about how to best make a discussion. Yes, asking well-formatted questions is not only the secret to being a fantastic AI prompt engineer, but also becoming an incredibly successful developer. We're going to learn how to ask well-formatted questions, and whenever we post on discussions or forums or whatever, we're going to work on formatting them as best as possible. Take breaks. I cannot tell you how many people have tried to rush through these courses and be like, "Oh, I'm going to finish in a single weekend!" Your brain doesn't work like that. Your brain needs time to absorb the information, so take breaks. Maybe every 25 minutes to a half hour, take a 5 minute break, or maybe you like working in longer chunks, maybe take a whole hour, and then take a 15-20 minute break. Don't try to rush through the whole video in a day, you're not going to retain the information. Go outside, go for a walk, grab some ice cream, get some coffee, go to the gym. Your brain needs time to have the information settle. Maybe every 2 hours, just step away. Maybe be done for the day. Work at whatever pace makes sense for you. Everyone's going to have a different learning pace. There is no right speed for this course. I've had people take my courses in 2 weeks, in 3 months, in 6 months. It doesn't matter. Pick a pace that you can do, and stick to it. Not only work at your pace, make sure that I'm talking at a pace that makes sense for you. There's a little gear icon in the YouTube video here, where you can change the speed of how I'm talking and how fast the video's going. So, if I'm talking way too fast for you, then you can slow me down. But, if I'm talking too slow, then you can speed me up. And, if you're watching this on Cyfrin Updraft, you have the same dials as well in the bottom right-hand corner. Additionally, if English isn't your native language, we have several different subtitles on the Cyfrin Updraft video player as well. So, make the adjustments you need to make me go the speed you want me to go. And, of course, this course is modular, so you can bounce around topic to topic, and go to where you want to go. You don't want to do any full stack stuff, then skip that section. If you want to go right to the advanced stuff, do that. Like I said, go the pace and take the learnings that you want to do. And, after every lesson, it might be a good idea to go back and reflect on each lesson to really make sure the knowledge gets ingrained. Repetition is the mother of skill, and we're going to be repeating a lot of smart contract development. Now, the last bit here is in the Cyfrin Updraft platform. We're going to have quizzes that you can take to help see if you learn the knowledge that you were supposed to learn. If you're watching this on YouTube, you don't have that, so go sign up for Cyfrin Updraft and then play the YouTube video in the background, so the YouTube algorithm bumps this stuff. But, additionally, at the end of every section, if you go to the GitHub repo associated with that section, and you scroll down, there's going to be a bonus NFTs section with a link. This will bring you to a coding challenge on chain that you can actually solve to mint yourself an NFT, a badge of honor proving that you gained the knowledge that you were supposed to. These are optional challenges that you can do to try to make sure that you actually learned what was meant to be learned here. And, if you do solve them, you get a very cool NFT along with it. Don't know what an NFT is? Don't worry, we'll teach you later. Blockchain development and open source development world is incredibly collaborative. So, be sure to use tools like, of course, the GitHub Discussions tab, Ethereum Stack Exchange, the decentralized Q&A forum, Peeranha.io, issues on different GitHubs, artificial intelligence and more. And, like I said, we'll give you more tips on how to most effectively use these sites in the future, and the reason I'm putting so much emphasis on this and that I will continue to put so much emphasis on this, is being a successful smart contract developer is more than just knowing how Solidity works. Knowing where to go for information and how to collaborate with people is often more important than your smart contract knowledge, because oftentimes you're going to run into issues you don't know how to solve, so we're going to teach you to unblock yourself on this and really anything in life, plus syncing with other people in this space makes it way more fun.
A detailed guide to best practices for getting the most out of the course, including navigating Cyfrin Updraft, using the GitHub Repo, and interacting with the community.
Previous lesson
Previous
Next lesson
Next
Give us feedback
Course Overview
About the course
The basics of blockchain transactions, how to send and receive money on a blockchain network.
How to write Python based smart contracts using Vyper.
How to read and understand Vyper smart contracts.
Vyper data structures, arrays, structs, hash maps.
How to build a smart contract application and deploy on ZKsync with Moccasin.
Smart Contract Auditor
$100,000 - $200,000 (avg. salary)
On-chain Data Analyst
$59,000 - $139,000 (avg. salary)
DeFi Developer
$75,000 - $200,000 (avg. salary)
Smart Contract Engineer
$100,000 - $150,000 (avg. salary)
Web3 developer
$60,000 - $150,000 (avg. salary)
Web3 Developer Relations
$85,000 - $125,000 (avg. salary)
Web3 engineer, educator, and Cyfrin co-founder. Patrick's smart contract development and security courses have helped hundreds of thousands of engineers kickstarting their careers into web3.
Last updated on March 21, 2025
Duration: 2h 08min
Duration: 2h 32min
Duration: 24min
Course Overview
About the course
The basics of blockchain transactions, how to send and receive money on a blockchain network.
How to write Python based smart contracts using Vyper.
How to read and understand Vyper smart contracts.
Vyper data structures, arrays, structs, hash maps.
How to build a smart contract application and deploy on ZKsync with Moccasin.
Smart Contract Auditor
$100,000 - $200,000 (avg. salary)
On-chain Data Analyst
$59,000 - $139,000 (avg. salary)
DeFi Developer
$75,000 - $200,000 (avg. salary)
Smart Contract Engineer
$100,000 - $150,000 (avg. salary)
Web3 developer
$60,000 - $150,000 (avg. salary)
Web3 Developer Relations
$85,000 - $125,000 (avg. salary)
Web3 engineer, educator, and Cyfrin co-founder. Patrick's smart contract development and security courses have helped hundreds of thousands of engineers kickstarting their careers into web3.
Last updated on March 21, 2025
Testimonials
Read what our students have to say about this course.
Chainlink
Chainlink
Gustavo Gonzalez
Solutions Engineer at OpenZeppelin
Francesco Andreoli
Lead Devrel at Metamask
Albert Hu
DeForm Founding Engineer
Radek
Senior Developer Advocate at Ceramic
Boidushya
WalletConnect
Idris
Developer Relations Engineer at Axelar