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

18 KiB
Raw Blame History

outline
2
3

Использование Codex

Мы можем взаимодействовать с Codex, используя REST API. В этом документе показаны несколько полезных примеров.

Также мы можем использовать Пользовательский интерфейс приложения Codex.

Интерпретатор командной строки работает немного по-разному на Linux/macOS и Windows, поэтому используйте инструкции для вашей ОС.

Linux/macOS

Обзор

  1. Отладка
  2. Загрузка файла
  3. Скачивание файла
  4. Локальные данные
  5. Создание доступности хранилища
  6. Покупка хранилища
  7. Просмотр статуса покупки

Отладка

Простой способ проверить, что ваш узел запущен и работает:

curl http://localhost:8080/api/codex/v1/debug/info \
  -w '\n'

Это вернет JSON-структуру с множеством информации о вашем локальном узле. Она содержит информацию о пирах, которая может быть полезна при устранении проблем с подключением.

Загрузка файла

Warning

После загрузки файла в Codex другие узлы в сети могут его скачать. Пожалуйста, не загружайте ничего, что вы не хотите, чтобы другие видели, или правильно зашифруйте ваши данные перед загрузкой.

curl -X POST \
  http://localhost:8080/api/codex/v1/data \
  -H 'Content-Type: application/octet-stream' \
  -w '\n' \
  -T <FILE>

При успешной загрузке вы получите CID. Его можно использовать для скачивания файла с любого узла в сети.

Tip

Вы на сервере Discord Codex? Опубликуйте ваш CID в канале # 🛜 | share-cids, посмотрите, смогут ли другие его скачать. Codex пока не предоставляет метаданные файлов, поэтому если вы хотите, чтобы другие могли открыть ваш файл, скажите им, какое расширение ему дать.

Скачивание файла

Когда у вас есть CID данных, которые вы хотите скачать, вы можете использовать следующие команды:

# вставьте ваш CID из предыдущего шага между кавычками
CID="..."
curl "http://localhost:8080/api/codex/v1/data/${CID}/network/stream" \
  -o "${CID}.png"

Пожалуйста, используйте правильное расширение для скачанного файла, потому что Codex пока не хранит информацию о типе содержимого или расширении.

Локальные данные

Вы можете просмотреть, какие наборы данных в настоящее время хранятся вашим узлом:

curl http://localhost:8080/api/codex/v1/data \
  -w '\n'

Создание доступности хранилища

Warning

Этот шаг требует, чтобы Codex был запущен с опцией prover.

Чтобы начать продавать пространство для хранения в сети, вы должны настроить ваш узел с помощью следующей команды. После настройки узел будет отслеживать запросы на хранение в блокчейне и автоматически вступать в контракты, соответствующие этим спецификациям. Для вступления и поддержания контрактов на хранение ваш узел должен предоставлять доказательства хранения с нулевым разглашением. Расчет этих доказательств увеличит использование CPU и RAM Codex.

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"
  }'

Для описания каждого параметра, пожалуйста, просмотрите спецификацию.

Покупка хранилища

Чтобы купить пространство для хранения в сети, сначала вы должны загрузить ваши данные. После получения CID используйте следующее для создания запроса на хранение.

Установите ваш CID:

# вставьте ваш CID из предыдущего шага между кавычками
CID="..."
echo "CID: ${CID}"

Затем вы можете выполнить:

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"
  }'

Для описания каждого параметра, пожалуйста, просмотрите спецификацию.

При успешном выполнении этот запрос вернет Purchase-ID.

Просмотр статуса покупки

Используя Purchase-ID, вы можете проверить статус вашего контракта на хранение:

# вставьте ваш PURCHASE_ID из предыдущего шага между кавычками
PURCHASE_ID="..."

Затем:

curl "http://localhost:8080/api/codex/v1/storage/purchases/${PURCHASE_ID}" \
  -w '\n'

Это отобразит информацию о состоянии и ошибках для вашей покупки.

Состояние Описание
Pending Запрос ожидает подтверждения в блокчейне.
Submitted Запрос находится в блокчейне. Хосты теперь могут попытаться скачать данные.
Started Хосты скачали данные и предоставили доказательство хранения.
Failed Запрос был начат, но (слишком много) хостов не смогли предоставить доказательство хранения вовремя. Хотя данные все еще могут быть доступны в сети, для целей покупки они считаются утерянными.
Finished Запрос был успешно начат, и срок действия истек.
Expired (Недостаточно) хостов предоставили доказательство хранения до истечения срока действия запроса.
Errored Неудачное состояние. Поле 'error' должно рассказать больше.

Windows

Обзор

  1. Отладка
  2. Загрузка файла
  3. Скачивание файла
  4. Локальные данные
  5. Создание доступности хранилища
  6. Покупка хранилища
  7. Просмотр статуса покупки

Отладка

Простой способ проверить, что ваш узел запущен и работает:

curl http://localhost:8080/api/codex/v1/debug/info

Это вернет JSON-структуру с множеством информации о вашем локальном узле. Она содержит информацию о пирах, которая может быть полезна при устранении проблем с подключением.

Загрузка файла

Warning

После загрузки файла в Codex другие узлы в сети могут его скачать. Пожалуйста, не загружайте ничего, что вы не хотите, чтобы другие видели, или правильно зашифруйте ваши данные перед загрузкой.

curl -X POST ^
  http://localhost:8080/api/codex/v1/data ^
  -H "Content-Type: application/octet-stream" ^
  -T <FILE>

При успешной загрузке вы получите CID. Его можно использовать для скачивания файла с любого узла в сети.

Tip

Вы на сервере Discord Codex? Опубликуйте ваш CID в канале # 🛜 | share-cids, посмотрите, смогут ли другие его скачать. Codex пока не предоставляет метаданные файлов, поэтому если вы хотите, чтобы другие могли открыть ваш файл, скажите им, какое расширение ему дать.

Скачивание файла

Когда у вас есть CID данных, которые вы хотите скачать, вы можете использовать следующие команды:

:: вставьте ваш CID из предыдущего шага между кавычками
set CID="..."
curl "http://localhost:8080/api/codex/v1/data/%CID%/network/stream" ^
  -o "%CID%.png"

Пожалуйста, используйте правильное расширение для скачанного файла, потому что Codex пока не хранит информацию о типе содержимого или расширении.

Локальные данные

Вы можете просмотреть, какие наборы данных в настоящее время хранятся вашим узлом:

curl http://localhost:8080/api/codex/v1/data

Создание доступности хранилища

Warning

Этот шаг требует, чтобы Codex был запущен с опцией prover.

Чтобы начать продавать пространство для хранения в сети, вы должны настроить ваш узел с помощью следующей команды. После настройки узел будет отслеживать запросы на хранение в блокчейне и автоматически вступать в контракты, соответствующие этим спецификациям. Для вступления и поддержания контрактов на хранение ваш узел должен предоставлять доказательства хранения с нулевым разглашением. Расчет этих доказательств увеличит использование CPU и RAM Codex.

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""}"

Для описания каждого параметра, пожалуйста, просмотрите спецификацию.

Покупка хранилища

Чтобы купить пространство для хранения в сети, сначала вы должны загрузить ваши данные. После получения CID используйте следующее для создания запроса на хранение.

Установите ваш CID:

:: вставьте ваш CID из предыдущего шага между кавычками
set CID="..."
echo CID: %CID%

Затем вы можете выполнить:

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""}"

Для описания каждого параметра, пожалуйста, просмотрите спецификацию.

При успешном выполнении этот запрос вернет Purchase-ID.

Просмотр статуса покупки

Используя Purchase-ID, вы можете проверить статус вашего контракта на хранение:

:: вставьте ваш PURCHASE_ID из предыдущего шага между кавычками
set PURCHASE_ID="..."

Затем:

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 for more details.