Open the-frey opened 1 year ago
Current thoughts on import:
Thoughts on stale ids: introduce method where they are auto-freed after 10y if some renew button hasn't been hit.
Renew is free (except for cost of gas)
Wever suggests replace ::
with .
One more possible todo (at least to think, unless @the-frey already has a soln)
DIDs by definition are immutable and cannot be deleted. But dens can be burned. So how to handle burning a dens? Replace with empty null value?
Target architecture from discussion:
DENS stays as its own contract DID is a new contract
if a DENS is interacted with* and a DID does not exist for that minerva address, then a new DID record should be created on the DID contract.
From the P.O.V. of the DID contract, DENS is only one service provider.
Service providers should be updateable via an endpoint (sudo or admin multisig) on the DID contract.
@spoo-bar do you want to stick the example document you had on here so we can use that as a target shape?
did:minerva:{minerva_addr}
{
"id": "did:minerva:minervaa1d18a9a76a0a86b62fcdcb2e547173f3c9",
"publicKey": [
{
"id": "did:minerva:minervaa1d18a9a76a0a86b62fcdcb2e547173f3c9#keyID-1",
"type": "Secp256k1VerificationKey2019",
"publicKeyBase58": "tfJRkK8kEu8YFML8bwpkZwzo8YXDFhfFuryfGQAtw4jg"
}
],
...
"service": [
{
"id": "did:minerva:minervaa1d18a9a76a0a86b62fcdcb2e547173f3c9#spoo_bar",
"type": "dens",
"endpoint": "spoo_bar"
},
{
"id": "did:minerva:minervaa1d18a9a76a0a86b62fcdcb2e547173f3c9#spoorthi",
"type": "dens",
"endpoint": "spoorthi"
},
]
}
To-do list:
did:dens:<dens-id>
(as it is available https://www.w3.org/TR/did-spec-registries/#did-methods)::
with.
as::
is not in spec - https://www.w3.org/TR/did-core/#did-syntax (then again†)/
) syntax? It clashes with DID path syntax (gut feel: yes)† this is also mentioned:
However my concern here is that users may not understand the relation being presented. My other concern is that using dots will not be understood, so open to ideas there.