Одна последовательность создаёт обязательство
Механизм Begin → запись → End
- 1Begin
Источник `BeginSponsoringFutureReserves` — аккаунт-спонсор. В `sponsoredId` он указывает аккаунт, за чью следующую запись берёт резерв.
- 2Запись
Следующая операция создаёт конкретную запись реестра от имени указанного аккаунта. Именно её надо потом найти, а не угадывать по общему счётчику.
- 3End
`EndSponsoringFutureReserves` от имени получателя закрывает временную связь. Все три шага входят в одну атомарную транзакцию: при ошибке она не оставит незакрытый Begin.
Не полагайтесь на подпись кнопки в кошельке. Раскройте XDR или перечень операций и проверьте источник каждого шага. Общий принцип прост: подпись относится к точному содержимому транзакции, а не к пересказу интерфейса.
Не смешивайте sponsorship с multisig. Первый определяет, чей XLM поддерживает минимальный резерв. Второй определяет, какие подписи достигают порога аккаунта. Эти механизмы могут встретиться в одной транзакции, но отвечают на разные вопросы.
Счётчики показывают размер, но не состав
Horizon возвращает `num_sponsoring` — сколько единиц резерва оплачивает аккаунт, и `num_sponsored` — сколько единиц оплачивают за него. В расчёте минимального баланса первое число прибавляется, второе вычитается: `(2 base reserves + numSubEntries + numSponsoring - numSponsored) × baseReserve + selling liabilities`. Значение базового резерва меняется вместе с параметрами сети, поэтому берите его на момент операции, а не из старой статьи.
Как найти нужную запись
- 1Зафиксируйте сеть
Сохраните код сети, оба адреса аккаунтов и номер последнего известного реестра. Не смешивайте Testnet и Public Network.
- 2Прочитайте оба аккаунта
Запишите `num_sponsoring`, `num_sponsored`, балансы, обязательства и число дополнительных записей.
- 3Установите точный ключ записи
Для разных видов записей ключ устроен по-разному. Возьмите его из операции или декодированного XDR, не из похожей строки в интерфейсе.
- 4Свяжите запись с механизмом
В одной транзакции должны сойтись Begin, создание этой записи, End, источники операций и нужные подписи.
Снять или передать sponsorship
При простом снятии прежний спонсор освобождается, а аккаунт владельца должен сам выдержать новый минимальный баланс. Для передачи другому спонсору `RevokeSponsorship` помещают между новой парой Begin и End: новый аккаунт принимает обязательство, прежний — освобождается. Источники операций и подписи зависят от записи. Не копируйте их из чужого хеша транзакции.
| Ситуация | Почему нельзя продолжать вслепую | Что нужно узнать |
|---|---|---|
| Точная запись не найдена | Общий счётчик нельзя привязать к объекту | Ключ записи и транзакцию её создания |
| После снятия не хватает XLM | Операция может не пройти из-за минимального баланса | Свежий базовый резерв, число записей, обязательства и доступный баланс |
| Есть только подпись спонсора | Другие операции могут требовать подпись владельца | Источники операций и пороги аккаунтов |
| Счётчики изменились иначе | Могла измениться другая запись или пройти параллельная транзакция | Результаты операций и номер последнего изменения |
| Запись уже удалена | Связанный резерв мог освободиться автоматически | Кто удалил запись и как после этого выглядят оба аккаунта |
- Ситуация
- Точная запись не найдена
- Почему нельзя продолжать вслепую
- Общий счётчик нельзя привязать к объекту
- Что нужно узнать
- Ключ записи и транзакцию её создания
- Ситуация
- После снятия не хватает XLM
- Почему нельзя продолжать вслепую
- Операция может не пройти из-за минимального баланса
- Что нужно узнать
- Свежий базовый резерв, число записей, обязательства и доступный баланс
- Ситуация
- Есть только подпись спонсора
- Почему нельзя продолжать вслепую
- Другие операции могут требовать подпись владельца
- Что нужно узнать
- Источники операций и пороги аккаунтов
- Ситуация
- Счётчики изменились иначе
- Почему нельзя продолжать вслепую
- Могла измениться другая запись или пройти параллельная транзакция
- Что нужно узнать
- Результаты операций и номер последнего изменения
- Ситуация
- Запись уже удалена
- Почему нельзя продолжать вслепую
- Связанный резерв мог освободиться автоматически
- Что нужно узнать
- Кто удалил запись и как после этого выглядят оба аккаунта
Единицы резерва нельзя смешивать с количеством пользовательского актива. XLM здесь поддерживает хранение записи в реестре, а баланс линии доверия измеряется в единицах своего актива. Материал об исходном балансе помогает не переносить одно измерение в другое.
После операции числа должны сойтись
- транзакция и все её операции завершились без ошибки;
- нужная запись существует и указывает ожидаемого спонсора либо больше не имеет его;
- `num_sponsoring`, `num_sponsored`, балансы и обязательства обоих аккаунтов соответствуют новому минимальному балансу.
Сохраните хеш транзакции, сеть, номер реестра и значения до и после операции. Тогда коллега сможет независимо воспроизвести подтверждение перевода или изменения записи.
Источники
Мы используем прямые ссылки и фиксируем дату проверки. Полный текст чужих материалов не перепечатывается.
- Stellar Docs — Sponsored reserves Stellar Development Foundation · Проверено 25 августа 2026 г. в 00:12 GMT+5
- Stellar Horizon — Account object Stellar Development Foundation · Проверено 25 августа 2026 г. в 00:12 GMT+5
- Stellar Docs — Operations and transactions Stellar Development Foundation · Проверено 25 августа 2026 г. в 00:12 GMT+5
- Stellar Docs — Accounts and minimum balance Stellar Development Foundation · Проверено 25 августа 2026 г. в 00:12 GMT+5
- Stellar Docs — Horizon introduction and history boundary Stellar Development Foundation · Проверено 25 августа 2026 г. в 00:12 GMT+5
