๐Ÿ—๐Ÿ‘ท๐Ÿพ Scaffold-ETH Challenges

๐ŸŽ– We recommend you check the Scaffold-ETH 2 version of the challenges: https://github.com/scaffold-eth/scaffold-eth-2

Learn how to use ๐Ÿ— scaffold-eth to create decentralized applications on Ethereum. ๐Ÿš€


๐Ÿšฉ Challenge 0: ๐ŸŽŸ Simple NFT Example

๐ŸŽซ Create a simple NFT to learn basics of ๐Ÿ— scaffold-eth. You'll use ๐Ÿ‘ทโ€โ™€๏ธ HardHat to compile and deploy smart contracts. Then, you'll use a template React app full of important Ethereum components and hooks. Finally, you'll deploy an NFT to a public network to share with friends! ๐Ÿš€

https://github.com/scaffold-eth/scaffold-eth-challenges/tree/challenge-0-simple-nft


๐Ÿšฉ Challenge 1: ๐Ÿฅฉ Decentralized Staking App

๐Ÿฆธ A superpower of Ethereum is allowing you, the builder, to create a simple set of rules that an adversarial group of players can use to work together. In this challenge, you create a decentralized application where users can coordinate a group funding effort. If the users cooperate, the money is collected in a second smart contract. If they defect, the worst that can happen is everyone gets their money back. The users only have to trust the code.

https://github.com/scaffold-eth/scaffold-eth-challenges/tree/challenge-1-decentralized-staking


๐Ÿšฉ Challenge 2: ๐Ÿต Token Vendor

๐Ÿค– Smart contracts are kind of like "always on" vending machines that anyone can access. Let's make a decentralized, digital currency. Then, let's build an unstoppable vending machine that will buy and sell the currency. We'll learn about the "approve" pattern for ERC20s and how contract to contract interactions work.

https://github.com/scaffold-eth/scaffold-eth-challenges/tree/challenge-2-token-vendor


๐Ÿšฉ Challenge 3: ๐ŸŽฒ Dice Game

๐ŸŽฐ Randomness is tricky on a public deterministic blockchain. In this challenge you will explore creating random numbers using block hash and how that may be exploitable. Attack the dice game with your own contract by predicting the randomness ahead of time to always roll a winner!

https://github.com/scaffold-eth/scaffold-eth-challenges/tree/challenge-3-dice-game


๐ŸŽ‰ Checkpoint: Eligible to join ๐Ÿฐ๏ธ BuidlGuidl

The BuidlGuidl is a curated group of Ethereum builders creating products, prototypes, and tutorials to enrich the web3 ecosystem. A place to show off your builds and meet other builders. Start crafting your Web3 portfolio by submitting your DEX, Multisig or SVG NFT build.

https://buidlguidl.com/


โš–๏ธ Build a DEX Challenge

๐Ÿ’ต Build an exchange that swaps ETH to tokens and tokens to ETH. ๐Ÿ’ฐ This is possible because the smart contract holds reserves of both assets and has a price function based on the ratio of the reserves. Liquidity providers are issued a token that represents their share of the reserves and fees...

DEX Telegram Channel: https://t.me/+_NeUIJ664Tc1MzIx

https://github.com/scaffold-eth/scaffold-eth-challenges/tree/challenge-4-dex


๐Ÿ“บ State Channel Application Challenge

๐Ÿ›ฃ๏ธ The Ethereum blockchain has great decentralization & security properties but these properties come at a price: transaction throughput is low, and transactions can be expensive. This makes many traditional web applications infeasible on a blockchain... or does it? State channels look to solve these problems by allowing participants to securely transact off-chain while keeping interaction with Ethereum Mainnet at a minimum.

State Channels Telegram Channel: https://t.me/+k0eUYngV2H0zYWUx

https://github.com/scaffold-eth/scaffold-eth-challenges/tree/challenge-9-state-channels


๐Ÿ‘› Multisig Wallet Challenge

๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง Using a smart contract as a wallet we can secure assets by requiring multiple accounts to "vote" on transactions. The contract will keep track of transactions in an array of structs and owners will confirm or reject each one. Any transaction with enough confirmations can "execute".

Multisig Telegram Channel: https://t.me/+mkNNF_yHsK8yMTcx

https://github.com/scaffold-eth/scaffold-eth-challenges/tree/challenge-5-multi-sig


๐Ÿ’Ž Diamond Challenge

The Diamond standard (EIP-2535) makes it easy to modularize, upgrade, and manage your smart contracts.

We will start with a basic crowdfunding contract that allows users to contribute and the owner to claim the funds any time they want.

๐Ÿ˜ฑ Seems like contributors will never be able to get their money back, your role is to fix this and set up some conditions and add some functionalities to your crowdfunding contract.

https://github.com/scaffold-eth/scaffold-eth-challenges/tree/diamond-challenge


๐ŸŽ SVG NFT ๐ŸŽซ Building Cohort Challenge

๐Ÿง™ Tinker around with cutting edge smart contracts that render SVGs in Solidity. ๐Ÿงซ We quickly discovered that the render function needs to be public... ๐Ÿค” This allows NFTs that own other NFTs to render their stash. Just wait until you see an Optimistic Loogie and a Fancy Loogie swimming around in the same Loogie Tank!

SVG NFT Telegram Channel: https://t.me/+J9PRea84c1U0Mzkx

https://github.com/scaffold-eth/scaffold-eth-challenges/tree/challenge-6-svg-nft


๐Ÿ’ฌ Support Chat

Join the telegram support chat ๐Ÿ’ฌ to ask questions and find others building with ๐Ÿ— scaffold-eth!


๐Ÿ™ Please check out our Gitcoin grant too!