GithubHelp home page GithubHelp logo

carbontrade2023's Introduction

๐Ÿ— Scaffold-ETH 2 Challenges

Learn how to use ๐Ÿ— Scaffold-ETH 2 to create decentralized applications on Ethereum. ๐Ÿš€


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

๐ŸŽซ Create a simple NFT to learn the 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/se-2-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/se-2-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/se-2-challenges/tree/challenge-2-token-vendor


๐ŸŽ‰ 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/


๐Ÿšฉ 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/se-2-challenges/tree/challenge-3-dice-game


๐Ÿšฉ Challenge 4: โš–๏ธ 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/se-2-challenges/tree/challenge-4-dex


๐Ÿšฉ Challenge 5: ๐Ÿ“บ 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/se-2-challenges/tree/challenge-5-state-channels


๐Ÿ’ก Contributing: Guide and Hints to create New Challenges

Check out already migrated Challenges to get a better idea of the structure and how to create new ones.

A quick start guide.

At base-challenge-template branch we will be adding the latest updates from Scaffold ETH 2. We'll also include the learnings we acquire during the Challenges we are adding, as well as the code that may be common to all the Challenges.

2. Edit pages/index.tsx

The main page should have a banner image (ask for it!) + the Challenge description.

{challengeHeroImage}

A {challengeDescription}.

๐ŸŒŸ The final deliverable is an app that {challengeDeliverable}. Deploy your contracts to a testnet then build and upload your app to a public web server. Submit the url on SpeedRunEthereum.com!

3. Implement the Challenge

  • Add the contract(s)
  • Add pages / components as you need (UI following the SpeedRunEthereum.com design vibe)
  • Create the test for the Smart Contract(s). The best starting point is to copy the tests from the SE1 Challenge you are migrating. The "envvar" logic there is used by the autograder, so don't remove them.

4. Adapt Header / MetaHeader component

Update the site title on Header.tsx and title and description of your challenge in MetaHeader.tsx.

5. Image assets for your Challenge

You will need to add the following image assets in packages/nextjs/public folder (ask the designers for it):

  • Thumbnail. thumbnail.png Will be shown in your link previews when shared to others in chat or in social media.
  • Hero image. hero.png It's a wider version of the Thumbnail with SRE logo at the bottom right. Used as README header, and as pages/index.tsx hero image.

6. Edit README adapting the base template

Adapt the base template README using the SE-1 version as a reference.

7. Create a PR against the challenge branch

We can iterate and test there.

carbontrade2023's People

Contributors

carletex avatar zakgriffith avatar pabl0cks avatar rin-st avatar technophile-04 avatar

Watchers

Rodrigo Quiroz avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.