30 Day Challenge

Master Stylus in 30 Days

A structured learning path to take you from zero to deploying production-ready Stylus smart contracts on Arbitrum.

DAY 1lessonGetting Started

Introduction to Arbitrum Stylus

Learn what Stylus is, why it matters, and how it enables Rust smart contracts on Arbitrum.

20m
DAY 2lessonGetting Started

Setting Up Your Development Environment

Install Rust, Cargo Stylus, and configure your IDE for Stylus development.

30m
DAY 3challengeGetting Started

Your First Stylus Contract

Write, compile, and understand a simple Hello World contract in Stylus.

45m
DAY 4lessonGetting Started

Understanding the Stylus SDK

Deep dive into the stylus-sdk crate and its core components.

30m
DAY 5challengeGetting Started

Contract Structure & Entrypoints

Learn about #[entrypoint], #[external], and how Stylus contracts are structured.

40m
DAY 6lessonStorage & Data

Primitive Storage Types

Work with StorageU256, StorageBool, StorageAddress and other primitive types.

35m
DAY 7challengeStorage & Data

Complex Storage: Vectors & Maps

Learn to use StorageVec and StorageMap for dynamic data structures.

45m
DAY 8challengeStorage & Data

Custom Storage Types

Create your own storage types using #[solidity_storage] macro.

50m
DAY 9lessonStorage & Data

Working with Strings & Bytes

Handle StorageString and StorageBytes in your contracts.

30m
DAY 10challengeStorage & Data

Storage Patterns & Best Practices

Optimize storage layout and avoid common pitfalls.

40m
DAY 11lessonFunctions

Function Visibility & Modifiers

Understand public, external, and internal functions in Stylus.

25m
DAY 12challengeFunctions

Payable Functions & Ether Handling

Accept and manage ETH in your Stylus contracts.

45m
DAY 13lessonFunctions

View & Pure Functions

Write gas-efficient read-only functions.

30m
DAY 14challengeFunctions

Error Handling & Custom Errors

Implement robust error handling with custom error types.

40m
DAY 15challengeFunctions

Events & Logging

Emit events for off-chain indexing and monitoring.

35m
DAY 16lessonInteractions

Cross-Contract Calls

Call other contracts from your Stylus contract using sol_interface!.

45m
DAY 17challengeInteractions

Working with ERC-20 Tokens

Interact with ERC-20 tokens from your Stylus contract.

50m
DAY 18challengeSecurity

Reentrancy Protection

Understand and prevent reentrancy attacks in Stylus.

45m
DAY 19challengeSecurity

Access Control Patterns

Implement ownership, roles, and permission systems.

40m
DAY 20lessonSecurity

Security Best Practices

Learn common vulnerabilities and how to avoid them.

35m
DAY 21projectProjects

Build: Simple Token (ERC-20)

Create a complete ERC-20 token implementation in Stylus.

60m
DAY 22projectProjects

Build: NFT Collection (ERC-721)

Build an NFT contract with minting and metadata.

75m
DAY 23projectProjects

Build: Staking Contract

Create a token staking system with rewards.

70m
DAY 24projectProjects

Build: Simple Voting System

Implement a decentralized voting mechanism.

60m
DAY 25projectProjects

Build: Escrow Contract

Create a trustless escrow system for transactions.

55m
DAY 26lessonAdvanced

Gas Optimization Techniques

Advanced techniques to minimize gas costs in Stylus.

45m
DAY 27challengeAdvanced

Testing Stylus Contracts

Write comprehensive tests for your contracts.

50m
DAY 28challengeDeployment

Deploying to Arbitrum Testnet

Deploy your contracts to Arbitrum Sepolia testnet.

40m
DAY 29lessonDeployment

Mainnet Deployment & Verification

Prepare and deploy to Arbitrum mainnet safely.

35m
DAY 30projectGraduation

Graduation: Build Your Own Project

Apply everything you've learned to build your own Stylus project.

120m