stacksgov / grants-program

Welcome to the Stacks Foundation Grant Program. Community members interested in submitting a grant proposal may do so by opening an issue in this repository and filling out the grant application.
141 stars 36 forks source link

Stacks Authenticator #71

Closed Pravica-Inc closed 3 years ago

Pravica-Inc commented 3 years ago

What problems do you aim to solve? How does it serve the mission of a user owned internet?

There is a problem with building DApps on mobile iOS/Android native or cross-platform on top of Stacks infrastructure and the current unsupported community SDKs are outdated, and would not have the stacks 2.0 support unless much much work is put into these SDKs (almost a revamp) closing that process into an open source app for auth/payments/contract interactions would make it much much easier to integrate through experiences the likes of Metamask TrustWallet.

image0

Project Overview

We came with a solution to ease the user’s journey authenticating through Stacks BNS. With a single tap the users and dApp developers could access the plethora of potential stacks blockchain features and services, the idea of this authenticator is, The user will login with his wallet one time using the Authenticator, and every time any other apps try to authenticate it will ask the user’s permission to generate the identity for the current usage app, so basically, the flow is:

image1 (1)

Scope

Basically, developers who are building dApps will no longer need to use deprecated SDKs, to build their apps on top of Stacks, they will focus on their app journey and not the hassle of creating a better UX for their authentication, and STX transfers and contract interactions in the future.

We will not stop from here, we’re looking further to implement more features for this product, our vision is to make life easier for developers, the second phase of this app is to provide the identities real information which is not found in the current connect ux, such as avatar, full name, social media and more personal information the user will decide what are the information the app asking takes.

Also, we’re planning to implement STX transfer where users will be able to transfer STX from other apps through our authenticator. And more features to come such as:

Budget and Milestones

The total requested budget is $11,000 for the next milestones Applying for a grant. We expect to spend more than that on development efforts over the next couple of months. Milestone would be to be able to have a basic working version of the project. The project will be split over the following milestones across 3 months.

M1: (2 weeks / March 2021) (DONE)

M2: (1 Month 15th April 2021) 150h grant - $6,000 (In-Progress)

M3: (1 Month 15th May 2021) 50h grant $2,000

M4: (1 Month 15th June 2021) 75h grant $3,000

From here we can start asking the community what features and requirements they would like to implement next, we will not stop from here, we’re targeting that authenticator wallet to be the standard tool for mobile apps for Stacks apps

Team

Pravica team

Risks

None was found till now according to these milestones.

friedger commented 3 years ago

@Pravica-Inc There is the Circle App for Android that is the Stacks Authenticator that you describe: https://github.com/blocoio/stacks-circles-app

Pravica-Inc commented 3 years ago

@friedger While circles is a great app and a great start for mobile app auth, what we're providing is something unique

RaffiSapire commented 3 years ago

Hi there, We discussed today and wanted to share a few to-dos for you: From our understanding from Mark at Hiro, the legacy SDKs are being updated by Hiro, for the reason mentioned in the proposal. Also, the app seems to have a lot of overlap with pre-existing authenticator apps (as pointed out by Friedger), and wallet apps (like Boom, etc.) Could you check with Ken (Secret Key) and Mark (Hiro) and figure out addtl contribution to what Hiro team is working on. One thing that really resonated in terms of additional contribution is that if we have react native libraries, we can attract broader audience. Would be great to check with them and share back how you see where you are adding additional contribution here given what other folks in the ecosystem are working on, and lets hone in on those aspects.

friedger commented 3 years ago

There is also the the react-native blockstack wallet for stacking and stx transfer: https://github.com/pradel/blockstack-wallet

I think it would be great if Pravica can bring these all together and advance them :-)

Pravica-Inc commented 3 years ago

Hi @RaffiSapire, thanks for responding. As we've been waiting so long for the SDKs and the authenticator apps, we came out with our proposal and implemented it already within a month, As we can see the Circle app hasn't already provided authentication for apps, and it hasn't been maintained since two months ago, And after all, it's only for Android.

Our proposal is a bit different, and we have brought a full team that only working on this product, We've already implemented the authentication in both Android and iOS.

We've made two videos that show the old experience and the new experience of the authentication

The old implementation of the SDK authentication. https://drive.google.com/file/d/1vyoJpcp_reNVsD878v53DxKtFoEKKanl/view?usp=sharing

The product we've implemented already. https://drive.google.com/file/d/1Q21CjJQfsPshaEco6RULsfxJU4epxQuZ/view?usp=sharing

Also according to wallet and Stacking, delegation, and other stuff, they're additional stuff, in our perspective as long as the user only has one standard tool that authenticates with Stacks apps, holding their wallet, stacking, transfer STX, etc. It would be easier for them to trust a single app than multiple apps, And as @friedger said, we're bringing all together in a single product, which is we believe this would be the single source of truth for users

Why this helps the community? We will provide some more interesting stuff, We're making developers' life easy, they will focus on their main product meanwhile they can use this product, for authentication, STX transfer and multiple stuff, through their app with some lines of code.

We wanted to share this with the community, so we can make the user experience more easier and developers as well.

RaffiSapire commented 3 years ago

Hi @Pravica-Inc, we discussed at length and unfortunately this is a pass for us. Reason being, we see the contribution here around a react native library, but that already exists. We’re not seeing additional value here beyond that given the work others in the ecosystem are pushing forward.

mardi00 commented 3 years ago

I don't get this, even if this have been already been built, won't this make the ecosystem more decentralized?

I think having multiple/different implementations of the same component by different teams can be beneficial to the ecosystem. In my opinion it's not because we have already have one lib or one implementation that we shouldn't have a new one or a different one.

We should have multiple ones and developers can choose which solution fit the best their needs.

Pravica-Inc commented 3 years ago

@mardi00 We started our journey and we built the authenticator called Wise, We believe to make it the standard tool for mobile authentication and the wallet for holding your digital assets. We changed the branding and the UI to be something standard not related to Pravica, we're planning to develop the SDK and make it open source for the community by the end of this year, Cheers.

Now you can find it on both App store and play store, you can test it using Pravica as well, here is the link: https://wiseapp.id We would like to know your feedback.