feat: implement DID registration with JWT signing

- Add full DID registration flow matching TypeScript version
- Implement ES256K JWT signing with PEM key format
- Add async/await support for JWT operations
- Improve error handling and debug output
- Add rich documentation and type hints

Technical Changes:
- Convert private key to PEM format for JWT signing
- Match TypeScript's JWT payload structure
- Add proper JWT header with ES256K algorithm
- Implement async functions for JWT creation
- Add detailed debug output for JWT parts

Documentation:
- Add module-level docstring with flow description
- Add function-level docstrings with examples
- Document security considerations
- Add technical details and error handling info

Dependencies:
- Add cryptography for key format conversion
- Add jwcrypto for JWT operations
- Update requirements.txt with versions and comments

This commit implements the complete DID registration flow,
matching the TypeScript implementation's behavior and
adding comprehensive documentation and error handling.
This commit is contained in:
Matthew Raymer
2025-03-05 13:44:42 +00:00
parent ddcf674b94
commit 2da44c4de6
6 changed files with 2081 additions and 65 deletions

23
test-scripts/package.json Normal file
View File

@@ -0,0 +1,23 @@
{
"name": "did-registration",
"version": "1.0.0",
"description": "DID creation and registration flow",
"main": "new_flow.js",
"scripts": {
"start": "ts-node new_flow.ts",
"build": "tsc"
},
"author": "Matthew Raymer",
"license": "MIT",
"dependencies": {
"@ethersproject/hdnode": "^5.7.0",
"@ethersproject/wallet": "^5.7.0",
"axios": "^1.6.2",
"did-jwt": "^6.11.6"
},
"devDependencies": {
"@types/node": "^20.10.0",
"ts-node": "^10.9.1",
"typescript": "^5.3.2"
}
}