# Overview

# Introduction

Welcome to our beginner's tutorial for smart contract developers interested in learning more about the Ethereum Virtual Machine (EVM). This tutorial is aimed towards developers who are already familiar with smart contracts and have had some experience programming in a smart contract language such as Solidity or Vyper.

In this tutorial, we'll be covering:

  • The basics of the Ethereum Virtual Machine
  • The basics of writing assembly in Huff
  • "Hello, World! in assembly
  • Simple Storage in assembly
  • Setting up a Foundry environment to write, test, and deploy your code
  • Deploying your contracts to various Ethereum testnets

This tutorial loosely follows the original Hardhat tutorial (opens new window).

To follow this tutorial you must: