Skip to content

[SERVICE] Additional functionality for service management #1555

@fredteumer

Description

@fredteumer

Objective

In order to avoid discoverability confusion and chain bloat, the creators of services should be able to decommission (mark them as unused/undiscoverable) or delete them from the chain. In addition, they should be able to update the values on a service for a nominal fee, while the chain itself maintains a non-nominal fee for creating new services so as to avoid chain bloat.

Origin Document

After #1526 , we have many abandoned and unused service IDs.

Goals

  • Add ability to decommission or delete service IDs as the service owner
  • Add a new message type to the service proto that allows the owner to update a service with a separate fee structure (i.e. 1upokt)
  • Establish a non-nominal but not gatekeeping fee for

Deliverables

  • In pocketd under the service add a workflow such as delete-service that allows the service owner to remove a service from discoverability
  • In pocketd under the service add a workflow such as update-service that allows the service owner to update the values of the service with a nominal fee
  • Add a param update_service_fee to the service parameters. Set to 1upokt
  • Reset the add_service_fee to a non-nominal amount (i.e. 15000000000upokt) With approval from the foundation.

Non-goals / Non-deliverables

  • Any non-owner activity
  • Any non-custodial management of service IDs
  • Governance functionality to "reclaim" service IDs

General deliverables

  • Comments: Add/update TODOs and comments alongside the source code so it is easier to follow.
  • Testing: Add new tests (unit and/or E2E) to the test suite.
  • Makefile: Add new targets to the Makefile to make the new functionality easier to use.
  • Documentation: Update architectural or development READMEs; use mermaid diagrams where appropriate.

Creator: @fredteumer

Metadata

Metadata

Labels

code healthCleans up some codeenhancementNew feature or requeston-chainOn-chain business logicpotential communityCan be a community task in the future but not ready to be picked up yetserviceAnything related to general-purpose RPC service support

Projects

Status

🔖 Ready

Relationships

None yet

Development

No branches or pull requests

Issue actions