Обзор
Изначально DAS API поддерживал только запросы о владении NFT и cNFT Metaplex. Helius расширил DAS API, добавив поддержку всех токенов, включая обычные токены SPL (без метаданных) и Token-2022 (вместе с их расширениями). Вы можете запрашивать балансы токенов любого аккаунта по всем токенам (SPL, Token-2022, NFT и сжатым NFT), включая цены токенов в USD. Токен Solana определяется его аккаунтом минта. Например, аккаунт минта USDC — EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v. Когда вы покупаете USDC на сумму $40, создается токен-аккаунт, в котором хранятся 40 токенов USDC. Кошелек может содержать сотни токен-аккаунтов для разных токенов. Подробнее о Token-2022 читайте в статье блога Helius.Когда использовать
Используйте расширение взаимозаменяемых токенов, если вам нужно получить единое представление активов аккаунта — взаимозаменяемых токенов, NFT и сжатых NFT — одним вызовом DAS вместе с метаданными и ценами в USD. Это подходящий вариант для трекеров портфелей, кошельков и панелей мониторинга токенов. Используйте стандартные методы RPC для токенов (getTokenAccountBalance, getTokenAccountsByOwner, getTokenSupply, getTokenLargestAccounts), если вам нужны только необработанные ончейн-значения — баланс отдельного аккаунта, общее предложение или крупнейшие держатели — без метаданных и цен. Подробнее см. в руководстве по получению токенов SPL.
Как это работает
Расширение Helius для взаимозаменяемых токенов основано на индексировании владения. Следующие методы предоставляют единое представление активов аккаунта: getAsset, getAssetsByOwner и searchAssets. Расширение добавляет дополнительное полеtokenType, которое позволяет запрашивать все принадлежащие аккаунту активы, включая взаимозаменяемые токены и токены Token-2022. Доступные значения tokenType:
fungible: Возвращает все взаимозаменяемые токены.nonFungible: Возвращает все NFT (сжатые и обычные).regularNft: Возвращает только обычные NFT.compressedNft: Возвращает только сжатые NFT.all: Возвращает все токены.
Поддержка Token-2022
Helius поддерживает токены Token-2022 и обрабатывает их расширения. Если токен использует программу Token-2022, ответ включает полеmint_extensions. В сокращенном элементе ниже показано поле mint_extensions для BERN:
Обратная совместимость
Для обеспечения обратной совместимости при отсутствииtokenType поведение идентично исходному DAS: возвращаются только NFT и сжатые NFT.
Следующие шаги
Get SPL Tokens
Балансы, предложение, держатели и токен-аккаунты.
Search Assets
Фильтрация по tokenType, владельцу и коллекции.
searchAssets reference
Полные схемы запроса и ответа.