As a development partner, you are expected to
- Add your integration to the dApp Store Kit by adding your module to the dapp-sdk.
- Specific details on how to add can be found at contributing to dapp-sdk.
Right now, our focus is to build the lower layers. Following is a categorised list of areas open for integration to partners.
Packaging & Build Modules
As a compute provider, you will need to extend the BaseComputeProvider class. Specifically you will need to implement functions related to authentication, pricing, add/manage compute & response. We also mean any compute using smart contracts.
Compute will be used for activities such as - rendering videos, running backend web servers, performing analytics & machine learning tasks, media conversions and many more use case.
Possible Integrations - Smart Contracts, AkashNet, Fleek, $RNDR
As a storage provider, you will need extend the BaseStorageProvider module. Specifically you will need to implement functions related to authentication, pricing, store, get, update, delete etc in an inherited class.
Storage will be used to - store build files, CDN for media files
Possible Integrations - ARWeave, IPFS, AkashNet, Fleek, Filecoin
As a cloud pipeline provider, you will need to extend the BaseCloudPipelineProvider class. The use case for cloud pipeline is - running ci/cd tasks, automating pre/post data cleanup operations, ETL and so on.
Possible Integrations -
Wallet module will be responsible to implement wallet related functions.
App Based Wallet Provider (Including hardware wallet)
We support all chains. Our first implementation is in EVM based chains and we will expand to Solana as well. As a wallet, you will need to implement following
deep linking for native apps. The deep link should be able to perform common wallet tasks like - txn and data signing, chain switch, display account balance, add chain.
deep linking back to the dapp store app. Wallet implementations and user journey will vary widely depending on what wallet tech is being used. Ex - a self custodial wallet’s user experience vs a multi sig/MPC wallet experience. As such, at various steps the user will be needed to sent back to the dapp store. In order to do so, deep linking to the dapp store should be implemented. If not deep linking, then some mechanism must be provided so that the dapp store can check the status of the request.
Possible Integrations - Bitpack, Metamask, Rainbow, TrustWallet
Embedded/OS level Wallet Provider
If you are building an OS or any other device that has embedded wallet, this section is for you. It is expected that there should be native APIs. These native APIs should be wrapped in a nodejs project so as to be compatible with dApp Store Kit.
This will be a standard WalletConnect integration showing QR Code and following the steps.
Your dApp Store Implementation can choose from a variety of options to implement identities. Or you can bring your own as well.
In order to bring your identity, you would need to implement one of the following
Extend the base identity provider class to implement the functions - requestIdentity, signUp (or mint profile), signIn, API Keys etc
Expose the frontend components in ReactJS or other frontend libs.
More than just identity
If your identity also comes with a wallet, you should also implement the wallet provider module.
If your identity also has a social graph aspect, you should implement additional functions - follow, comment, rate etc.
How does this work?
For a good dApp Store implementation, functions like rating, reviewing dApps are needed. If the identity provider also has social graph, those functions are used for these features.
For just identity providers, dApp Store Kit also comes with a default implementation, which uses smart contracts and NFTs for social graph.
Possible Integrations - Web3Auth, Lens