Owlio
RU
← Блог
ИнструкцияДля новичка

Кошелёк, токенный счёт или mint в Solana: как отличить адрес

Адрес токенного счёта, его mint и владелец выполняют разные роли. Карта полей поможет понять, какую запись в Solana вы проверяете.

Токенный счёт Solana хранит количество одного токена для адреса с полномочиями владельца. Адрес счёта отличается от mint, который определяет токен. В обычном случае с кошельком такие полномочия принадлежат публичному адресу выбранного аккаунта кошелька. Обозреватель также может показывать программу-владельца: это отдельная роль.

Этот гайд пригодится, если в записи о токенах появился незнакомый адрес или два поля Owner. Результатом будет короткая запись, связывающая токенный счёт, текущего владельца, mint и управляющую программу. Проверка только читает данные и опирается на документацию, изученную 10 ноября 2026 года. Подключать кошелёк или что-либо подписывать не требуется.

Начните с записи, а не с внешнего вида адреса

В документации Solana об аккаунтах описаны аккаунты, адресуемые публичными ключами. Знакомый вид адреса не объясняет, что означают его данные. Прочитайте тип аккаунта и его поля в нужном кластере, например Mainnet Beta или Devnet.

Обзор токенов разделяет роли:

  • Mint M определяет токен и хранит общие данные, включая объём предложения и число десятичных знаков.
  • Токенный счёт T хранит количество токенов этого mint и указывает адрес с полномочиями владельца.
  • Владелец A - адрес, записанный в качестве владельца токенов. Аккаунт кошелька служит распространённым примером, но не каждый такой адрес является обычным личным кошельком.

Если вы сравниваете это с Ethereum, случай EVM разобран в гайде об адресе кошелька и контракте токена. В Solana нужно дополнительно определить отдельную запись токенного счёта.

Читайте два поля Owner отдельно

В токенном счёте владелец внутри данных токена имеет полномочия для операций с токенами. Владелец на уровне самого аккаунта - управляющая им Token Program или Token Extension Program. Документация токенных счетов Solana явно разделяет эти роли.

Карта полей ниже использует один токенный счёт из документированного ответа с разобранными данными. Подписи в обозревателе могут отличаться. Буквы условные: это не реальные адреса и не проверка живого баланса.

Поле в одной записи ответа Что оно означает
pubkey Адрес токенного счёта T
account.owner Управляющая токенная программа P
account.data.parsed.type account для этого разобранного токенного счёта
account.data.parsed.info.mint Mint токена M
account.data.parsed.info.owner Текущий адрес с полномочиями владельца токенов A
account.data.parsed.info.tokenAmount Количество, указанное для T
Условная запись токенного счёта T с отдельными полями для адреса владельца токенов A, mint M и управляющей программы P.
Это связи между аккаунтами, а не маршрут перевода. Храните адрес владельца A и программу P в отдельных полях.

Если принять P за адрес кошелька, смешаются два разных значения слова «владелец». Если принять за адрес кошелька M, вместо него будет выбран идентификатор актива. Ни один из этих вариантов не определяет владельца, чьи токены вы хотели проверить.

ATA - счёт по умолчанию, а не полный список

Ассоциированный токенный счёт, или ATA, - стандартный токенный счёт для сочетания кошелька, токенной программы и mint. Эти исходные данные определяют его адрес. Созданный счёт принадлежит своей токенной программе; Associated Token Program не является его программой-владельцем.

Обзор токенов также отмечает, что у одного владельца может быть несколько токенных счетов для одного mint. Поэтому найти только ATA не значит найти все счета. Читайте текущий записанный адрес владельца, а не выводите его лишь из вычисления адреса или старой транзакции.

Для более широкого списка getTokenAccountsByOwner возвращает счета владельца с фильтром по mint или программе. Фильтр по конкретной программе ограничивает запрос выбранной программой. Так можно понять охват результата, но это не обещание, что один запрос охватывает все позиции в Solana.

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

  1. Зафиксируйте контекст. Запишите кластер и полный публичный адрес владельца, которого хотите проверить. Для конкретного актива отдельно сохраните нужный mint из официального источника эмитента.
  2. Проверьте конкретный аккаунт. Используйте доверенный обозреватель или инструмент чтения данных аккаунта. Проверьте, что представляет собой декодированная запись: токенный счёт или mint. Если тип недоступен, оставьте его неопределённым. Если это mint, запишите его адрес как M, а тип как mint. Следующие два шага относятся к токенным счетам.
  3. Сопоставьте поля. Для токенного счёта сравните текущий адрес владельца токенов и mint с выбранными вами значениями. Управляющую программу запишите отдельно. Сравнивайте полные адреса, а не сокращённые подписи.
  4. Сохраните наблюдение. Запишите кластер, декодированный тип, T, A, M, P, указанное количество и слот ответа или время наблюдения. Отметьте результат: определено, не совпадает или не определено. Несовпадение означает, что запись не соответствует выбранному владельцу или активу, но не объясняет причину.

Отсутствующий аккаунт и сбой инструмента чтения - разные результаты. Справочник getAccountInfo указывает, что result.value равен null, если аккаунт не существует при запрошенном уровне подтверждения. Само по себе это ничего не говорит о других аккаунтах того же владельца. Ошибка или нечитаемый ответ оставляют результат этой проверки неопределённым.

Добавляя адрес в Owlio, используйте публичный адрес того аккаунта кошелька, который вы хотели отслеживать. Проверка формата не определяет роль введённого адреса: адрес кошелька с полномочиями владельца, mint или токенный счёт. Она также не гарантирует полный учёт активов. Сохраните запись полей из этой проверки. Если адреса совпадают, а отображаемый портфель всё ещё отличается, продолжите с гайдом о расхождениях баланса портфеля, чтобы проверить охват и свежесть данных.

Частые вопросы

Показывает ли адрес mint мой личный баланс токенов?

Mint определяет токен и хранит общие данные, например объём предложения. Ваше количество токенов записано на токенных счетах, связанных с адресом, имеющим полномочия владельца. Объём предложения mint не равен количеству токенов у этого адреса.

Доказывает ли известный адрес ATA, что счёт существует?

Нет. Адрес ATA можно вычислить по адресу кошелька, токенной программе и mint ещё до создания счёта. Проверьте его текущие данные в нужном кластере. Отсутствие ATA также не исключает других токенных счетов для того же владельца и mint.

Доказывает ли записанный владелец токенов, кто распоряжается средствами?

Поле указывает адрес с полномочиями в блокчейне, а не личность человека, и не доказывает, что вы контролируете этот адрес. Делегаты и расширения токенов могут влиять на разрешения. Определение счёта не заменяет полную проверку прав на перевод или возможности потратить средства.