1/5
## Getting Started: Best Practices for Success Welcome! Before we dive deep into the technical content, let's set you up for success. This lesson covers crucial best practices, tools, and resources designed to maximize your learning experience throughout this course. Whether you're following along on our recommended platform, Cyfrin Updraft, or starting on YouTube, understanding these elements is key. Think of this as equipping your toolkit for the journey ahead. ## Choosing Your Learning Platform: Updraft vs. YouTube While the core content is available on YouTube, we strongly recommend using the **Cyfrin Updraft** platform (`updraft.cyfrin.io`) for a significantly enhanced learning experience. Here's why: **Cyfrin Updraft Advantages:** * **Written Lessons:** Each video lesson has a corresponding text version available in the `Written Lesson` tab. This is perfect if you prefer reading, need to quickly reference specific information, or want to copy/paste code snippets easily. * **Video Updates:** The web3 space moves incredibly fast! Below the video player on Updraft, you'll find a dedicated section for text updates or corrections. If a tool changes or a concept needs clarification after the video was recorded, we'll post critical updates there. *For example, you might see an update noting a change in a Chainlink function parameter, directing you to the GitHub repo for the corrected code.* This ensures you're always working with the most current information. * **Progress Tracking:** Updraft allows you to mark lessons as complete, helping you track your progress systematically through the course modules. * **Individual Video Lessons:** The course is broken down into manageable, individual video lessons on Updraft, making navigation much simpler than scrubbing through a single, long YouTube video. * **Video Pop-out Player:** A dedicated button lets you pop the video player out into a separate, resizable window. This makes it easy to code along in your editor side-by-side with the video instruction. * **Playback Speed & Subtitles:** Use the gear icon (bottom right of the player) to adjust playback speed to match your learning pace and access subtitles available in multiple languages. * **Quizzes:** Reinforce your understanding with quizzes available after lessons on Updraft – a feature not available on YouTube. **For YouTube Viewers:** We understand you might start on YouTube. Don't worry, the essential resources are still accessible: * Find links to the GitHub repository, Discord community, and the Updraft platform in the video description. * We encourage you to switch over to Updraft (`updraft.cyfrin.io`) to take advantage of the features listed above. * (And a small request: if you do switch, please consider leaving the YouTube video playing in the background to help us with the algorithm!) * You can still adjust playback speed using YouTube's native gear icon controls. ## Essential Resources and Community Hubs Success in web3 development often comes down to knowing where to find information and how to interact with the community. Here are your primary resources for this course: 1. **GitHub Repository (`cyfrin/foundry-full-course-f23`):** * **This is your course "Bible."** Consider it the central source of truth. Access it via the "GitHub Resources" button on Updraft or the link in the YouTube description. * **Content:** It contains all the code examples used in the course, supplementary documentation, a comprehensive README, finalized code for reference if you get stuck, links to external resources, and optional bonus NFT coding challenges. Whenever you encounter an issue or need code, check the repository first. 2. **GitHub Discussions:** * **Your primary place for questions.** Accessed via the "Discussions" tab within the GitHub repo or the "GitHub Discussions" link on Updraft. * **Why Discussions?** Unlike fleeting chat messages, GitHub Discussions are indexed by search engines (like Google). This creates a persistent, searchable knowledge base. Asking well-formatted questions here helps not only you but also future students facing similar challenges. It's the best place to interact with fellow learners, teaching assistants (TAs), and the broader community for support. 3. **Discord:** * Ideal for more real-time chat, quick questions, and general community engagement. Links are available on Updraft and in the YouTube description. 4. **Other Collaborative Tools:** * As you progress, remember the wider web3 ecosystem offers support through platforms like Ethereum Stack Exchange, Pirana (a decentralized Q&A forum), the "Issues" sections on various project GitHub repositories, and even Artificial Intelligence tools. ## Effective Learning Strategies How you approach learning is just as important as the content itself. Adopt these practices: * **Code Along:** Don't just watch – actively type out the code as it's being presented. This muscle memory and active engagement dramatically improve retention and understanding compared to passive viewing. Use the pop-out player or arrange your windows side-by-side. * **Pacing Your Learning:** There is no "correct" speed. Some might finish a course like this in weeks, others over many months. Go at the pace that allows *you* to understand the material thoroughly. Don't rush; prioritize comprehension. * **Take Breaks:** Your brain needs time to process and consolidate information. Avoid burnout by taking short breaks (e.g., 5 minutes every 25-30 minutes) or longer breaks (15-20 minutes after an hour). Step away completely – take a walk, grab a coffee, stretch. It makes a difference. * **Using Artificial Intelligence (AI) Wisely:** Tools like ChatGPT can be powerful learning aids, and we'll touch upon using them effectively. However, **be critical**. AI can be wrong, outdated, or "hallucinate" information. *For instance, an AI might claim ignorance about a recent development or even a well-known figure if its knowledge cut-off predates that information.* Always verify AI-generated code or explanations with the course material, documentation, or community discussions. Learning to write effective prompts is a valuable skill in itself. * **Asking Effective Questions:** This is a fundamental skill for any developer. Learning to formulate clear, concise, and well-contextualized questions will get you better answers faster, whether asking humans in GitHub Discussions or prompting an AI. It's a skill we'll help you develop. * **Repetition and Reflection:** Repetition is the mother of skill. You'll notice concepts are revisited throughout the course – this is intentional. Take time after lessons or modules to reflect on what you've learned and how the pieces fit together. * **Course Modularity:** This course is designed to be flexible. Feel free to skip sections you're already familiar with or jump to modules that particularly interest you (e.g., focusing solely on smart contracts and skipping front-end sections). * **Resourcefulness and Collaboration:** The blockchain world thrives on open-source and collaboration. Learning *how* to find answers and *where* to ask for help (using the resources mentioned above) is often more valuable than memorizing every line of code. This course aims to teach you how to become self-sufficient and unblock yourself when you encounter challenges. ## Course Features and Extras Beyond the core learning strategies, be aware of these specific course elements: * **Code Examples:** You'll see numerous code snippets throughout the videos (like Solidity contracts for storage or funding). These are visual aids; the real learning happens when you actively code them alongside the instruction. * **Updraft Updates Feature:** Remember the "Video Updates" section on Updraft? The example mentioned earlier (a change in a Chainlink VRF parameter) illustrates how we use this feature to keep you informed about relevant changes in the fast-evolving web3 landscape. Always check this section! * **Bonus NFT Challenges:** Found within the GitHub repository, typically after major sections, are optional coding challenges. Successfully completing these challenges and deploying your solution on-chain (using testnets like Sepolia or zkSync) allows you to mint a unique NFT specific to that lesson module. Think of them as badges of honor proving your mastery of the concepts. (Don't worry if you're new to NFTs; the concept will be covered later). ## Key Takeaways for Success To make the most of this course: * **Use Cyfrin Updraft:** Take advantage of its enhanced learning features. * **Leverage GitHub:** Use the repository as your code base and Discussions for questions. * **Code Along:** Actively participate by typing the code. * **Pace Yourself:** Learn at a speed that ensures comprehension. * **Take Breaks:** Allow your brain to process the information. * **Ask Smart Questions:** Develop the skill of asking effective questions. * **Use AI Critically:** Leverage AI tools but always verify their output. * **Check for Updates:** Stay current via the Updraft updates section. * **Be Resourceful & Collaborate:** Learn where to find answers and engage with the community. By embracing these practices and utilizing the resources provided, you'll be well on your way to mastering the concepts in this course. Let's get started!
An essential introduction to Getting Started: Best Practices for Success - Maximize your learning by understanding the benefits of the Updraft platform, leveraging key resources like GitHub, and adopting effective study strategies. Learn how to code along, pace yourself, ask good questions, and use AI critically.
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)
Last updated on June 11, 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)
Last updated on June 11, 2025