mirror of
https://github.com/sonr-io/sonr.git
synced 2026-08-04 18:31:41 +00:00
@@ -0,0 +1,70 @@
|
||||
## 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
|
||||
Reference in New Issue
Block a user