mirror of
https://github.com/sonr-io/sonr.git
synced 2026-08-04 10:21:40 +00:00
feat: add fast reflection methods for Capability and Resource
This commit is contained in:
@@ -0,0 +1,91 @@
|
||||
# `x/svc`
|
||||
|
||||
The svc module is responsible for managing the registration and authorization of services within the Sonr ecosystem. It provides a secure and verifiable mechanism for registering and authorizing services using Decentralized Identifiers (DIDs).
|
||||
|
||||
## Concepts
|
||||
|
||||
- **Service**: A decentralized svc on the Sonr Blockchain with properties such as ID, authority, origin, name, description, category, tags, and expiry height.
|
||||
- **Profile**: Represents a DID alias with properties like ID, subject, origin, and controller.
|
||||
- **Metadata**: Contains information about a svc, including name, description, category, icon, and tags.
|
||||
|
||||
### Dependencies
|
||||
|
||||
- [x/did](https://github.com/onsonr/sonr/tree/master/x/did)
|
||||
- [x/group](https://github.com/onsonr/sonr/tree/master/x/group)
|
||||
- [x/nft](https://github.com/onsonr/sonr/tree/master/x/nft)
|
||||
|
||||
## State
|
||||
|
||||
The module uses the following state structures:
|
||||
|
||||
### Metadata
|
||||
|
||||
Stores information about services:
|
||||
|
||||
- Primary key: `id` (auto-increment)
|
||||
- Unique index: `origin`
|
||||
- Fields: id, origin, name, description, category, icon (URI), tags
|
||||
|
||||
### Profile
|
||||
|
||||
Stores DID alias information:
|
||||
|
||||
- Primary key: `id`
|
||||
- Unique index: `subject,origin`
|
||||
- Fields: id, subject, origin, controller
|
||||
|
||||
## Messages
|
||||
|
||||
### MsgUpdateParams
|
||||
|
||||
Updates the module parameters. Can only be executed by the governance account.
|
||||
|
||||
### MsgRegisterService
|
||||
|
||||
Registers a new svc on the blockchain. Requires a valid TXT record in DNS for the origin.
|
||||
|
||||
## Params
|
||||
|
||||
The module has the following parameters:
|
||||
|
||||
- `categories`: List of allowed svc categories
|
||||
- `types`: List of allowed svc types
|
||||
|
||||
## Query
|
||||
|
||||
The module provides the following query:
|
||||
|
||||
### Params
|
||||
|
||||
Retrieves all parameters of the module.
|
||||
|
||||
## Client
|
||||
|
||||
### gRPC
|
||||
|
||||
The module provides a gRPC Query svc with the following RPC:
|
||||
|
||||
- `Params`: Get all parameters of the module
|
||||
|
||||
### CLI
|
||||
|
||||
(TODO: Add CLI commands for interacting with the module)
|
||||
|
||||
## Events
|
||||
|
||||
(TODO: List and describe event tags used by the module)
|
||||
|
||||
## Future Improvements
|
||||
|
||||
- Implement svc discovery mechanisms
|
||||
- Add support for svc reputation and rating systems
|
||||
- Enhance svc metadata with more detailed information
|
||||
- Implement svc update and deactivation functionality
|
||||
|
||||
## Tests
|
||||
|
||||
(TODO: Add acceptance tests for the module)
|
||||
|
||||
## Appendix
|
||||
|
||||
This module is part of the Sonr blockchain project and interacts with other modules such as DID and NFT modules to provide a comprehensive decentralized svc ecosystem.
|
||||
Reference in New Issue
Block a user