Files
zeekay abf99d05fc papers: reorganize into per-paper dirs, add Antje Worring as co-author
Restructured from flat .tex/.pdf files into per-paper subdirectories.
Added Antje Worring as co-author on all papers.
Synced PDFs to pdfs/ for download site.
2026-04-18 21:50:07 -07:00

113 lines
2.6 KiB
TeX

\section{DID Method Specification}
\subsection{Method Name}
The method name is \texttt{lux}.
\subsection{Method-Specific Identifier}
The method-specific identifier is a Lux blockchain address in one of the following formats:
\begin{itemize}
\item Bech32 (X-Chain/P-Chain): \texttt{[XP]-lux1[a-z0-9]\{38\}}
\item Hex (C-Chain): \texttt{0x[0-9a-fA-F]\{40\}}
\end{itemize}
\subsection{DID Syntax}
\begin{verbatim}
did-lux = "did:lux:" network ":" address
network = "mainnet" / "testnet" / "local" / appchain-id
address = bech32-address / hex-address
bech32-address = ([XP] "-lux1") 1*38(ALPHA / DIGIT)
hex-address = "0x" 40(HEXDIG)
appchain-id = 32(base58-char)
\end{verbatim}
\subsection{CRUD Operations}
\subsubsection{Create}
\textbf{Request}:
\begin{lstlisting}[language=bash]
POST /api/did/create
Content-Type: application/json
{
"address": "X-lux1qzr2v3dhq0hgqkgdwq36z0z7eqkh5x2g5m",
"publicKey": "zH3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV",
"verificationMethod": "Ed25519VerificationKey2020"
}
\end{lstlisting}
\textbf{Response}:
\begin{lstlisting}[language=json]
{
"did": "did:lux:X-lux1qzr2v3dhq0hgqkgdwq36z0z7eqkh5x2g5m",
"didDocument": { /* Full DID Document */ },
"txHash": "0xabc...def" // If on-chain registration
}
\end{lstlisting}
\subsubsection{Read (Resolve)}
\textbf{Request}:
\begin{lstlisting}[language=bash]
GET /api/did/resolve/did:lux:X-lux1qzr2v3dhq0hgqkgdwq36z0z7eqkh5x2g5m
\end{lstlisting}
\textbf{Response}:
\begin{lstlisting}[language=json]
{
"didDocument": { /* Full DID Document */ },
"didResolutionMetadata": {
"contentType": "application/did+ld+json",
"retrieved": "2025-10-28T12:00:00Z"
},
"didDocumentMetadata": {
"created": "2020-10-20T10:30:00Z",
"updated": "2025-10-15T14:22:00Z",
"versionId": "5"
}
}
\end{lstlisting}
\subsubsection{Update}
\textbf{Request}:
\begin{lstlisting}[language=bash]
POST /api/did/update
Content-Type: application/json
Authorization: Bearer <jwt-signed-by-did-key>
{
"did": "did:lux:X-lux1qzr2v3dhq0hgqkgdwq36z0z7eqkh5x2g5m",
"updates": [
{
"action": "addVerificationMethod",
"verificationMethod": {
"id": "#key-4",
"type": "Dilithium3VerificationKey2025",
"publicKeyMultibase": "zMxY...PQ-KEY"
}
}
]
}
\end{lstlisting}
\subsubsection{Deactivate}
\textbf{Request}:
\begin{lstlisting}[language=bash]
POST /api/did/deactivate
Content-Type: application/json
Authorization: Bearer <jwt-signed-by-did-key>
{
"did": "did:lux:X-lux1qzr2v3dhq0hgqkgdwq36z0z7eqkh5x2g5m",
"reason": "User requested account deletion"
}
\end{lstlisting}