Have you ever wondered if collecting NFT's was not just buying and selling them but instead a little bit more interesting ? What about an NFT game ? What if I told you there was a puzzle you gotta solve before everyone else so that you could acquire a rare NFT ? Sounds fun.
# NFT Puzzle Thing Have you ever wondered if collecting NFT's was not just buying and selling them? What if they could be a little more fun? NFT Puzzle Thing is a Proof-of-Work NFT Puzzle game. The more work you put in, the better the reward. Live Demo Overall: https://youtu.be/FWvXJwC2BgA Live Demo SKALE: https://youtu.be/Qkhc_HOf6kY Live Demo Arbitrum: https://youtu.be/e3K86H29M5w ## Rules - At any given point, there are multiple puzzles that are ongoing of varying difficulties. Difficulty of a puzzle is determined by the number of pieces required to complete it. A 100 piece puzzle is harder than a 25 piece puzzle. - The player is competing with other players to be the first one to solve a puzzle. Once a puzzle is completed, it is over. No other player can complete the same puzzle. So you have to be the first! - To obtain pieces, you can either purchase Lootboxes for ETH where each lootbox provides 10 random puzzle pieces from all ongoing puzzles. - There is also a NFT <> NFT marketplace to swap puzzle pieces with other players - for that 1 frustrating piece you just can't seem to unbox. ## Buying Lootboxes Buying 1 Lootbox costs 0.01 MATIC Buying 10 Lootboxes costs 0.09 MATIC Randomness for puzzle pieces in the Lootboxes are generated using Chainlink's VRF on Matic Mumbai ## Unboxing Lootboxes Unboxing a lootbox transfers 10 puzzle pieces, which themselves are NFT's, to your ETH address ## Trading Pieces You can trade pieces by adding a listing on the marketplace where you basically say "I am willing to trade A, B, or C for X" and this will create 3 individual listings for A <> X B <> X C <> X You can delete listings after they have been created, and you can delete as many as you want in a single transaction to save on gas. You can view your Swap History on the Marketplace page ## Claiming a Prize After you solve a puzzle, the puzzle will be marked as ended, and you will receive an Unclaimed NFT in your Winnings tab. Making the Claim Prize transaction will transfer the prize NFT to your ETH address, and is viewable on OpenSea.
How it's made
Layer 2 Solutions (deployed on each): - Matic Mumbai Testnet - SKALE - Arbitrum Randomness for Lootbox Contents: - Chainlink VRF (Only for Matic Mumbai) The Graph: - Hosted service used for Matic Mumbai - Self-hosted local nodes for SKALE and Arbitrum Torus and Metamask: - Simple login provider through Torus, and Metamask as alternative - Torus only works for Matic Mumbai IPFS: - Hosting metadata for all puzzle pieces and final puzzle NFTs React, Typescript, Express, MongoDB, Docker: - Backend and frontend Hardhat: - Contract management ## Code Core Contracts (For Matic, Arbitrum, and SKALE): https://github.com/NFTPuzzle/eth/tree/master/contracts Backend: https://github.com/NFTPuzzle/backend Frontend: https://github.com/NFTPuzzle/frontend Graph: Mappings: https://github.com/NFTPuzzle/graphs/blob/master/graph/src/puzzleManagerMapping.ts Self Hosted Graph Nodes: https://github.com/NFTPuzzle/graphs/blob/master/graph/docker-compose.yml Matic Mumbai Config: https://github.com/NFTPuzzle/graphs/blob/master/graph/subgraph.yaml Arbitrum Config: https://github.com/NFTPuzzle/graphs/blob/master/graph/subgraph.arbitrum.yaml Skale Config: https://github.com/NFTPuzzle/graphs/blob/master/graph/subgraph.skale.yamlTechnologies used