1/5
## Welcome to Solidity Fundamentals: Best Practices Let's start by talking about best practices. We will be looking at some best practices that we cover in our Moccasin course. If you are viewing this lesson on Cyfrin Updraft, you can head to the **Course Resources** section and you will be taken to the **Cyfrin/mocassin-full-course-cu** GitHub repository. This repository has all the codebase associated with the course. For instance, if we click on **Section 1** of **Vyper 101**, which is titled **Welcome to Remix - Favorite's List**, you will be taken to a repository called **Cyfrin/remix-favorites-cu**. This repository has the code associated with that section in the **Favorites.vy** file. If you are watching this on YouTube, the links are provided in the description. We can also head back to the **Cyfrin/mocassin-full-course-cu** repository. In here, we can go to the **Discussions** tab. This is a good place to come if you have any questions. We will teach you how to ask questions in a manner that is helpful to both humans and AI. We will be using AI throughout the course. As of recording, our favorites include **Claude**, **Cursor**, and **ChatGPT**. We recommend that you pause the video and create a GitHub account. GitHub is crucial to your success as a smart contract developer, or even just as a technical person in Web3. We also recommend that you check out the **Twitter** and **LinkedIn** links that are provided in the repository. One other important tool is **Stack Exchange Ethereum**. This is a good place to go to ask questions about Ethereum in general. We will now move on to **Section 1** of **Moccasin Fundamentals**: **Welcome to Python!** ## Welcome to Python! We're going to do a code block here. We're going to make a little Python script. I'm going to start with a **__main__** function, which is a special function in Python that allows code to be run in a top level. ```python if __name__ == "__main__": print("Hello world") ``` So, we can copy this code block, and paste it into our terminal. This will print out **Hello world**. ```bash python code.py ``` And there you have it. Now, we're going to go to the next lesson.
A comprehensive guide to best practices for the Vyper & Moccasin course. The lesson covers how to navigate the course repository, leverage the discussions tab for assistance, and understand the importance of GitHub for smart contract developers.
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