mirror of
https://github.com/sonr-io/sonr.git
synced 2026-08-03 09:51:39 +00:00
2.8 KiB
2.8 KiB
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