Skip to main content

Components & Features

To build a dApp store that is scalable & community-focused, the best approach is to make it self-hosted and community-owned. The architecture here is designed to ensure there are no centralized authorities gatekeeping the process of listing individual dApps.

Components & features
  1. dApp Registry

    A decentralized app (dApp) registry is a platform that allows users to discover and access a wide range of decentralized applications (dApps) on the blockchain. Unlike traditional app stores, a dApp registry is not controlled by any single entity or organization, but is instead decentralized and operates on a blockchain network. This allows users to access dApps without having to trust a central authority and enables developers to easily deploy and manage their dApps on the registry.

    The dApp registry allows users to browse and search for dApps based on a variety of criteria, such as category, popularity, and ratings. Users can also view detailed information about each dApp, including its features, functionality, and user reviews. Developers can easily submit their dApps to the registry by creating a listing and providing information about the dApp, including its name, description, and links to its source code and documentation. The dApp registry also provides tools and resources to help developers manage their dApps, such as analytics and tracking, and support for integrating with other blockchain protocols.

    Overall, a dApp registry serves as a one-stop shop for users to discover and access a wide range of decentralized applications and provides a valuable platform for developers to deploy and manage their dApps on the blockchain.

  2. dApp listing and search

    The listing and search backend for the dApp store allows users to easily browse and discover a wide range of decentralized applications.

    The backend utilizes advanced search algorithms and filtering options to enable users to find dApps based on their specific interests and needs. Developers can easily submit their dApps to the store and provide detailed information about their dApp, including their features, functionality, and user reviews.

    The listing and search backend also provides valuable analytics and tracking tools to help developers understand the performance and popularity of their dApps on the store

  3. Packaging engine

    The packaging engine for the dApp store protocol is a tool or platform that is used to package decentralized applications (dApps) in a format that can be easily installed and run on users' devices. The packaging engine typically takes the dApp’s source code, assets, and dependencies as input, and generates a package that is optimized for the intended devices and platforms.

    The packaging engine may use a variety of techniques and technologies to create the dApp packages, depending on the specific requirements and capabilities of the dApp store protocol. For example, the packaging engine may use a package manager or bundler to create packages in a specific format, such as an Android Package (APK) for Android devices, or an iOS app bundle for iOS devices.

    The packaging engine may also include features such as dependency management and versioning, to ensure that the dApp’s dependencies are appropriately resolved and included in the package and that the package is compatible with the intended devices and platforms. Additionally, the packaging engine may provide tools and interfaces for developers to manage and customize the packaging process for their dApps, such as configuring build settings and parameters.

  4. Web3 Context Injection

    Web3 context injection in the browser allows decentralized applications (dApps) deployed on the dApp store to access the Web3 JavaScript API, which provides the necessary tools and interfaces to interact with the underlying blockchain network. By injecting the Web3 context into the browser, dApps can access information about the user's wallet and account balance and send and receive transactions on the blockchain.

    This allows dApps to provide a seamless and secure user experience, as users do not have to manually install a separate wallet or plugin to interact with the dApp. Instead, the Web3 context is automatically injected into the browser when the dApp is accessed, providing the necessary tools and interfaces for the dApp to function properly.

    In addition to providing a more convenient user experience, web3 context injection also helps to improve the security of dApps, as it ensures that all interactions with the blockchain are carried out through a secure and trusted interface. This helps to protect users from potential security vulnerabilities and attacks and ensures that their data and assets on the blockchain are safe and secure.

  5. PWA Package of dApp Store

    Progressive web apps (PWAs) are web applications that can be installed and accessed on mobile devices just like native mobile apps but are delivered and run through the web browser. The dApp store can be packaged and delivered to users on mobile phones using PWA technology, which allows users to easily access and use the store on their mobile devices.

    To package the dApp store as a PWA, the store's web application would need to be optimized for mobile devices and configured to meet the requirements for a PWA. This typically involves creating a web app manifest, which defines the basic properties and behaviors of the app, and implementing responsive design techniques to ensure that the app looks and functions properly on different mobile devices and screen sizes.

    Once the dApp store has been packaged as a PWA, users can access and install it on their mobile phones just like any other app. The PWA can be added to the home screen of the user's device, and can be launched and used without an internet connection, providing a seamless and convenient user experience.

  6. Build Cache

    The build cache for the dApp store is a storage area where the current build of the application is kept so that it does not need to be built from scratch every time a user installs the app. This helps to improve the performance and efficiency of the dApp store, as it reduces the amount of time and resources required to build and deploy the app.

    The build cache typically contains all of the necessary files and assets for the dApp store, including the source code, compiled binaries, and supporting libraries and frameworks. When a user installs the app, the build cache is used to quickly and efficiently generate the necessary files and assets for the app, without having to rebuild the entire app from scratch.

    In addition to improving performance and efficiency, the build cache also helps to ensure the consistency and integrity of the dApp store. By using the same build of the app for every install, the dApp store can provide a consistent and reliable user experience, without the potential for errors or inconsistencies that may arise from building the app from scratch each time.

  7. Runtime Engine

    The runtime engine helps install the relevant build onto the device based on the package type.

    • APK apps are installed natively on the phone (Android only)
    • PWA apps are installed on the device (iOS, Android, Mac, Windows)
    • Vanilla JS apps can be “Added to Home Screen” for a seemingly native experience(iOS, Android), and made available inside the main dApp Store (Mac, Windows)

    The layer will have a web3 auth layer as well which will help inject the auth login context into the dApps. This can majorly be achieved in two ways,

    • Via “in browser” wallets (iOS, Android, Mac, Windows)
    • Via any other wallet app installed on the device (iOS, Android)
  8. dApp Review & Rating System

    An on-chain dApp rating and review system is a decentralized mechanism for users of decentralized applications (dApps) to provide feedback and ratings about the dApps they use. The system operates on the blockchain and utilizes smart contracts and other blockchain technologies to securely and transparently store and manage the ratings and reviews provided by users.

    The on-chain dApp rating and review system allow users to provide ratings and reviews for dApps they have used, using a standardized and transparent rating system. The ratings and reviews are stored on the blockchain, providing a permanent and immutable record of the feedback provided by users. Developers of dApps can access the ratings and reviews provided by users through the on-chain dApp rating and review system, and use this feedback to improve the quality and functionality of their dApps. The system also allows developers to view and compare the ratings and reviews of their dApps against those of other dApps on the platform, providing valuable insights and information for improving their dApps.

    Overall, an on-chain dApp rating and review system provides a valuable mechanism for users to provide feedback and ratings about the dApps they use and help developers to improve the quality and functionality of their dApps.