Project Survivor
Survive Waves, Level Up, Conquer Foes - All with Your NFT using IPC by protocol laps
Screenshots



Problem Statement
<h4 align="center">Survive Waves, Level Up, Conquer Foes - All with Your NFT!</h4><p align="center"> <a href="#introduction">Introduction</a> • <a href="#struggles">Struggles</a> • <a href="#local-deployment">Local deployment</a> • <a href="#smart-contracts-deployments">smart contracts deployments</a> • <a href="#license">License</a> </p>IntroductionIPCis super fast which makes it suitable for gaming , the idea of Survival project is to be able to survive waves of enemey and level up your NFT, not only that but it can be upgraded without even needing to pause the game and wait for tx to complete between waves or mid waves.StrugglesStruggles of working with IPC for Project Survival :Reading smart contract Data:one major pain points was trying to get wagmi to play nicely IPC and read data from smart contracts deployed that. and that super needed to allow the users to mint the nft , use it, then level it up in the marketplace during game play.modifying the IPC:we wanted to custmize the IPC to store the gamelogic and help with that while it wasnt yet finished for the hackathon we are in love with the potential
Solution
Local deploymentDeploy IPC node:you can follow this guide hereDeploy a subnetDeploy Contractin the contract directory deploy the contract to subnet node usingremixNFT APPin the NFTAPP directory do the followinga. install depnpm ib. add the IPC infomation in network directory{ "selectedChain": "381277380063393", "381277380063393": { "chainId": "381277380063393", "chainName": "IPC", "rpcUrls": [ "http://localhost:8545/" ], "nativeCurrency": { "symbol": "FIL" }, "blockExplorerUrls": [ "" ] } }c. update the contract addressd. run the nft appnpm run devdeploy game appin the gameapp directory do the followinga. install depnpm ib. add the IPC chain ID in thesrc\lib\wagmi.tsconst IPC: Chain = { id: 381277380063393, // Chain ID name: 'IPC', network: 'IPC', nativeCurrency: { name: 'FIL', symbol: 'FIL', // Currency Symbol decimals: 18, }, rpcUrls: { default: { http: ['http://localhost:8545/'] } , public: { http: ['http://localhost:8545/'] } // Include the public key if required by the Chain type }, testnet: true, };c. update the contract address insrc\lib\wawa.tsd. run the nft appnpm run devb. run the appnpm run startsmart contracts deploymentsIPC is also deployed on the Arbiturm BlockchainSubnetRegistry :0xaC0809e81d84d9f9b4a9d05C71A8D89CAa3561DBGateway :0xBFb1288b4Bb316c9A4E431c3D73aB38c508023D5
Hackathon
Scaling Ethereum 2024
2024
Prizes
- 🏆
Most meaningful use of Interplanetary Consensus for scalability3rd place
Filecoin
- 🏆
Qualifying Arbitrum Submissions
Arbitrum
Contributors
- malawadd
5 contributions