RequestNetwork / requestNetwork

A JavaScript library for interacting with the Request Network protocol
https://docs.request.network/
MIT License
380 stars 71 forks source link

Add support for creating requests with DIDs (Decentralized Identifiers) which can include potentially multiple identity addresses #1317

Open MantisClone opened 8 months ago

MantisClone commented 8 months ago

Problem

??

Solution

The goal of this issue would be to add a new identity type for DIDs: https://github.com/RequestNetwork/requestNetwork/blob/70b7438eb16b39d5ada4c18f0402410c91dccada/packages/types/src/identity-types.ts#L15-L19

The idea is users could send and receive requests directly to and from DIDs instead of Ethereum Addresses. I had hoped that multiple Ethereum Addresses could be associated with a single DID. The DID would need to be able to provide a signature when creating a request, similar to the way we use EOA signatures today.

Request Network (the protocol) doesn't prescribe any specific UI, so I'm sure what you're describing could be possible from a UI standpoint.

Reference

GHkrishna commented 7 months ago

I could start working on creating a draft PR for this.

I haven't started the work yet but I was wondering if instead of giving a separate UI for DID-based transactions we could let the users send/receive requests directly to DIDs and we could work on resolving the DIDs based on their generic form,

did:method:the-unique-identifier

Upon successful resolution of the DIDdocs, we could ask for confirmation from the users to send/receive funds to/from the resolved controller of the DID.

Uniresolver can be used to resolve DIDs. Having them resolved initially would enable us to continue the remaining flow normally, with the associated account address.

MantisClone commented 7 months ago

Hi @GHkrishna Thanks for your interest! I just added new details to the issue description to help understand the scope of the task.