MEP: 1759 Title: MEP-1759 MXC DApp Store Metadata Standard Status: Draft Type: Standards Created: 2023-06-06
MEP1759 proposes a metadata standard for decentralized applications (DApps) to be listed on the MXC DApp Store. The standard defines the information to be provided by DApp developers to facilitate the discovery, usage, and evaluation of DApps in the store. It provides the basis for harmonization of app information to enhance interoperability and user experience.
The motivation behind MEP1759 is to create a standardized framework for DApps on the MXC DApp Store. With the increasing number of DApps, there is a need to organize and present these applications in a consistent manner. This ensures users can find and evaluate DApps effectively while providing developers with clear guidelines on how to present their DApps.
Furthermore, the integration with MEP-1002 hexagons, which provides guidelines for deploying and displaying networks, enhances the linkage between the DApp store and the number of hexagon naming tokens. This linkage not only grants better display space for developers' DApps, but it also incentivizes improved network coverage.
The MEP1759 standard proposes the following JSON structure for DApp metadata:
{
"app": {
"name": "Your App Name",
"URL":"https://developer.com",
"version": "1.0.0",
"description": "A brief description about your app",
"developer": {
"name": "Developer Name",
"contact": "[email protected]",
"support": {
"email": "[email protected]",
"website": "https://developer.com/support"
}
},
"permissions": {
"notifications": "required",
"camera": "required",
"storage":"required",
"clipboard":"required",
"location":"required"
},
"localizations": {
"en": {
"name": "Your App Name",
"description": "A brief description about your app"
},
"es": {
"name": "El Nombre de tu Aplicación",
"description": "Una breve descripción de tu aplicación"
}
// Other languages can be added in similar way
},
"ageRating": "12+"
},
"store": {
"mnsid": "Your MNS",
// Can be purchased from MXC name service (MNS)
"category": "defi.mxc",
// Create your own category or just find popular ones
"chainid": "Your chain ID"
// Put your blockchain ID
},
"reviewAPI": {
"url": "https://mxc-graph-node.mxc.com/subgraphs/review/yourmns",
"method": "GET",
"headers": {
"Authorization": "Bearer YOUR_AUTH_TOKEN",
"Content-Type": "application/json"
},
"body": {
"mnsId": "your MNS"
},
"icons": {
"iconSmall": "https://developer.com/icon_small.png",
"iconLarge": "https://developer.com/icon_large.png",
"namedhexagon": "0xdeveloper",
// Put your own address that had all the named hexagons
"lease":"24 months",
"islarge":"false"
}
}
}
The rationale behind the specific choices of metadata elements is to capture the critical information needed for users to discover and evaluate DApps and for the MXC DApp Store to manage these applications.
The display of the small or large app icon is contingent on the number of DApps and the quantity of named hexagons owned by the developer. The DataDash Wallet bot will announce which DApp ID receives either small or large icons based on these factors.
This standard does not have backwards compatibility concerns as it is introducing a new metadata format for DApps on the MXC DApp Store.
Test cases for this standard should focus on validating the structure of the metadata JSON and verifying the accuracy and validity of each metadata item.
Implementing this standard requires DApp developers to provide metadata according to the specified format when submitting their DApp to the MXC DApp Store. The MXC DApp Store should validate the submitted metadata against this standard.
- ERC-721: https://eips.ethereum.org/EIPS/eip-721
- EIP-165: https://eips.ethereum.org/EIPS/eip-165
- MXC Foundation: https://www.mxc.org/