🧪 ZKitty and Tippi Fifestarr hacked together this open-source, update to Patrick Collins' Star Wars CTF using Scaffold-Eth-2 (a toolkit for building decentralized applications). It's designed to make it easier for developers and security curious attendees at the 2024 CypherCon to create and deploy smart contracts.
- Cyjerjam Register NFT: https://sepolia.etherscan.io/address/0x1db3Ad39cC1a0A1e6Ef054E9c1AbcD073b01F24E
- Easy
- Medium:
- Difficult:
Original HuntRegistration contract on Sepolia Ethereum testnet is here (Thank you Patrick!).
1st game address is here
How to Register: To interact with the contracts, you can use the "debug contracts" function provided in the application. This function allows you to test and interact with the deployed smart contracts.
-
Display Two Teams Image:
- Display images of the two teams in medium size to represent them visually.
- Center a current score counter for each team.
-
Leaderboard:
- Display a list of the players leaderboard with the following information:
- Ranking #
- Codename & address
- Team
- Small dynamic NFT image
- Score
- Display a list of the players leaderboard with the following information:
-
Refresh Button:
- Include a refresh button that triggers a read function using the useContractRead hook to fetch the latest scores or leaderboard data.
-
Stretch Goals:
- Timer countdown to the end of the game.
- Graph the scores over time
- Add a "Join Game" button to allow new players to join the game (redirect to debug contracts)
Scaffold-ETH-2: ⚙️ Built using NextJS, RainbowKit, Hardhat, Wagmi, Viem, and Typescript.
- ✅ Contract Hot Reload: Your frontend auto-adapts to your smart contract as you edit it.
- 🪝 Custom hooks: Collection of React hooks wrapper around wagmi to simplify interactions with smart contracts with typescript autocompletion.
- 🧱 Components: Collection of common web3 components to quickly build your frontend.
- 🔥 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.
Before you begin, you need to install the following tools:
- Node (>= v18.17)
- Yarn (v1 or v2+)
- Git
To get started with Scaffold-ETH 2, follow the steps below:
- Clone this repo & install dependencies
git clone https://github.com/scaffold-eth/scaffold-eth-2.git
cd scaffold-eth-2
yarn install
- Run a local network in the first terminal:
yarn chain
This command starts a local Ethereum network using Hardhat. The network runs on your local machine and can be used for testing and development. You can customize the network configuration in hardhat.config.ts
.
- On a second terminal, deploy the test contract:
yarn deploy
This command deploys a test smart contract to the local network. The contract is located in packages/hardhat/contracts
and can be modified to suit your needs. The yarn deploy
command uses the deploy script located in packages/hardhat/deploy
to deploy the contract to the network. You can also customize the deploy script.
- On a third terminal, start your NextJS app:
yarn start
Visit your app on: http://localhost:3000
. You can interact with your smart contract using the Debug Contracts
page. You can tweak the app config in packages/nextjs/scaffold.config.ts
.
Run smart contract test with yarn hardhat:test
- Edit your smart contract
YourContract.sol
inpackages/hardhat/contracts
- Edit your frontend in
packages/nextjs/pages
- Edit your deployment scripts in
packages/hardhat/deploy
Visit our docs to learn how to start building with Scaffold-ETH 2.
To know more about its features, check out our website.
We welcome contributions to Scaffold-ETH 2!
Please see CONTRIBUTING.MD for more information and guidelines for contributing to Scaffold-ETH 2.