Marina Petrichenko e654a293e0
docs: add russian translations (#73)
Co-authored-by: Slava <20563034+veaceslavdoina@users.noreply.github.com>
2025-07-31 14:35:28 +03:00

276 lines
18 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
outline: [2, 3]
---
# Использование Codex
Мы можем взаимодействовать с Codex, используя [REST API](/developers/api). В этом документе показаны несколько полезных примеров.
Также мы можем использовать [Пользовательский интерфейс приложения Codex](https://app.codex.storage).
Интерпретатор командной строки работает немного по-разному на [Linux/macOS](#linux-macos) и [Windows](#windows), поэтому используйте инструкции для вашей ОС.
## Linux/macOS
### Обзор
1. [Отладка](#debug)
2. [Загрузка файла](#upload-a-file)
3. [Скачивание файла](#download-a-file)
4. [Локальные данные](#local-data)
5. [Создание доступности хранилища](#create-storage-availability)
6. [Покупка хранилища](#purchase-storage)
7. [Просмотр статуса покупки](#view-purchase-status)
### Отладка
Простой способ проверить, что ваш узел запущен и работает:
```shell
curl http://localhost:8080/api/codex/v1/debug/info \
-w '\n'
```
Это вернет JSON-структуру с множеством информации о вашем локальном узле. Она содержит информацию о пирах, которая может быть полезна при устранении проблем с подключением.
### Загрузка файла
> [!Warning]
> После загрузки файла в Codex другие узлы в сети могут его скачать. Пожалуйста, не загружайте ничего, что вы не хотите, чтобы другие видели, или правильно зашифруйте ваши данные *перед загрузкой*.
```shell
curl -X POST \
http://localhost:8080/api/codex/v1/data \
-H 'Content-Type: application/octet-stream' \
-w '\n' \
-T <FILE>
```
При успешной загрузке вы получите CID. Его можно использовать для скачивания файла с любого узла в сети.
> [!TIP]
> Вы на [сервере Discord Codex](https://discord.gg/codex-storage)? Опубликуйте ваш CID в канале [# :wireless: | share-cids](https://discord.com/channels/895609329053474826/1278383098102284369), посмотрите, смогут ли другие его скачать. Codex пока не предоставляет метаданные файлов, поэтому если вы хотите, чтобы другие могли открыть ваш файл, скажите им, какое расширение ему дать.
### Скачивание файла
Когда у вас есть CID данных, которые вы хотите скачать, вы можете использовать следующие команды:
```shell
# вставьте ваш CID из предыдущего шага между кавычками
CID="..."
```
```shell
curl "http://localhost:8080/api/codex/v1/data/${CID}/network/stream" \
-o "${CID}.png"
```
Пожалуйста, используйте правильное расширение для скачанного файла, потому что Codex пока не хранит информацию о типе содержимого или расширении.
### Локальные данные
Вы можете просмотреть, какие наборы данных в настоящее время хранятся вашим узлом:
```shell
curl http://localhost:8080/api/codex/v1/data \
-w '\n'
```
### Создание доступности хранилища
> [!WARNING]
> Этот шаг требует, чтобы Codex был запущен с опцией [`prover`](/learn/run#codex-storage-node).
Чтобы начать продавать пространство для хранения в сети, вы должны настроить ваш узел с помощью следующей команды. После настройки узел будет отслеживать запросы на хранение в блокчейне и автоматически вступать в контракты, соответствующие этим спецификациям. Для вступления и поддержания контрактов на хранение ваш узел должен предоставлять доказательства хранения с нулевым разглашением. Расчет этих доказательств увеличит использование CPU и RAM Codex.
```shell
curl -X POST \
http://localhost:8080/api/codex/v1/sales/availability \
-H 'Content-Type: application/json' \
-w '\n' \
-d '{
"totalSize": "8000000",
"duration": "7200",
"minPricePerBytePerSecond": "1000",
"totalCollateral": "80000000"
}'
```
Для описания каждого параметра, пожалуйста, просмотрите [спецификацию](https://api.codex.storage/#tag/Marketplace/operation/offerStorage).
### Покупка хранилища
Чтобы купить пространство для хранения в сети, сначала вы должны загрузить ваши данные. После получения CID используйте следующее для создания запроса на хранение.
Установите ваш CID:
```shell
# вставьте ваш CID из предыдущего шага между кавычками
CID="..."
echo "CID: ${CID}"
```
Затем вы можете выполнить:
```shell
curl -X POST \
"http://localhost:8080/api/codex/v1/storage/request/${CID}" \
-w '\n' \
-d '{
"duration": "3600",
"pricePerBytePerSecond": "2000",
"proofProbability": "5",
"expiry": "1200",
"nodes": 5,
"tolerance": 2,
"collateralPerByte": "1"
}'
```
Для описания каждого параметра, пожалуйста, просмотрите [спецификацию](https://api.codex.storage/#tag/Marketplace/operation/createStorageRequest).
При успешном выполнении этот запрос вернет Purchase-ID.
### Просмотр статуса покупки
Используя Purchase-ID, вы можете проверить статус вашего контракта на хранение:
```shell
# вставьте ваш PURCHASE_ID из предыдущего шага между кавычками
PURCHASE_ID="..."
```
Затем:
```shell
curl "http://localhost:8080/api/codex/v1/storage/purchases/${PURCHASE_ID}" \
-w '\n'
```
Это отобразит информацию о состоянии и ошибках для вашей покупки.
| Состояние | Описание |
|------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Pending | Запрос ожидает подтверждения в блокчейне. |
| Submitted | Запрос находится в блокчейне. Хосты теперь могут попытаться скачать данные. |
| Started | Хосты скачали данные и предоставили доказательство хранения. |
| Failed | Запрос был начат, но (слишком много) хостов не смогли предоставить доказательство хранения вовремя. Хотя данные все еще могут быть доступны в сети, для целей покупки они считаются утерянными. |
| Finished | Запрос был успешно начат, и срок действия истек. |
| Expired | (Недостаточно) хостов предоставили доказательство хранения до истечения срока действия запроса. |
| Errored | Неудачное состояние. Поле 'error' должно рассказать больше. |
## Windows
### Обзор {#overview-windows}
1. [Отладка](#debug-windows)
2. [Загрузка файла](#upload-a-file-windows)
3. [Скачивание файла](#download-a-file-windows)
4. [Локальные данные](#local-data-windows)
5. [Создание доступности хранилища](#create-storage-availability-windows)
6. [Покупка хранилища](#purchase-storage-windows)
7. [Просмотр статуса покупки](#view-purchase-status-windows)
### Отладка {#debug-windows}
Простой способ проверить, что ваш узел запущен и работает:
```batch
curl http://localhost:8080/api/codex/v1/debug/info
```
Это вернет JSON-структуру с множеством информации о вашем локальном узле. Она содержит информацию о пирах, которая может быть полезна при устранении проблем с подключением.
### Загрузка файла {#upload-a-file-windows}
> [!Warning]
> После загрузки файла в Codex другие узлы в сети могут его скачать. Пожалуйста, не загружайте ничего, что вы не хотите, чтобы другие видели, или правильно зашифруйте ваши данные *перед загрузкой*.
```batch
curl -X POST ^
http://localhost:8080/api/codex/v1/data ^
-H "Content-Type: application/octet-stream" ^
-T <FILE>
```
При успешной загрузке вы получите CID. Его можно использовать для скачивания файла с любого узла в сети.
> [!TIP]
> Вы на [сервере Discord Codex](https://discord.gg/codex-storage)? Опубликуйте ваш CID в канале [# :wireless: | share-cids](https://discord.com/channels/895609329053474826/1278383098102284369), посмотрите, смогут ли другие его скачать. Codex пока не предоставляет метаданные файлов, поэтому если вы хотите, чтобы другие могли открыть ваш файл, скажите им, какое расширение ему дать.
### Скачивание файла {#download-a-file-windows}
Когда у вас есть CID данных, которые вы хотите скачать, вы можете использовать следующие команды:
```batch
:: вставьте ваш CID из предыдущего шага между кавычками
set CID="..."
```
```batch
curl "http://localhost:8080/api/codex/v1/data/%CID%/network/stream" ^
-o "%CID%.png"
```
Пожалуйста, используйте правильное расширение для скачанного файла, потому что Codex пока не хранит информацию о типе содержимого или расширении.
### Локальные данные {#local-data-windows}
Вы можете просмотреть, какие наборы данных в настоящее время хранятся вашим узлом:
```batch
curl http://localhost:8080/api/codex/v1/data
```
### Создание доступности хранилища {#create-storage-availability-windows}
> [!WARNING]
> Этот шаг требует, чтобы Codex был запущен с опцией [`prover`](/learn/run#codex-storage-node).
Чтобы начать продавать пространство для хранения в сети, вы должны настроить ваш узел с помощью следующей команды. После настройки узел будет отслеживать запросы на хранение в блокчейне и автоматически вступать в контракты, соответствующие этим спецификациям. Для вступления и поддержания контрактов на хранение ваш узел должен предоставлять доказательства хранения с нулевым разглашением. Расчет этих доказательств увеличит использование CPU и RAM Codex.
```batch
curl -X POST ^
http://localhost:8080/api/codex/v1/sales/availability ^
-H "Content-Type: application/json" ^
-d "{""totalSize"": ""8000000"", ""duration"": ""7200"", ""minPricePerBytePerSecond"": ""1000"", ""totalCollateral"": ""80000000""}"
```
Для описания каждого параметра, пожалуйста, просмотрите [спецификацию](https://api.codex.storage/#tag/Marketplace/operation/offerStorage).
### Покупка хранилища {#purchase-storage-windows}
Чтобы купить пространство для хранения в сети, сначала вы должны загрузить ваши данные. После получения CID используйте следующее для создания запроса на хранение.
Установите ваш CID:
```batch
:: вставьте ваш CID из предыдущего шага между кавычками
set CID="..."
echo CID: %CID%
```
Затем вы можете выполнить:
```batch
curl -X POST ^
"http://localhost:8080/api/codex/v1/storage/request/%CID%" ^
-H "Content-Type: application/json" ^
-d "{""duration"": ""3600"",""pricePerBytePerSecond"": ""2000"", ""proofProbability"": ""5"", ""expiry"": ""1200"", ""nodes"": 5, ""tolerance"": 2, ""**collateralPerByte**"": ""1""}"
```
Для описания каждого параметра, пожалуйста, просмотрите [спецификацию](https://api.codex.storage/#tag/Marketplace/operation/createStorageRequest).
При успешном выполнении этот запрос вернет Purchase-ID.
### Просмотр статуса покупки {#view-purchase-status-windows}
Используя Purchase-ID, вы можете проверить статус вашего контракта на хранение:
```batch
:: вставьте ваш PURCHASE_ID из предыдущего шага между кавычками
set PURCHASE_ID="..."
```
Затем:
```batch
curl "http://localhost:8080/api/codex/v1/storage/purchases/%PURCHASE_ID%"
```
Это отобразит информацию о состоянии и ошибках для вашей покупки.
| Состояние | Описание |
|------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Pending | Запрос ожидает подтверждения в блокчейне. |
| Submitted | Запрос находится в блокчейне. Хосты теперь могут попытаться скачать данные. |
| Started | Хосты скачали данные и предоставили доказательство хранения. |
| Failed | Запрос был начат, но (слишком много) хостов не смогли предоставить доказательство хранения вовремя. Хотя данные все еще могут быть доступны в сети, для целей покупки они считаются утерянными. |
| Finished | Запрос был успешно начат, и срок действия истек. |
| Expired | (Недостаточно) хостов предоставили доказательство хранения до истечения срока действия запроса. |
| Errored | Неудачное состояние. Поле 'error' должно рассказать больше. |
## Known issues
1. We add a new line to the API calls to get more readable output, please check [[rest] Add line ending on responses #771](https://github.com/codex-storage/nim-codex/issues/771) for more details.