Namespace management

The task registration process means giving the task a simple, easy-to-remember name to make it easier to identify and use.

Each time a task developer deploys a new Truebit task, a new version is registered with a unique name. This allows task requesters to easily identify the task for execution.

Namespace

Since Task names must be unique across the Truebit Ecosystem, and multiple Task Developers might choose the same name, we introduced the concept of namespaces. A namespace is a unique identifier that groups all the tasks registered by a specific group of developers.

Think of it as a company name, like "Truebit," that groups all the tasks developed by that company. The namespace is owned by its creator and can be accessed by the owner and any users who have been granted permission. This makes task development accessible to a group of developers.

Managing a namespace

Sometimes, it’s necessary to transfer ownership from one user to another. To do this, you can use the namespace transfer command in the CLI.

Additionally, you can grant permissions over a namespace to allow new users to collaborate on task development. Simply use the namespace grant command in the CLI to grant permission. If you need to revoke a user's permission, you can do so with the namespace revoke command in the CLI.

These commands make it easy to manage ownership and permissions for namespaces, facilitating smooth collaboration and control over tasks.

Versioning

Task development is an ongoing process, so we provide the ability to identify different versions of a task. Each time a new task ID is associated with a task name, an automatic version number is generated. This helps track the evolution and updates of tasks over time. The Task Requester can execute any version of the task.

Labeling

Sometimes, we want to assign a friendly name to a specific task version, such as "latest," "stable," or "marshmallow." This friendly label helps the Task Requester execute a specific version of the task identified by the specific label.

Enabling and Disabling Tasks

Imagine a scenario where a task developer has deployed and registered multiple versions of the same task, with the code evolving to include new features and functionality. One day, a new bug is discovered, and the developer needs to fix it while also preventing anyone from executing a specific task version due to the critical bug.

To address this, we provide the task disable command in the CLI, which allows developers to disable a specific version or all versions of a task.

Last updated

Was this helpful?