Survive Waves, Level Up, Conquer Foes - All with Your NFT using IPC by protocol laps
Prize Pool
IPC is 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.
Struggles 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
Deploy IPC node: you can follow this guide here Deploy a subnet
Deploy Contract in the contract directory deploy the contract to subnet node using remix
NFT APP in the NFTAPP directory do the following
a. install dep
npm i
b. 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 address
d. run the nft app
npm run dev
a. install dep
npm i
b. add the IPC chain ID in the src\lib\wagmi.ts
const 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 in src\lib\wawa.ts
d. run the nft app
npm run dev
b. run the app
npm run start
IPC is also deployed on the Arbiturm Blockchain
SubnetRegistry : 0xaC0809e81d84d9f9b4a9d05C71A8D89CAa3561DB