Одна последовательность создаёт обязательство

Механизм Begin → запись → End

  1. 1
    Begin

    Источник `BeginSponsoringFutureReserves` — аккаунт-спонсор. В `sponsoredId` он указывает аккаунт, за чью следующую запись берёт резерв.

  2. 2
    Запись

    Следующая операция создаёт конкретную запись реестра от имени указанного аккаунта. Именно её надо потом найти, а не угадывать по общему счётчику.

  3. 3
    End

    `EndSponsoringFutureReserves` от имени получателя закрывает временную связь. Все три шага входят в одну атомарную транзакцию: при ошибке она не оставит незакрытый Begin.

Не полагайтесь на подпись кнопки в кошельке. Раскройте XDR или перечень операций и проверьте источник каждого шага. Общий принцип прост: подпись относится к точному содержимому транзакции, а не к пересказу интерфейса.

Не смешивайте sponsorship с multisig. Первый определяет, чей XLM поддерживает минимальный резерв. Второй определяет, какие подписи достигают порога аккаунта. Эти механизмы могут встретиться в одной транзакции, но отвечают на разные вопросы.

Счётчики показывают размер, но не состав

Horizon возвращает `num_sponsoring` — сколько единиц резерва оплачивает аккаунт, и `num_sponsored` — сколько единиц оплачивают за него. В расчёте минимального баланса первое число прибавляется, второе вычитается: `(2 base reserves + numSubEntries + numSponsoring - numSponsored) × baseReserve + selling liabilities`. Значение базового резерва меняется вместе с параметрами сети, поэтому берите его на момент операции, а не из старой статьи.

Как найти нужную запись

  1. 1
    Зафиксируйте сеть

    Сохраните код сети, оба адреса аккаунтов и номер последнего известного реестра. Не смешивайте Testnet и Public Network.

  2. 2
    Прочитайте оба аккаунта

    Запишите `num_sponsoring`, `num_sponsored`, балансы, обязательства и число дополнительных записей.

  3. 3
    Установите точный ключ записи

    Для разных видов записей ключ устроен по-разному. Возьмите его из операции или декодированного XDR, не из похожей строки в интерфейсе.

  4. 4
    Свяжите запись с механизмом

    В одной транзакции должны сойтись Begin, создание этой записи, End, источники операций и нужные подписи.

Снять или передать sponsorship

При простом снятии прежний спонсор освобождается, а аккаунт владельца должен сам выдержать новый минимальный баланс. Для передачи другому спонсору `RevokeSponsorship` помещают между новой парой Begin и End: новый аккаунт принимает обязательство, прежний — освобождается. Источники операций и подписи зависят от записи. Не копируйте их из чужого хеша транзакции.

Что проверить до `RevokeSponsorship`
СитуацияПочему нельзя продолжать вслепуюЧто нужно узнать
Точная запись не найденаОбщий счётчик нельзя привязать к объектуКлюч записи и транзакцию её создания
После снятия не хватает XLMОперация может не пройти из-за минимального балансаСвежий базовый резерв, число записей, обязательства и доступный баланс
Есть только подпись спонсораДругие операции могут требовать подпись владельцаИсточники операций и пороги аккаунтов
Счётчики изменились иначеМогла измениться другая запись или пройти параллельная транзакцияРезультаты операций и номер последнего изменения
Запись уже удаленаСвязанный резерв мог освободиться автоматическиКто удалил запись и как после этого выглядят оба аккаунта
Что проверить до `RevokeSponsorship`
Ситуация
Точная запись не найдена
Почему нельзя продолжать вслепую
Общий счётчик нельзя привязать к объекту
Что нужно узнать
Ключ записи и транзакцию её создания
Ситуация
После снятия не хватает XLM
Почему нельзя продолжать вслепую
Операция может не пройти из-за минимального баланса
Что нужно узнать
Свежий базовый резерв, число записей, обязательства и доступный баланс
Ситуация
Есть только подпись спонсора
Почему нельзя продолжать вслепую
Другие операции могут требовать подпись владельца
Что нужно узнать
Источники операций и пороги аккаунтов
Ситуация
Счётчики изменились иначе
Почему нельзя продолжать вслепую
Могла измениться другая запись или пройти параллельная транзакция
Что нужно узнать
Результаты операций и номер последнего изменения
Ситуация
Запись уже удалена
Почему нельзя продолжать вслепую
Связанный резерв мог освободиться автоматически
Что нужно узнать
Кто удалил запись и как после этого выглядят оба аккаунта

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

После операции числа должны сойтись

  • транзакция и все её операции завершились без ошибки;
  • нужная запись существует и указывает ожидаемого спонсора либо больше не имеет его;
  • `num_sponsoring`, `num_sponsored`, балансы и обязательства обоих аккаунтов соответствуют новому минимальному балансу.

Сохраните хеш транзакции, сеть, номер реестра и значения до и после операции. Тогда коллега сможет независимо воспроизвести подтверждение перевода или изменения записи.

Источники

Мы используем прямые ссылки и фиксируем дату проверки. Полный текст чужих материалов не перепечатывается.

  1. Stellar Docs — Sponsored reserves Stellar Development Foundation · Проверено 25 августа 2026 г. в 00:12 GMT+5
  2. Stellar Horizon — Account object Stellar Development Foundation · Проверено 25 августа 2026 г. в 00:12 GMT+5
  3. Stellar Docs — Operations and transactions Stellar Development Foundation · Проверено 25 августа 2026 г. в 00:12 GMT+5
  4. Stellar Docs — Accounts and minimum balance Stellar Development Foundation · Проверено 25 августа 2026 г. в 00:12 GMT+5
  5. Stellar Docs — Horizon introduction and history boundary Stellar Development Foundation · Проверено 25 августа 2026 г. в 00:12 GMT+5
Материал носит информационный характер и не является индивидуальной рекомендацией. Криптоактивы связаны с риском волатильности, технических сбоев, хищения и полной потери средств.