# Terminology

**Name**: A getHemiNames identifier, such as semi.hemi. Names consist of multiple parts, called labels, which are separated by dots.

**Label**: It refers to an individual component of a name, such as 'semi'.

**Labelhash**: The keccak256 hash of an individual label.

**Controller**: The account that may edit the records of a name. It may be changed by the Registrant or Controller.

**Owner:** The owners of names in the getHemiNames registry can manage their names by transferring ownership, setting resolvers or TTLs, and creating or reassigning subdomains.

**Registrar**: A registrar is a contract responsible for allocating subdomains. Registrars can be configured at any level of getHemiNames, and are pointed to by the owner field of the registry.

**Registration**: A registration is a registrar's record of a user's ownership of a name, with expiry date and fees paid. It is separate from the registry's owner field.

**Registrant:** The owner of a registration. The registrant may transfer the registration, set the Controller, and reclaim ownership of the name in the registry if required.

**Registry**: The Registry is the core contract of getHemiNames. It maintains a mapping from domain name(at any level - x, y.x, z.y.x etc) to owner, resolver, and other metadata.

**Resolver**: A resolver is a contract that maps name to the resource (e.g. cryptocurrency addresses, content hash, etc). Resolvers are pointed to by the resolver field of the registry.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://getheminames.gitbook.io/getheminames/readme/terminology.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
