This is a collection of Scaffold-ETH challenges aimed at teaching the basics of the following concepts:

- Solidity
- Hardhat (deploy and test)
- NextJS
- Scaffold-ETH (yarn, hooks, components, etc)
- Protocol Integrations (subgraph-package, etc)

> NOTE: These challenges are a work in progress, if you find bugs please submit a pull request. I suggest watching this repo to stay up to date on changes and additions.

---

## 🏗 About Scaffold-ETH 2

<h4 align="center">
  <a href="https://docs.scaffoldeth.io">Documentation</a> |
  <a href="https://scaffoldeth.io">Website</a>
</h4>

🧪 An open-source, up-to-date toolkit for building decentralized applications (dapps) on the Ethereum blockchain. It's designed to make it easier for developers to create and deploy smart contracts and build user interfaces that interact with those contracts.

⚙️ Built using NextJS, RainbowKit, Hardhat, Wagmi, and Typescript.

- ✅ **Contract Hot Reload**: Your frontend auto-adapts to your smart contract as you edit it.
- 🔥 **Burner Wallet & Local Faucet**: Quickly test your application with a burner wallet and local faucet.
- 🔐 **Integration with Wallet Providers**: Connect to different wallet providers and interact with the Ethereum network.

## Requirements

Before you begin, you need to install the following tools:

- [Node (v18 LTS)](https://nodejs.org/en/download/)
- Yarn ([v1](https://classic.yarnpkg.com/en/docs/install/) or [v2+](https://yarnpkg.com/getting-started/install))
- [Git](https://git-scm.com/downloads)

## Quick Start

To get started we recommend starting with Challenge #0 however here are all the current challenges.

- [🚩 Challenge #0: Hello World](https://github.com/kmjones1979/scaffold-eth-2-solidity/tree/solidity-0-hello-world)

```
git clone -b solidity-0-hello-world \
  https://github.com/kmjones1979/scaffold-eth-2-solidity.git \
  solidity-0-hello-world
```

- [🚩 Challenge #1: First App](https://github.com/kmjones1979/scaffold-eth-2-solidity/tree/solidity-1-first-app)

```
git clone -b solidity-1-first-app \
  https://github.com/kmjones1979/scaffold-eth-2-solidity.git \
  solidity-1-first-app
```

- [🚩 Challenge #2: Events](https://github.com/kmjones1979/scaffold-eth-2-solidity/tree/solidity-2-events)

```
git clone -b solidity-2-events \
  https://github.com/kmjones1979/scaffold-eth-2-solidity.git \
  solidity-2-events
```

- [🚩 Challenge #3: The Graph](https://github.com/kmjones1979/scaffold-eth-2-solidity/tree/solidity-3-the-graph)

```
git clone -b solidity-3-the-graph \
  https://github.com/kmjones1979/scaffold-eth-2-solidity.git \
  solidity-3-the-graph
```

- More coming soon!

## Documentation

Visit our [docs](https://docs.scaffoldeth.io) to learn how to start building with Scaffold-ETH 2.

To know more about its features, check out our [website](https://scaffoldeth.io).

## Contributing to Scaffold-ETH 2

We welcome contributions to Scaffold-ETH 2!

Please see [CONTRIBUTING.MD](https://github.com/scaffold-eth/scaffold-eth-2/blob/main/CONTRIBUTING.md) for more information and guidelines for contributing to Scaffold-ETH 2.
