World Hash is a toolkit for sharing and experiencing Minecraft worlds through ENS and IPFS!
World Hash allows anyone to easily discover and share Minecraft worlds through ENS and IPFS.
Our interface is meant to be run locally on any computer, where a user can search for Minecraft worlds of others, or share their own worlds for others to find.
This simple premise allows for an incredibly robust decentralized world sharing toolkit, with forward compatibility in mind and ease-of-use as a priority at all times.
The app is built with SvelteKit - our web framework of choice - and thoroughly utilizes ENS and IPFS for its world sharing/discovery functionality. We've also used Ethers.js to facilitate on-chain querying and transactions.
When a user decides to share their Minecraft world, its files are shared on the IPFS network through their own locally hosted node. That world's content ID (its World Hash) is appended to the users' world catalog; a list of all of the worlds they've chosen to make public. That document is also shared on IPFS, this time with its content ID added directly onto their ENS under the 'minecraft' content field. The structure of our world catalog makes it easy for future Minecraft-related projects on ENS to add their own content to it without interfering with our World Hash functionality.
When a user wants to find a world shared by someone else, they can search by that person's ENS address, or directly search for a world catalog's IPFS hash. Our app will resolve the searched ENS domain for its IPFS content ID in the 'minecraft' text field and if found, display the worlds listed there. The user can then download any world from that list they like, which automatically resolves its files from IPFS and cleanly sets them up in their Minecraft saves folder. Furthermore, when a world is downloaded, it also pins it to the users' local IPFS node - exponentially increasing the discoverability of that world.