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

DID Web Dapps interacting #722

Closed paradigma-cl closed 1 year ago

paradigma-cl commented 1 year ago

APPLICANT

Type:                                                                        Direct Application

Email:                                                                    proe@paradigma.global

Discord:                                                    phillip.xck.app

Twitter:                                                        https://twitter.com/checkparadigma

Stacks Forum:           paradigma-cl

GRANT BASICS

Grant Name:                                        DID Web Dapps interacting

Total Budget:                              30,000

Total Duration:                 330

Grant Type:                                               Open Source Dev Repeat Grantees

Grant Track:                                          Stacks dApps & Clarity

Grant Goal:                                               Create New Technology

Grant Audience:             Developers

Specific Audience:         Developers that have already have developed Dapps or planning to develop new one

Grant Team:                                       phillip.xck.app,jfontirroig.xck.app,github.com/paradigma-cl

Previous Grants:                      362 Stacks dapp public web-accessible landing page (2022) and A Proposal of Change of the components for the Stacks Decentralized Application Development Architecture (2021)

Ecosystem Programs:      

GRANT MISSION, IMPACT, RISKS & REFERENCE

Grant Mission:         The numerous Dapps developed in the Stacks ecosystem are based mainly on decentralized identifiers (DID) using the BNS, user data, the fungible and non fungible tokens, the STX token, and the associated Clarity Smartcontracts.
We envisioned a more flexible and powerful generation of Dapps based on the development done in the previous Grant #362 project that links the display of the user profile based on the DID URIs. That is why the W3C (https://www.w3.org) published a recommendation in July 2022 to integrate to the DID a web reference in order to use the trust that users have on the Internet DNS, calling it did:web, to speed up DID’s adoption.
Specifically, while other parties might be used to help enable the discovery of information related to a DID, Diagram 1, the design enables the controller of a DID to prove control over it without requiring permission from any other party. DIDs are URIs that associate a DID subject with a DID document allowing trustable interactions associated with that subject. Diagram 2 shows the use of URIs that associate a DID subject. A Dapp could have numerous web identifiable components associated to DID’s, meaning that each DID document can express cryptographic material, verification methods, or services, which provide a set of mechanisms enabling a DID controller to prove control of the DID. Different Dapps could query and interact between each other using web communications, in a verifiable manner and trustable, independently of the blockchain ecosystem it belongs, as shown in Diagram 2. This grant has the mission to create and extend the development of some essential tools and UI that should be considered as a standard in every Stacks Dapp developed starting with the user’s basic profile, the app’s profile, and other things definitions that could be an identifiable component.

Grant Impact:               If the developers consider integrating these tools as a starting set of functionalities for each of the different Stacks Dapps, there will be higher possibilities of considering the interaction between them. At the same time, it will show the general community of the importance and usefulness of the Stacks Domain Names. We expect that each Internet domain name will have also an associated DID, in addition to only DIDs.

Grant Risks:                          To produce the did:web identification for an identifiable Dapp, the development considers a software library that uses the stacks-wallet-web library to get the zonefile and profile.json associated with the DID, and the stacks.js library to get the associated user data GAIA storage that extends the user’s or app’s profile. This library will also have tools to query and validate other Dapps did:web specifications, providing the validated user data to its Dapp. As a standard definition for each Dapp, the development considers the user’s definition to create and update the user’s basic profile, and its associated data, or the application profile, based on templates for the UI and a software library that uses the stacks-wallet-web and stacks.js library for that purpose.

Support Link:                                     Diagrams mentioned in the presentation.

GRANT ROADMAP & DELIVERABLES

MILESTONE 1:

Deliverable:                   Develop code for basic did:web user's, app's profile, other object

MILESTONE 2:

Deliverable:                   Develop PoC Dapp showing the possibilities of interaction based in did:web

FINAL DELIVERABLE

Deliverable:                   Basic did:web user's, app's profile, other object code tools, and PoC Dapp

stacks-foundation commented 1 year ago

👋 @paradigma-cl
Thanks for your application! We will do a pre-review and let you know if we have any immediate questions. In the mean time please refer to our review schedule here for a detailed timeline and response dates.
Best, Will

wileyj commented 1 year ago

Would part of the work for this grant be creating a new library (presumably in js) to retrieve this data, or extending an existing library (stacks.js) to help developers use this functionality?

secondly, would there need to be any new api endpoints/services running used to retrieve the data, or would public/private stacks-blockchain(and api) be used to handle the queries?

paradigma-cl commented 1 year ago

Probably, it will be convenient to be included in the stack.js in order that all developers have them easily. There are already some functions developed that retrieve the data and puts them in the profile.JSON format when a did:web uri is specified with the endpoint /?profile and /?did.json

Enviado desde mi iPhone

El 20-10-2022, a la(s) 16:52, wileyj @.***> escribió:

 Would part of the work for this grant be creating a new library (presumably in js) to retrieve this data, or extending an existing library (stacks.js) to help developers use this functionality?

secondly, would there need to be any new api endpoints/services running used to retrieve the data, or would public/private stacks-blockchain(and api) be used to handle the queries?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.

will-corcoran commented 1 year ago

Hi @paradigma-cl

Thanks for the application! Applications for this cohort close next Friday 11/4 and then the Grants Review Committee will be doing the full review. Currently, I am in the process of doing some pre-review and one of the things I wanted to ask you about is the overall budget for your grant.

Right now and for the next quarter or so, grants are going to be reserved for critical blockchain related work and addressing priorities outlined from community feedback, which you can find here. While this application covers some really interesting territory, we are trying to be cognizant of only funding the portions that are the most high-impact and aligned with those priorities. Additionally, we have been asking applicants to keep their budget in the $75/hr range and your application appears to pencil out to $90/hr. If you could take a close look and try to keep your overall budget around $25k that would be great. You can also refer to the awarded applications from Cohort 18 to see the amount of scope they were able to cover for similar budgets.

Please let me know if you have any questions.

Best, Will

paradigma-cl commented 1 year ago

https://github.com/stacksgov/Stacks-Grant-Launchpad/issues/722#issuecomment-1286060561

Complementing the explanation, the objective of implementing the did:web capability to dapps and to the user of the dapps is to take advantage of the web communications that can be establish between them. As an example, a possible application of an event service, like excel.events, a user just registers his did:web url like phillip.xck.app, then another user like support.xck.app, or patricialockefoundation.xck.app, user1.mixmi.app etc. The excel.events web application using the did:web protocols, get the profile data for the different users using https://phillip.xck.app/?profile or https://support.xck.app/?profile or https://patricialockefoundation.xck.app/?profile or https://user1.mixmi.app/?profile Each one of these url's are based on the user DID's are endpoints that are actually decentralized (retrieved from the zonefile + GAIA). The application xck.app that provides the functionalities for the users provide the routing to the decentralized location retrieving the profile data and returns it as profile.json webtoken. Also the web address IP can be validated as trustful provider requesting using the same uri's, but requesting at the end /did.json like https://support.xck.app/?did.json . The endpoint will return the valid did.json representing the did:web relation.

If each dapp, and in this case, excel.events provides a did:web way to access the public information, an application, could read the profile data from the application in the same way, getting a list of events, or some other useful data. Then the use of Schema from Schema.org data becomes essential.

All these functionalities when seen in operation could boost the development of new dapps by many new founders.

paradigma-cl commented 1 year ago

Hi Will,

We happily agree to change the budget to USD 24.750.

We have found in our research and development effort in the Stacks ecosystem, that our time estimation fall short comparing to the real time effort required.  We forsee a certain idea, but when actually building them, and having the feedback of other developers, we realized that the solution can be enriched to be more massively used that originally thought. That incentive happens when you are committed to a community, but at the same time we have make sure we can keep kicking the ball.

Best regards,

Phillip Roe

El 28/10/2022 a las 16:10, Will Corcoran escribió:

Hi @paradigma-cl https://github.com/paradigma-cl

Thanks for the application! Applications for this cohort close next Friday 11/4 and then the Grants Review Committee will be doing the full review. Currently, I am in the process of doing some pre-review and one of the things I wanted to ask you about is the overall budget for your grant.

Right now and for the next quarter or so, grants are going to be reserved for critical blockchain related work and addressing priorities outlined from community feedback, which you can find here https://github.com/stacksgov/Stacks-Grant-Launchpad#current-grant-priorities. While this application covers some really interesting territory, we are trying to be cognizant of only funding the portions that are the most high-impact and aligned with those priorities. Additionally, we have been asking applicants to keep their budget in the $75/hr range and your application appears to pencil out to $90/hr. If you could take a close look and try to keep your overall budget around $25k that would be great. You can also refer to the awarded applications from Cohort 18 to see the amount of scope they were able to cover for similar budgets.

Please let me know if you have any questions.

Best, Will

— Reply to this email directly, view it on GitHub https://github.com/stacksgov/Stacks-Grant-Launchpad/issues/722#issuecomment-1295359274, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHVRDCSUVVR7ZPQMNEJ7JVTWFQQLZANCNFSM6AAAAAARFW6L5E. You are receiving this because you were mentioned.Message ID: @.***>

-- (DID:web)https://phillip.xck.app
@.***

Tel.Of.: +56-23224-9606 Tel.Mov.: +56-98292-8644 http://www.paradigma.global En forma Segura Haciendo Negocios con Quien quieras, desde Cualquier Lugar https://xck.app Identidades Digitales Descentralizadas (DID) Los nombres de dominio descentralizados son registrados mediante el envío de una transacción al Blockchain. https://domains.paradigma.global Alonso de Córdova 5870, of. 1216, Las Condes 7560885, RM, Chile

friedger commented 1 year ago

To support this effort, I would like to mention that updating the profile of a DID web id is now available in a developer preview of the Hiro Wallet. See details at https://app.sigle.io/web3.id/gsPb1812ZZKON1KiezDZk

friedger commented 1 year ago

With the current interest in BNS names, it is important to define too tools and standards for user profiles. User profiles are the first use case of BNS names.

History is coming back with Onename and blockstack having defined profiles for names and identifiers.

will-corcoran commented 1 year ago

@paradigma-cl thanks very much for your budget compromise. I will make a note of the $24,750 adjustment for the GRC.

Best, Will

paradigma-cl commented 1 year ago

With the current interest in BNS names, it is important to define too tools and standards for user profiles. User profiles are the first use case of BNS names.

History is coming back with Onename and blockstack having defined profiles for names and identifiers.

The Onename and blockstack profiles have been always a very good idea. That is why we are trying to massify it!

Scarlett-Web3 commented 1 year ago

I think you have an interesting project. If you haven't already gone through the Stacks Web3 Startup Lab, I would like to invite you to apply.

Here's a 5-minute read on how we can help you turn your startup idea into an investment-ready startup: www.web3startuplab.io

If you are interested, you can apply through the "Apply Now" button.

Feel free to ping me on email: scarlett@stacks.ac

paradigma-cl commented 1 year ago

Found some images representing what we pretend to develop. (Taken from the Solid TBL project) pod-tour store-anything-tour

paradigma-cl commented 1 year ago

Each user with their Stacks or other did:web ID have the ability to store data in a way that promotes interoperability. Specifically, the did:web profiles supports storing linked data based on Schema.org. That is a structured data meaning that different applications can work with the same data.

will-corcoran commented 1 year ago

Hello @paradigma-cl

Thank you for the application and for your patience with the grant review process. We did a thorough review of all of the applications (each application received an average of 6 reviews from members of the Grants Review Committee).  However, after much consideration, we decided not to fund any of the Cohort 19 grant applications as we did not feel they aligned with critical priorities core to the development of the Stacks blockchain.  

We invite you to please read this blog post we authored to help elaborate on the reasoning behind this decision and clarify the current mission of the Grants Program.

Thanks in advance, Will Stacks Foundation Grants Program Manager