- **refactor: remove unused auth components** - **refactor: improve devbox configuration and deployment process** - **refactor: improve devnet and testnet setup** - **fix: update templ version to v0.2.778** - **refactor: rename pkl/net.matrix to pkl/matrix.net** - **refactor: migrate webapp components to nebula** - **refactor: protobuf types** - **chore: update dependencies for improved security and stability** - **feat: implement landing page and vault gateway servers** - **refactor: Migrate data models to new module structure and update related files** - **feature/1121-implement-ucan-validation** - **refactor: Replace hardcoded constants with model types in attns.go** - **feature/1121-implement-ucan-validation** - **chore: add origin Host struct and update main function to handle multiple hosts** - **build: remove unused static files from dwn module** - **build: remove unused static files from dwn module** - **refactor: Move DWN models to common package** - **refactor: move models to pkg/common** - **refactor: move vault web app assets to embed module** - **refactor: update session middleware import path** - **chore: configure port labels and auto-forwarding behavior** - **feat: enhance devcontainer configuration** - **feat: Add UCAN middleware for Echo with flexible token validation** - **feat: add JWT middleware for UCAN authentication** - **refactor: update package URI and versioning in PklProject files** - **fix: correct sonr.pkl import path** - **refactor: move JWT related code to auth package** - **feat: introduce vault configuration retrieval and management** - **refactor: Move vault components to gateway module and update file paths** - **refactor: remove Dexie and SQLite database implementations** - **feat: enhance frontend with PWA features and WASM integration** - **feat: add Devbox features and streamline Dockerfile** - **chore: update dependencies to include TigerBeetle** - **chore(deps): update go version to 1.23** - **feat: enhance devnet setup with PATH environment variable and updated PWA manifest** - **fix: upgrade tigerbeetle-go dependency and remove indirect dependency** - **feat: add PostgreSQL support to devnet and testnet deployments** - **refactor: rename keyshare cookie to token cookie** - **feat: upgrade Go version to 1.23.3 and update dependencies** - **refactor: update devnet and testnet configurations** - **feat: add IPFS configuration for devnet** - **I'll help you update the ipfs.config.pkl to include all the peers from the shell script. Here's the updated configuration:** - **refactor: move mpc package to crypto directory** - **feat: add BIP32 support for various cryptocurrencies** - **feat: enhance ATN.pkl with additional capabilities** - **refactor: simplify smart account and vault attenuation creation** - **feat: add new capabilities to the Attenuation type** - **refactor: Rename MPC files for clarity and consistency** - **feat: add DIDKey support for cryptographic operations** - **feat: add devnet and testnet deployment configurations** - **fix: correct key derivation in bip32 package** - **refactor: rename crypto/bip32 package to crypto/accaddr** - **fix: remove duplicate indirect dependency** - **refactor: move vault package to root directory** - **refactor: update routes for gateway and vault** - **refactor: remove obsolete web configuration file** - **refactor: remove unused TigerBeetle imports and update host configuration** - **refactor: adjust styles directory path** - **feat: add broadcastTx and simulateTx functions to gateway** - **feat: add PinVault handler**
x/dwn
The DWN module is responsible for the management of IPFS deployed Decentralized Web Nodes (DWNs) and their associated data.
Concepts
The DWN module introduces several key concepts:
- Decentralized Web Node (DWN): A distributed network for storing and sharing data.
- Schema: A structure defining the format of various data types in the dwn.
- IPFS Integration: The module can interact with IPFS for decentralized data storage.
State
The DWN module maintains the following state:
DWN State
The DWN state is stored using the following structure:
message DWN {
uint64 id = 1;
string alias = 2;
string cid = 3;
string resolver = 4;
}
This state is indexed by ID, alias, and CID for efficient querying.
Params State
The module parameters are stored in the following structure:
message Params {
bool ipfs_active = 1;
bool local_registration_enabled = 2;
Schema schema = 4;
}
Schema State
The Schema state defines the structure for various data types:
message Schema {
int32 version = 1;
string account = 2;
string asset = 3;
string chain = 4;
string credential = 5;
string did = 6;
string jwk = 7;
string grant = 8;
string keyshare = 9;
string profile = 10;
}
State Transitions
State transitions in the DWN module are primarily triggered by:
- Updating module parameters
- Allocating new dwns
- Syncing DID documents
Messages
The DWN module defines the following message:
MsgUpdateParams
: Used to update the module parameters.
message MsgUpdateParams {
string authority = 1;
Params params = 2;
}
Begin Block
No specific begin-block operations are defined for this module.
End Block
No specific end-block operations are defined for this module.
Hooks
The DWN module does not define any hooks.
Events
The DWN module does not explicitly define any events. However, standard Cosmos SDK events may be emitted during state transitions.
Client
The DWN module provides the following gRPC query endpoints:
Params
: Queries all parameters of the module.Schema
: Queries the DID document schema.Allocate
: Initializes a Target DWN available for claims.Sync
: Queries the DID document by its ID and returns required information.
Params
The module parameters include:
ipfs_active
(bool): Indicates if IPFS integration is active.local_registration_enabled
(bool): Indicates if local registration is enabled.schema
(Schema): Defines the structure for various data types in the dwn.
Future Improvements
Potential future improvements could include:
- Enhanced IPFS integration features.
- Additional authentication mechanisms beyond WebAuthn.
- Improved DID document management and querying capabilities.
Tests
Acceptance tests should cover:
- Parameter updates
- DWN state management
- Schema queries
- DWN allocation process
- DID document syncing
Appendix
Concept | Description |
---|---|
Decentralized Web Node (DWN) | A decentralized, distributed, and secure network of nodes that store and share data. It is a decentralized alternative to traditional web hosting services. |
Decentralized Identifier (DID) | A unique identifier that is created, owned, and controlled by the user. It is used to establish a secure and verifiable digital identity. |
HTMX (Hypertext Markup Language eXtensions) | A set of extensions to HTML that allow for the creation of interactive web pages. It is used to enhance the user experience and provide additional functionality to web applications. |
IPFS (InterPlanetary File System) | A decentralized, peer-to-peer network for storing and sharing data. It is a distributed file system that allows for the creation and sharing of content across a network of nodes. |
WebAuthn (Web Authentication) | A set of APIs that allow websites to request user authentication using biometric or non-biometric factors. |
WebAssembly (Web Assembly) | A binary instruction format for a stack-based virtual machine. |
Verifiable Credential (VC) | A digital statement that can be cryptographically verified. |