# Guides and Tutorials

# The Official™ Optimistic Ethereum Tutorial(opens new window)

The "official" introductory tutorial by the Optimism team. Note, that this tutorial is short and sweet. For more thorough guides, please refer to other the resources below or to the Protocol/Developer Docs (on the sidebar).

# Optimistic ERC20s: Truffle Edition(opens new window)

The "official" Truffle tutorial made by the Optimism team. This tutorial is shorter than the main tutorial above, but will still walk through the basics of compiling, testing, and deploying your contracts for Optimistic Ethereum using Truffle.

# Optimistic ERC20s: Waffle Edition(opens new window)

The "official" Waffle tutorial made by the Optimism team. This tutorial is shorter than the main tutorial, but will still walk through the basics of compiling, testing, and deploying your contracts for Optimistic Ethereum using Waffle.

# The L1/L2 ERC20 Deposit + Withdrawal Example(opens new window)

A minimal tutorial that goes through the process of creating an application that communicates between Layer 1 and Layer 2. In particular, we'll be looking at the process of depositing an ERC20 from Layer 1 into Layer 2 and then withdrawing those tokens back onto Layer 1.