# Теги

### Теги метаданных

Irys поддерживает прикрепление тегов метаданных к каждой транзакции.

Теги могут использоваться для:

* Категоризации транзакций, что упрощает поиск и извлечение соответствующей информации.
* Создания изменяемых данных.
* Информирования веб-браузеров о том, как отображать файлы (например, Content-Type = image/png).

### Запросы

Теги индексируются шлюзами и доступны для запросов с помощью GraphQL.

### Content-type

Irys автоматически определяет и устанавливает соответствующий тег Content-Type на основе расширения файла при загрузке файлов и папок.&#x20;

Вы также можете вручную установить тег Content-Type, что приведет к применению указанного вами значения.

```
// Your file
const fileToUpload = "./myImage.png";

// Add a custom Content-Type tag
const tags = [{ name: "Content-Type", value: "image/png" }];

try {
	const response = await irys.uploadFile(fileToUpload, { tags: tags });
	console.log(`File uploaded ==> https://gateway.irys.xyz/${response.id}`);
} catch (e) {
	console.log("Error uploading file ", e);
}
```

Вы также можете добавлять теги с помощью опции -t CLI, за которой следует ряд пар name / value.

```
irys upload myImage.png \
  -n devnet \
  -t ethereum \
  -w bf20......c9885307 \
  --tags tagName1 tagValue1 tagName2 tagValue2 \
  --provider-url https://rpc.sepolia.dev
```

### Дополнительные возможности использования тегов

Вы можете добавить до 20 тегов к каждой транзакции, что позволяет создавать полуреляционные модели в ваших данных.

Популярная практика заключается в создании тега application-id, который помогает отделить ваши загрузки от других.

```
// Your file
const fileToUpload = "./myNFT.png";

const tags = [{ name: "application-id", value: "NFTs To The Moon" }];

try {
	const response = await irys.uploadFile(fileToUpload, { tags: tags });
	console.log(`File uploaded ==> https://gateway.irys.xyz/${response.id}`);
} catch (e) {
	console.log("Error uploading file ", e);
}
```

Оригинал статьи: <https://docs.irys.xyz/build/d/features/tags>
