A dapp to gamify urban mobility with bicycle rides, public goods and web3 tools
Bright forest is based on Dark Forest game dynamic to move game units between two places located by coordinates. In DF this works to move resources between planets, while BF will use it to move "Energy Rewards" between IRL places minted as NFTs on Punk Cities.
Bright Forest uses ZKsnarks to prove that players' IRL location matches with the origin and destination coordinates and validate that the ride is completed. When a ride is completed the player gets energy units from the Punk Cities contract as a reward for the distance traveled on the ride.
Bright Forest is built with a react app with web3 dependencies and google API for the backend, it implements IPFS for storing the metadata from trips between places, and it uses Tailwind for the styles the smart contracts have been deployed on Polygon Testnet and it uses places NFT minted on Punk Cities. The frontend is also integrated with a trusted zk-snark setup for generating and verifying proof-of-location on-chain. We used circom for the circuit that generates zk-proof.
If the proof of location is valid for the origin and destination of the trip, the Punk Cities ERC1155 contract will deliver game units to the rider's address.