• Русский
  • Оплата и циклы

    Ваше хранилище работает в отдельной канистре Internet Computer. Канистре нужны циклы, чтобы хранить данные, выполнять операции и оставаться доступной.

    Циклы можно воспринимать как предоплаченное топливо для канистры хранилища. Rabbithole может помогать с пополнением через подписку Pro, но хранилище принадлежит вам, поэтому вы можете пополнять канистру напрямую через инструменты Internet Computer.

    За что вы платите

    Оплата в Rabbithole не сводится к одной подписке. Есть разовый запуск Starter Vault, есть подписка Pro для всех ваших хранилищ, а есть циклы, которые поддерживают работу каждой канистры хранилища.

    ЧтоКогда оплачиваетсяЧто даёт
    Starter VaultОдин разСтартовое хранилище на Internet Computer: отдельную канистру хранилища, стартовый баланс циклов, установку приложения хранилища и базовые лимиты зашифрованного хранения.
    Подписка ProЗа период подпискиПодписку для всех ваших хранилищ. Она добавляет совместный доступ, обновления хранилища, зашифрованные загрузки сверх базовых лимитов, пока подписка активна, автопополнение циклов и 2 TC на обслуживание канистр хранилищ.
    ЦиклыПо мере расходаРаботу канистры хранилища: загрузки, скачивания, операции с файлами, хранение, выдачу vetKeys и доступность.

    Starter Vault и Pro

    Starter Vault — это стартовое хранилище с базовыми лимитами зашифрованного хранения. Оно создаётся один раз и остаётся действовать, даже если подписка Pro истекла или была отменена. Вы всё равно можете пользоваться персональным зашифрованным хранением в пределах базовых лимитов: включённого объёма и максимального размера одного файла.

    Вдобавок к этому базовому слою подписка Pro включает сервисные функции, которые работают через Rabbithole. Пока подписка активна, она добавляет:

    • зашифрованные загрузки сверх базовых лимитов, если операция может быть покрыта кредитом на обслуживание или вашим балансом;
    • автопополнение циклов, когда Rabbithole пополняет канистру хранилища при необходимости;
    • обновления кода и фронтенд-ассетов после вашего подтверждения;
    • совместный доступ и управление доступом.

    Полный список возможностей подписки описан на странице Что даёт подписка Pro.

    Как работает автопополнение циклов

    Автопополнение привязано к операциям, а не к календарной дате. Если у вас активна подписка Pro, Rabbithole может автоматически пополнить канистру хранилища перед дорогой операцией, например перед большой загрузкой в On-chain Storage.

    Технически канистра хранилища проверяет баланс циклов и запрашивает пополнение у служебной канистры Rabbithole.

    Для автопополнения Rabbithole использует два источника в таком порядке:

    1. Кредит на обслуживание: до 2 TC для вас в пределах периода Pro. Этот кредит общий для всех ваших хранилищ: Rabbithole расходует его на те канистры, которым нужны циклы. Подробнее это описано на странице Что даёт подписка Pro.
    2. Платное автопополнение: пополнение из вашего платёжного баланса, если кредит на обслуживание уже исчерпан и вы включили автопополнение.

    Без активной подписки Pro всё проще: загрузка продолжится, если у канистры хранилища уже хватает циклов. Если не хватает, вы пополняете канистру вручную.

    Поддерживаемые токены

    Список токенов может меняться, если платёжные провайдеры добавят или уберут поддержку отдельных сетей. Rabbithole показывает доступные варианты перед подтверждением платежа.

    СетьТокены
    Internet ComputerICP, ckETH, ckUSDC, ckUSDT
    BaseETH, USDC, USDT
    SolanaSOL, USDC, USDT

    Баланс используется для продления периода Pro и, если вы включили автопополнение, для платного пополнения после исчерпания кредита на обслуживание.

    На что тратятся циклы

    Циклы оплачивают ресурсы Internet Computer и связанные операции хранения.

    РесурсЗа что списываются циклы
    ВычисленияЗагрузки, скачивания, операции с файлами и проверка прав доступа
    Stable MemoryМетаданные, права доступа, хеши и записи проверки
    On-chain StorageБайты файлов, если вы храните их внутри канистры
    Blob StorageХранение и передача байтов через Blob Storage, если выбран этот режим
    vetKeysДеривация ключей для открытия зашифрованных файлов

    Карточка Canister Cycles

    Карточка Canister Cycles в боковой панели хранилища показывает запас циклов: хватит ли его на загрузки, обычные операции и резерв заморозки Internet Computer. Она видна только владельцу и пользователям с доступом восстановления, потому что это операционная и платёжная информация канистры.

    Карточка делит баланс циклов на практические зоны:

    • Freeze — резерв, который нужен канистре, чтобы не заморозиться.
    • Safe floor — резерв заморозки плюс оценка активных загрузок, деривации ключей, завершения записи и дополнительного запаса.
    • Target — безопасный минимум циклов (safe floor) плюс буфер, который Rabbithole использует для автопополнения циклов.
    • Headroom — остаток выше target, доступный для обычной работы.

    Нажимайте Top up, если баланс подходит к безопасному минимуму циклов (safe floor) или вы готовите большую загрузку в On-chain Storage. При активной подписке Pro Rabbithole может пополнить канистру сам. Без подписки Pro остаётся ручное пополнение.

    Как считается карточка

    Канистра хранилища обновляет метрики времени выполнения через Internet Computer Management Canister и возвращает в приложение нормализованные метрики карточки. Frontend не вызывает canister_status напрямую для этой карточки.

    Safe floor — это безопасный минимум циклов. Это оценка, а не фиксированное значение сети:

    safeFloor =
      freezingReserve
      + remainingUploadWriteCost
      + remainingUploadHashInstructionCycles
      + activeVetKeyDerivationCost
      + activeCommitCost
      + margin

    Параллельные загрузки увеличивают активные резервы до завершения, отмены или истечения срока сессии загрузки. Поэтому безопасный минимум циклов (safe floor) и target могут расти, пока выполняются несколько больших загрузок.

    Самостоятельное управление

    Подписка Pro не нужна, чтобы хранилище продолжало принадлежать вам. Канистра остаётся вашей, поэтому её можно пополнять напрямую.

    Доступные варианты:

    • ручное пополнение через NNS dapp, icp-cli или ICP-кошелёк;
    • автоматическое пополнение через сторонние сервисы, например CycleOps.
    Ваша канистра — ваш выбор

    Подписка Pro снимает часть рутины. Сама канистра остаётся стандартным смарт-контрактом Internet Computer, которым можно управлять через IC-инструменты.

    Что происходит, когда циклы заканчиваются

    Если у канистры заканчиваются циклы, владелец не меняется. Меняется доступность: сеть может ограничить работу канистры.

    On-chain Storage. Канистра переходит в замороженное состояние, когда циклы падают ниже порога заморозки. Данные сохраняются, но канистра может перестать обрабатывать вызовы, пока вы не добавите циклы. Если канистра слишком долго остаётся без финансирования, Internet Computer может удалить её по правилам жизненного цикла канистры.

    Blob Storage. Если Blob Storage не может списать плату за хранение, данные становятся недоступными через gateway-сервис. В текущей конфигурации действует 30-дневный льготный период. После 30 дней с нулевым балансом gateway-сервис удаляет данные безвозвратно.

    Следите за балансом заранее

    Активная подписка Pro снижает операционную нагрузку, потому что Rabbithole может пополнять канистру при необходимости. Если вы не используете Pro, настройте мониторинг или регулярно проверяйте баланс, особенно для On-chain Storage.

    Технические детали

    Этот раздел нужен, если вы хотите понять приблизительные стоимости и внутренний поток пополнения.

    Стоимость циклов и потоки пополнения

    Стоимость циклов

    Текущие приблизительные значения:

    РесурсСтоимость
    Создание канистры~0.5 TC
    Начальный баланс хранилища1.5 TC
    Stable Memory~127 GiB-seconds на цикл
    Вычисления (update call)~590K циклов на инструкцию
    Blob Storage (30 дней)~38.5B циклов за ГБ
    Blob upload~115.4B циклов за ГБ
    Blob download~76.9B циклов за ГБ

    Эти значения являются операционными оценками для текущей конфигурации продукта. Стоимость Internet Computer, Blob Storage и обменные курсы могут меняться.

    TC = триллион циклов. 1 TC = 1 XDR. Оценка в USD является справочной и меняется вместе с курсом XDR/USD.

    Поток пополнения через CMC

    Канистра хранилища не создаёт циклы сама. Она запрашивает пополнение у служебной канистры Rabbithole, а та покупает циклы через Cycles Minting Canister. Если CMC возвращает неоднозначный статус, операция попадает в очередь восстановления для административной проверки. Это операционный механизм, а не обычное действие пользователя.

    Взаимодействие с Cashier (Blob Storage)

    Cashier использует pull-модель: он инициирует списание циклов с вашей канистры, когда платёжный аккаунт Blob Storage нуждается в пополнении. Эти циклы идут на хранение и передачу байтов в Blob Storage. Канистра должна иметь достаточно циклов и для собственных вычислений, и для оплаты хранения.

    Мониторинг

    Проверить баланс циклов канистры можно несколькими способами:

    • В Rabbithole: боковая панель хранилища показывает карточку Canister Cycles.

    • Через icp-cli: для полного статуса канистры используйте identity, связанную с вашим Internet Identity для rabbithole.app. Настройка описана в разделе Как проверить владение.

      icp canister status <your-storage-canister-id> -n ic --identity rabbithole-app
    • Через NNS: если канистра добавлена в NNS и управляется совпадающей identity.