Please describe your proposed solution.
Our proposed solution is a JavaScript framework that is open-source and designed to enable Cardano decentralized applications (dApps) to integrate NFT and wallet-based user authentication. This solution addresses a common issue in the blockchain space: the need for standardized and user-friendly methods for dApp authentication.
Perception of the Problem:
The current dApp landscape often needs an efficient way to utilize NFTs and wallet addresses for user authentication. This gap hinders the broader adoption of dApps and limits the potential of NFTs in establishing user identity and community belonging within the Cardano ecosystem. Our solution aims to simplify and standardize this process, thereby enhancing the user experience and fostering greater community engagement.
Some platforms may deploy this solution on their own platform, but developers must develop this non-trivial feature on their own. There is no open source implementation that they can simply adopt.
The Solution
We will develop an open source JS framework that allows developers to implement an NFT sign-on/sign-in mechanism for their app.
The solution will provide a Cardano dApp boilerplate with NFT Authentication and explanatory documentation to start building on Cardano. It will include helper functions that allow developers to integrate in their apps:
- sign-on/sign-in using a wallet address,
- sign-on/sign-in using a specific NFT in the users wallet,
- Callback URL for physical authorization. (Framework will allow external callback to trigger external API or any interface) (this will allow any external service to be informed of the action, such as logging authorizations and triggering external services such as automated garage doors or barriers.
- allow certain NFTs/collections to be selected by the developer as login NFTs
- Design and implement CNFT SSO metadata
- Additionally, Membership levels (admin, user, etc.), activation date, expiry date, #max usage, transferability
- Sample pages:
- Dashboard
- cnft_auth Setup and configuration
- Privilege levels
- Default NFT/collection selection
- Signup with wallet
- Search for NFT in a wallet (pattern, prefix, metadata)
- Select NFT/collection in a wallet
- NFT overlays
- logo
- any arbitrary number
- a text or
- any variable output
- login with wallet
- Actions and events specific authorization
- Start date
- Expiry date
- Auth Levels
- NFT Token session expiry duration
- voting
Approach and Rationale:
We decided to create an open-source framework because it fosters collaboration within the community, enabling continuous improvement and adaptation. Open-source projects align with the principles of blockchain technology, highlighting transparency, decentralization, and collective development. With a focus on JavaScript, a widely used programming language, we ensure that our solution is accessible to many developers, maximizing its impact and adoption.
Engagement:
Our project aims to assist Cardano developers with tools to enhance their decentralized applications (dApps) with secure and user-friendly authentication. We simplify the integration process, allowing developers to focus on core functionalities and user experience. Moreover, we add value to NFT holders and creators by incorporating NFTs in authentication, further enriching the Cardano community.
Demonstrating Impact:
Our solution's impact will be shown by its adoption rate in the Cardano ecosystem. We will measure key metrics such as the number of dApps that integrate our framework, the activity on our GitHub repository (such as stars, forks, and contributions), and feedback from the developer community. Additionally, we will track the usage of NFT-based authentication in dApps to evaluate how our solution improves user engagement and interaction within the Cardano network.
Uniqueness and Benefits:
Our solution stands out due to its emphasis on NFT-based authentication - an area not explored much in blockchain technology. Utilizing NFTs beyond digital collectibles opens up new avenues for user interaction and community building. Our solution benefits the Cardano ecosystem by promoting innovation, improving dApp security and usability, and encouraging a more lively and engaged community around Cardano's expanding range of applications.