Decentramall, an online virtual discovery shopping mall on Ethereum. It is inspired by virtual world projects such as Decentraland and CryptoVoxels and integrates Ethereum and IPFS to ensure it is decentralized and unstoppable. Decentramall helps retailers and brands showcase their digital and physical products. The goal is to build a virtual discovery shopping experience where brands and retailers can display their products and get discovered by new shoppers. Users will be able to visit this mall and browse through a curated selection of physical and digital products. Users can purchase SPACE tokens which are NFTs each representing an individual retail space in the mall. Currently SPACE tokens are capped at 1200. Currently owning SPACE allows you to create a 2d pixel art billboard or storefront and add a link to your site. You can also resell your SPACE and rent it out. SPACE Tokens also provide governance rights and will allow SPACE holders to vote on key decisions for the management of the mall.

Decentramall showcase

How it's made

We wanted, from the beginning, to have our frontend hosted on IPFS. Nextjs does exactly what we needed, generates HTML pages that work without a server. From there, we did some smart-contracts, as our app requires it. We've used ERC721 from openzeppelin and used an open-source example of a contract implementing a bounding curve. In the meantime, we've learned about filecoin, the textile stack (like powergate, slate, etc), and choose some tools to work with. We decided to use powergate to connect us to IPFS and Lotus testnet. Right now, we are saving the picture of the store rent and saving the cid returned in a json containing the rent metadata, saving both to filecoin. And finally using that generated cid as the tokenURI for the SPACE token. But this is not the ideal solution. A better way to save this metadata has generated some interesting discussions on slack. We are going to have calls with different people to get some feedback on possibilities here. We've also created a search for the user to search for stores, and basic support to ENS addresses. We are very happy with what we've achieved.

Technologies used