Один адрес, несколько записей в истории

Представьте архивную карточку аккаунта A. Публичный адрес остаётся тем же, а баланс и история продолжаются в одной записи; их значения могут меняться от раунда к раунду. После подтверждённого rekey меняется строка `auth-addr`. Каждый снимок связывайте с его фактическим подтверждённым раундом. Перед операцией стоит отдельно проверить, что именно подписывает кошелёк.

Не смешивайте два поля. `auth-addr` находится в состоянии аккаунта и показывает текущий адрес авторизации. У подписанной транзакции есть отдельное поле `AuthAddr`, закодированное как `sgnr`. Отправителем транзакции остаётся A. Если A назначил B, подписанная транзакция A заполняет `sgnr` адресом B. Когда A снова авторизует себя сам, `sgnr` надо опустить. Начиная с версии консенсуса v42 сеть отклоняет транзакцию, где `sgnr` присутствует и равен отправителю.

Короткая хронология аккаунта A
МоментЧто записано у AКто подписывает следующую транзакцию
До rekey`auth-addr` отсутствуетИсходный адрес A
После транзакции с `RekeyTo: B``auth-addr` равен BКлюч, multisig или LogicSig адреса B
После следующего назначения C для A`auth-addr` равен CАдрес C; прежняя подпись B уже не подходит
После возврата A к исходному адресу`auth-addr` снова отсутствуетИсходный адрес A
Короткая хронология аккаунта A
Момент
До rekey
Что записано у A
`auth-addr` отсутствует
Кто подписывает следующую транзакцию
Исходный адрес A
Момент
После транзакции с `RekeyTo: B`
Что записано у A
`auth-addr` равен B
Кто подписывает следующую транзакцию
Ключ, multisig или LogicSig адреса B
Момент
После следующего назначения C для A
Что записано у A
`auth-addr` равен C
Кто подписывает следующую транзакцию
Адрес C; прежняя подпись B уже не подходит
Момент
После возврата A к исходному адресу
Что записано у A
`auth-addr` снова отсутствует
Кто подписывает следующую транзакцию
Исходный адрес A

Короткая проверка перед подписью

От адреса к нужному ключу

  1. 1
    Запишите сеть и полный адрес

    MainNet, TestNet и LocalNet не взаимозаменяемы. Не берите сокращённый адрес из уведомления.

  2. 2
    Получите сведения об аккаунте

    Запросите аккаунт у algod на свежем подтверждённом раунде. Indexer удобен для поиска истории, но состояние перед подписью перепроверьте через узел.

  3. 3
    Прочитайте `auth-addr`

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

  4. 4
    Найдите запись об изменении

    Отыщите последнюю подтверждённую транзакцию с `RekeyTo`, которая дала текущее значение. Сохраните её txID и раунд.

  5. 5
    Проверьте и подпишите

    Сверьте отправителя A, получателя, сумму, комиссию, допустимые раунды, группу, `RekeyTo` и `CloseRemainderTo`. Кошелёк должен подписать транзакцию A текущим ключом авторизации, а не заменить её отправителя адресом B.

Если два RPC-адреса дают разные ответы, сравните раунды и дождитесь одного подтверждённого состояния. Такой разбор узлов и RPC помогает отличить задержку одного источника данных от настоящего изменения аккаунта.

Rekey не идёт по цепочке A → B → C

Допустим, A назначил B. Позже аккаунт B назначил C для собственных операций. Для A ничего не изменилось: валидатор по-прежнему ждёт подпись адреса B. Чтобы A начал принимать C, текущий ключ B должен отдельно подтвердить транзакцию A с `RekeyTo: C`. Смотрите запись самого A, а не запись аккаунта B.

Закрытие может вернуть полномочие исходному адресу

Для аккаунта после rekey поле `CloseRemainderTo` означает не только перевод остатка. Закрытие удаляет `auth-addr`, и право подписи возвращается исходному адресу. Если исходный ключ утрачен, команда может остаться без рабочего способа продолжить операции. Проверяйте это поле так же внимательно, как `RekeyTo`.

Ошибка, причина и следующее действие
НаблюдениеВероятная причинаЧто делать
Подпись старого ключа отклонена`auth-addr` указывает на другой адресНе повторять подпись; заново прочитать аккаунт и выбрать текущий ключ
Кошелёк не принимает `authAddr`Он не поддерживает подпись после rekey по ARC-1Использовать совместимый кошелёк; не импортировать seed-фразу на сайт
В истории есть rekey, но поле пустоПоздний rekey назад, `CloseRemainderTo` или закрытие аккаунтаНайти последнее изменение и сверить его раунд
A → B, B → CОжидалась рекурсивная авторизацияДля A по-прежнему использовать B; при необходимости отдельно назначить C для A
Нет доступа к текущему `auth-addr`Адрес указан ошибочно или ключ утраченОстановить новые операции: вернуть управление можно только через доступную текущую авторизацию
Ошибка, причина и следующее действие
Наблюдение
Подпись старого ключа отклонена
Вероятная причина
`auth-addr` указывает на другой адрес
Что делать
Не повторять подпись; заново прочитать аккаунт и выбрать текущий ключ
Наблюдение
Кошелёк не принимает `authAddr`
Вероятная причина
Он не поддерживает подпись после rekey по ARC-1
Что делать
Использовать совместимый кошелёк; не импортировать seed-фразу на сайт
Наблюдение
В истории есть rekey, но поле пусто
Вероятная причина
Поздний rekey назад, `CloseRemainderTo` или закрытие аккаунта
Что делать
Найти последнее изменение и сверить его раунд
Наблюдение
A → B, B → C
Вероятная причина
Ожидалась рекурсивная авторизация
Что делать
Для A по-прежнему использовать B; при необходимости отдельно назначить C для A
Наблюдение
Нет доступа к текущему `auth-addr`
Вероятная причина
Адрес указан ошибочно или ключ утрачен
Что делать
Остановить новые операции: вернуть управление можно только через доступную текущую авторизацию

Если аккаунт управляется несколькими людьми, заранее запишите порог подписей и запасной порядок действий. Само слово multisig не заменяет проверку текущего `auth-addr` и состава подписей.

После подтверждения сделайте последнюю запись в хронологии: сеть, адрес A, новый раунд, значение `auth-addr`, txID и нужное изменение баланса или приложения. Если результат надо передать другому человеку, оформите его как проверяемое доказательство перевода.

Источники

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

  1. Algorand Developer Portal — Rekeying accounts Algorand Foundation · Проверено 25 августа 2026 г. в 00:12 GMT+5
  2. Algorand REST API — Account information Algorand Foundation · Проверено 25 августа 2026 г. в 00:12 GMT+5
  3. Algorand transaction reference — RekeyTo and signed AuthAddr Algorand Foundation · Проверено 25 августа 2026 г. в 00:12 GMT+5
  4. ARC-1 — Wallet Transaction Signing API Algorand Foundation · Проверено 25 августа 2026 г. в 00:12 GMT+5
Материал носит информационный характер и не является индивидуальной рекомендацией. Криптоактивы связаны с риском волатильности, технических сбоев, хищения и полной потери средств.