Files
sonr/proto/dwn/v1/dwn_docs.md
T
Prad NukalaandGitHub 13e6c3e84d Master (#1262)
* clear

* feat: Add everything

* fix: Commenht
2025-10-03 14:45:52 -04:00

70 lines
2.8 KiB
Markdown

## Overview
The DWN (Decentralized Web Node) module provides decentralized data storage with encryption, permissions, and protocol management.
## Request: {{.RequestType.Name}}
| Field ID | Name | Type | Description |
| -------- | ---- | ---- | ----------- | {{range .RequestType.Fields}}
| {{.Number}} | {{.Name}} | {{if eq .Label.String "LABEL_REPEATED"}}[]{{end}}{{.Type}} | {{fieldcomments .Message .}} | {{end}}
## Response: {{.ResponseType.Name}}
| Field ID | Name | Type | Description |
| -------- | ---- | ---- | ----------- | {{range .ResponseType.Fields}}
| {{.Number}} | {{.Name}} | {{if eq .Label.String "LABEL_REPEATED"}}[]{{end}}{{.Type}} | {{fieldcomments .Message .}} | {{end}}
## Implementation Details
{{if eq .MethodDescriptorProto.Name "RecordsWrite"}}
- Creates or updates records in decentralized storage
- Supports encryption for sensitive data
- Stores data on IPFS with CID references
- Enables protocol-based data organization
{{else if eq .MethodDescriptorProto.Name "RecordsDelete"}}
- Removes records from DWN storage
- Can prune descendant records recursively
- Maintains deletion history for audit
{{else if eq .MethodDescriptorProto.Name "ProtocolsConfigure"}}
- Defines custom protocols for data organization
- Establishes schema and validation rules
- Enables structured data interactions
{{else if eq .MethodDescriptorProto.Name "PermissionsGrant"}}
- Grants access permissions to other DIDs
- Supports fine-grained access control
- Can scope permissions to specific protocols or records
{{else if eq .MethodDescriptorProto.Name "PermissionsRevoke"}}
- Revokes previously granted permissions
- Immediate effect on access control
{{else if eq .MethodDescriptorProto.Name "RotateVaultKeys"}}
- Rotates encryption keys for vaults
- Maintains data accessibility during rotation
- Supports scheduled and forced rotations
{{else if eq .MethodDescriptorProto.Name "Records"}}
- Queries records with flexible filters
- Supports filtering by protocol, schema, parent
- Returns paginated results
{{else if eq .MethodDescriptorProto.Name "Vault"}}
- Retrieves vault encryption status
- Shows key rotation history
- Returns vault metadata
{{else if eq .MethodDescriptorProto.Name "IPFS"}}
- Returns IPFS node status and connectivity
- Shows peer count and storage metrics
{{else if eq .MethodDescriptorProto.Name "CID"}}
- Retrieves data by IPFS Content Identifier
- Returns raw data from distributed storage
{{end}}
## Storage Architecture
- **IPFS Integration**: Large data stored on IPFS network
- **On-chain References**: Blockchain stores CIDs and metadata
- **Vault Encryption**: Sensitive data encrypted before storage
- **Protocol Organization**: Data structured by custom protocols
## Security Features
- End-to-end encryption for private data
- JWT-based authorization for operations
- Granular permission system
- Cryptographic attestations for data integrity