Что такое FA2 в Tezos?
FA2 — это единый стандарт токенов для смарт-контрактов в блокчейне Tezos.Он определяет общий интерфейс, с помощью которого кошельки, децентрализованные приложения, обозреватели блокчейна, маркетплейсы, игры и другие криптоинструменты могут взаимодействовать с токенами Tezos.Формальная спецификация FA2 приведена в предложении по улучшению Tezos 12, или TZIP-12.
Стандарт поддерживает взаимозаменяемые токены, невзаимозаменяемые токены, непередаваемые активы и контракты, одновременно управляющие несколькими типами токенов.Благодаря такой гибкости один контракт FA2 может управлять одной криптовалютой, коллекцией NFT, несколькими игровыми активами или сочетанием разных моделей токенов.FA2 не определяет экономическую ценность, юридический статус, предложение или назначение токена.Вместо этого стандарт задает важные технические операции: перевод токенов, проверку баланса и авторизацию операторов.Токен FA2 не хранится непосредственно в аккаунте пользователя Tezos так же, как tez — нативный актив Tezos.Смарт-контракт FA2 ведет реестр, в котором записано, какому аккаунту принадлежит каждый токен или баланс токенов.В официальной документации Tezos по FA2 этот стандарт описан как гибкий инструмент, позволяющий задавать пользовательское поведение токенов и сохранять совместимость с существующими приложениями.
Что означает FA в названии FA2?
FA расшифровывается как Financial Application — финансовое приложение.Название отражает роль стандарта: он задает повторно используемые интерфейсы для финансовых активов и токенизированных приложений в Tezos.FA2 новее и гибче предыдущего интерфейса токенов FA1.2.Цифра 2 указывает на семейство стандартов, а не на версию токена, которую каждый эмитент выбирает самостоятельно.Токен не становится совместимым с FA2 только потому, что проект добавил «FA2» в его название или метаданные.Смарт-контракт должен реализовать интерфейсы и поведение, предусмотренные TZIP-12.Зачем Tezos нужен стандарт токенов?
Блокчейн позволяет разработчикам создавать самые разные смарт-контракты, но существенно отличающиеся интерфейсы токенов затрудняют интеграцию.Если бы в каждом контракте использовались собственные функции перевода и проверки баланса, для каждого токена кошельку требовался бы отдельный код.Маркетплейсу также пришлось бы осваивать отдельный процесс подтверждения для каждой коллекции NFT.FA2 решает эту проблему интеграции благодаря предсказуемым точкам входа и структурам данных.Совместимый кошелек может определить, как запросить баланс или подготовить перевод, не разбираясь во всех деталях внутреннего хранилища контракта.Совместимый маркетплейс может запросить разрешение оператора по стандартизированному процессу.Обозреватель блокчейна или индексатор может распознавать перемещения токенов и группировать балансы по адресу контракта и ID токена.Стандартизация повышает интероперабельность, но не гарантирует безопасность или добросовестность каждого контракта, использующего этот интерфейс.В документации Tezos по токенам предупреждается, что создать токен и задать потенциально вредоносное или ограничительное поведение может кто угодно.
Как работает токен FA2?
Токен FA2 управляется смарт-контрактом, развернутым в Tezos.Контракт хранит реестр, в котором отражены владельцы токенов или их балансы.Для взаимозаменяемого токена в реестре обычно указываются аккаунт, ID токена и его количество.Для NFT в реестре может быть указан владелец уникального ID токена или баланс владельца, равный единице.При переводе контракт FA2 проверяет полномочия отправителя и доступный баланс.Затем смарт-контракт списывает токены со счета отправителя и зачисляет их на счет получателя.Перед выполнением перевода смарт-контракт также может применять пользовательские ограничения.Например, токен может разрешать переводы только владельцем, поддерживать одобренных операторов, приостанавливать переводы или полностью их запрещать.Все допустимые изменения состояния записываются в Tezos, и их можно проверить с помощью совместимых блокчейн-инструментов.Как идентифицировать токен FA2?
Токен FA2 однозначно определяется сочетанием адреса смарт-контракта и ID токена.ID токена — это неотрицательное целое число, присваиваемое контрактом.В разных контрактах FA2 могут существовать токены с одинаковым ID: их различают адреса контрактов.Поэтому указания только «ID токена 0» недостаточно для однозначной идентификации.Пользователям также необходимо проверить адрес контракта.Если контракт FA2 поддерживает только один тип токена, согласно стандарту его ID должен быть равен 0.Если контракт управляет несколькими типами токенов, он может присвоить этим активам разные ID.В обзоре SmartPy по FA2 подтверждается, что адрес контракта и ID токена вместе образуют полный ончейн-идентификатор токена.
Какие типы токенов поддерживает FA2?
Взаимозаменяемые токены
Взаимозаменяемый токен состоит из равнозначных единиц с одинаковыми свойствами и стоимостью в рамках контракта.Как правило, одну единицу можно обменять на другую единицу того же токена, не изменив экономическое положение владельца.Взаимозаменяемые токены FA2 могут представлять платежные активы, токены управления, баллы лояльности, активы со стабильной стоимостью, обернутые активы или другие делимые криптовалюты.Поле decimals в метаданных указывает кошелькам, где отображать десятичную запятую, однако балансы хранятся целыми натуральными числами.Невзаимозаменяемые токены
NFT стандарта FA2 — это отдельный токен с уникальным ID.Он может быть связан с цифровым искусством, игровыми предметами, членством, сертификатами, доступом на мероприятия или записями о реальных объектах.Метаданные могут содержать описание изображения или другого контента, создателя, атрибуты и связанную с NFT информацию.Владение NFT автоматически не передает авторские права, права интеллектуальной собственности или юридическое право собственности на объект вне блокчейна.Эти права зависят от условий эмитента и применимого законодательства.Контракты с несколькими активами
Один контракт FA2 может управлять множеством разных ID токенов.В игре один контракт может использоваться для управления валютами, оружием, земельными участками, персонажами и коллекционными наградами.NFT-проект может управлять целой коллекцией через один контракт.Финансовое приложение может выпускать несколько связанных взаимозаменяемых активов в рамках одного интерфейса.Использование одного контракта может упростить пакетные операции и сократить число отдельных контрактов, которые нужно интегрировать приложениям.Гибридные контракты токенов
Контракт FA2 может объединять разные модели поведения токенов.Например, один ID токена может представлять взаимозаменяемый актив, а другие ID — уникальные NFT.Проект также может сочетать передаваемые и непередаваемые активы, если правила четко определены.Приложения не должны считать, что у всех ID токенов одного контракта FA2 одинаковы предложение, количество десятичных знаков, правила переводов или метаданные.Непередаваемые токены
FA2 может поддерживать активы, которые нельзя свободно передавать после выпуска.Такие токены могут представлять учетные данные, значки, репутацию, лицензии или записи, связанные с одним аккаунтом.Если политика контракта запрещает переводы, попытка перевода может завершиться стандартной ошибкой FA2_TX_DENIED.Перед приобретением токена следует проверить правила переводов: отображаемый в кошельке баланс не доказывает, что актив можно продать или переместить.Какие точки входа FA2 обязательны?
Контракт, совместимый с FA2, должен предоставлять три стандартные точки входа: transfer, balance_of и update_operators.Они образуют общий интерфейс для внешних приложений.Разработчики могут добавлять другие точки входа, но дополнительные функции не заменяют обязательные интерфейсы.В документации SmartPy по точкам входа FA2 описаны параметры и ожидаемое поведение этих операций.
Точка входа transfer
Точка входа transfer перемещает токены с одного счета на один или несколько счетов получателей.В каждом элементе перевода указываются адрес отправителя, адрес получателя, ID токена и количество.Точка входа принимает пакетные операции, а не ограничивается одним переводом за вызов.Пакет может включать несколько переводов между разными аккаунтами и ID токенов.Контракт проверяет существование каждого указанного токена.Он также проверяет, достаточно ли токенов у отправителя и есть ли у вызывающей стороны право перемещать их.Если хотя бы одно обязательное условие не выполнено, транзакция завершается ошибкой.Точка входа balance_of
Точка входа balance_of запрашивает балансы для одной или нескольких комбинаций аккаунта и ID токена.Для получения запрошенной информации о балансе используется контракт обратного вызова.Благодаря этому другой смарт-контракт может запросить балансы и получить результаты во внутренней операции Tezos.Внешние приложения при необходимости также могут использовать индексаторы или стандартизированные представления.Для запроса баланса необходимо указать и адрес владельца, и ID токена.Одного адреса аккаунта недостаточно, если контракт управляет несколькими типами токенов.Точка входа update_operators
Точка входа update_operators позволяет владельцам токенов добавлять или удалять уполномоченных операторов.Для каждой авторизации указываются владелец, оператор и ID токена.Как правило, изменить разрешения операторов для собственных токенов может только их владелец.Контракт может отклонить изменение разрешений оператора, если его политика переводов не поддерживает операторов.Разрешения оператора следует отзывать, когда маркетплейсу, игре или приложению они больше не нужны.Что такое пакетные переводы?
Пакетные переводы позволяют включить несколько перемещений токенов в один вызов точки входа transfer.В рамках одного пакета токены одного типа можно отправить нескольким получателям.Также можно переводить несколько ID токенов, которыми управляет один контракт.Такая структура может сократить число повторных запросов кошелька и вызовов контракта.Она особенно полезна для игр, коллекций NFT, распределения средств казначейства и приложений, управляющих множеством типов активов.Ко всей операции Tezos применяются правила атомарного исполнения.Если необходимый перевод в вызове завершается ошибкой, выполнение связанного контракта не приводит к частично завершенному состоянию.При этом приложениям следует ограничивать размер пакета, так как крупные операции требуют больше вычислений и обработки хранилища.Что такое оператор FA2?
Оператор — это аккаунт или смарт-контракт, уполномоченный переводить определенный тип токена от имени его владельца.Пользователь может назначить маркетплейс оператором, чтобы тот завершил продажу после того, как покупатель примет предложение.Разрешение оператора связано с владельцем, адресом оператора и ID токена.Такая авторизация автоматически не распространяется на все токены в кошельке владельца.Однако в отношении указанного ID токена оператор обычно может перевести любое количество токенов этого типа, которым владеет пользователь, в соответствии со стандартной моделью операторов.Это разрешение не является лимитом на конкретное количество, которое уменьшается после каждого перевода.Авторизация оператора удобна, но создает риск, если одобренное приложение окажется вредоносным или будет взломано.Если политика контракта поддерживает это действие, владелец может удалить оператора через точку входа update_operators.Как работают политики переводов FA2?
FA2 позволяет контрактам определять разные политики доступа, сохраняя общий интерфейс переводов.Стандарт может описывать, поддерживаются ли переводы и разрешены ли операторы.В документации SmartPy по политикам переводов приведены распространенные модели для реализаций FA2.
Политика запрета переводов
Такая политика запрещает владельцам и операторам переводить соответствующие токены.Эта модель может применяться для учетных данных, записей личности, значков и других активов, привязанных к аккаунту.Политика перевода владельцем
Эта политика позволяет владельцам перемещать собственные токены, но не поддерживает операторов.Маркетплейс, которому нужна авторизация оператора, может не работать с такими токенами.Политика перевода владельцем или оператором
Эта политика позволяет владельцу токена или одобренному оператору переводить токен.Это распространенная модель для торгуемых токенов и NFT.Приостанавливаемые переводы
В пользовательской реализации FA2 администратору может быть доступна функция приостановки переводов и действий операторов.Приостановка может помочь отреагировать на инцидент безопасности.В то же время администратор получает значительный контроль над возможностью владельцев перемещать свои активы.Пользователям следует выяснить, предусмотрены ли полномочия приостанавливать переводы, кто ими управляет и можно ли их отозвать.Требует ли FA2 функции выпуска токенов?
Нет, FA2 не требует точки входа для выпуска токенов.Контракт может создавать все токены при развертывании и не предоставлять способ выпускать дополнительные.В другой реализации может быть предусмотрена функция выпуска, доступная администратору.Игра может выпускать новые предметы, когда игроки выполняют определенные действия.NFT-контракт может создавать новый ID токена для каждого нового коллекционного предмета.В руководстве Tezos по выпуску и сжиганию токенов объясняется, как добавить необязательные функции с помощью библиотеки контрактов.
Инвесторам следует проверять фактические полномочия на выпуск, а не считать, что FA2 устанавливает фиксированный максимальный объем предложения.Требует ли FA2 функции сжигания?
Нет, точка входа для сжигания также необязательна.Сжигание навсегда удаляет единицы токена в соответствии с правилами учета контракта.Контракт может разрешать пользователям сжигать собственные токены.Другой контракт может ограничить сжигание полномочиями администратора или не предусматривать такой механизм.Разрешения на сжигание влияют на предложение, погашение, игровую механику и токеномику.Наличие функции сжигания не гарантирует дефляционность актива, поскольку объем выпуска может превышать объем сжигания.Как работают метаданные токенов FA2?
Метаданные токена описывают информацию, связанную с определенным ID токена.К распространенным полям относятся название, символ, количество десятичных знаков, описание и ссылки на медиафайлы.В документации по метаданным токенов FA2 указано, что каждому ID токена соответствует отдельный объект метаданных.
Метаданные можно хранить непосредственно в контракте или размещать по внешнему URI.Метаданные NFT часто хранятся в документе JSON, на который ссылается контракт.Для контентно-адресуемого хранения таких документов и медиафайлов часто используется Межпланетная файловая система.Внешняя ссылка на метаданные не гарантирует, что информация по ней останется доступной навсегда.Чтобы снизить риск исчезновения файлов, их следует закреплять в сети и создавать резервные копии.Какие поля метаданных являются стандартными?
Поле name содержит отображаемое название токена.Поле symbol содержит короткий идентификатор, используемый кошельками и приложениями.Поле decimals сообщает интерфейсам, как отображать баланс взаимозаменяемого токена.Пустой ключ метаданных может указывать на внешний документ JSON с дополнительной информацией.Пользовательские поля могут описывать иллюстрации, атрибуты, создателей, условия лицензирования или данные конкретного приложения.Кошельки могут игнорировать неизвестные пользовательские поля.Метаданные помогают отображать информацию, но не изменяют фактический реестр контракта или логику переводов.У токена может отображаться знакомое название или символ, хотя его выпустил посторонний контракт.Надежными техническими идентификаторами остаются адрес контракта и ID токена.Метаданные токена и метаданные контракта
Метаданные токена описывают отдельный ID токена.Метаданные контракта описывают сам смарт-контракт FA2.В них могут указываться название и версия контракта, авторы, интерфейсы, сведения об исходном коде и доступные представления.Метаданные контракта TZIP-16 задают стандартную структуру для публикации этой информации в блокчейне или по внешнему URI.
У контракта с несколькими активами может быть один документ метаданных контракта и множество отдельных объектов метаданных токенов.Приложениям не следует путать отображаемое название контракта с названием каждого токена, которым этот контракт управляет.Что означает поле decimals?
Поле decimals определяет, как приложения отображают целочисленный баланс токена.Предположим, контракт хранит необработанный баланс 1,000,000, а для токена установлено шесть десятичных знаков.Кошелек отобразит эту сумму как 1.000000 токена.При этом контракт хранит баланс в виде натурального числа, а не числа с плавающей точкой.Для NFT обычно указывают ноль десятичных знаков, поскольку каждая единица неделима.Неверное значение decimals может привести к тому, что кошелек покажет вводящее в заблуждение количество токенов.Количество десятичных знаков не определяет рыночную цену или максимальное предложение токена.FA2 и tez
Tez — нативная криптовалюта блокчейна Tezos.Токены FA2 — это активы, которыми управляют смарт-контракты.Балансы tez учитываются на уровне протокола, а балансы FA2 записаны в хранилище контракта токена.Комиссии сети за транзакции оплачиваются в tez, даже если пользователь переводит токен FA2.Владение токеном FA2 автоматически не обеспечивает достаточное количество tez для оплаты ончейн-транзакции.Поэтому в кошельке может отображаться ценный баланс токена, но перевести его будет невозможно, пока на аккаунт не поступит достаточно tez для оплаты комиссий и затрат на хранение данных.FA2 и FA1.2
FA1.2 — более ранний интерфейс токенов Tezos, разработанный для взаимозаменяемых токенов.FA2 поддерживает более широкий спектр активов, включая взаимозаменяемые токены, NFT, непередаваемые токены и контракты с несколькими активами.В FA2 также используются ID токенов и пакетные операции.Модель операторов отличается от модели числового лимита: одобренный оператор FA2, как правило, может переводить доступный баланс владельца указанного ID токена.Токен FA1.2 не становится токеном FA2 автоматически.Если эмитент решает перейти на другой стандарт, для этого необходим отдельный процесс изменения контракта и конвертации активов.Оба стандарта могут продолжать существовать в Tezos.FA2 и NFT
FA2 — это интерфейс токенов, а NFT — тип невзаимозаменяемого актива.NFT в Tezos может быть реализован с помощью контракта, совместимого с FA2.Однако не каждый токен FA2 является NFT.Один и тот же стандарт может управлять обычными взаимозаменяемыми балансами и множеством других моделей токенов.Обозначение FA2 описывает технический интерфейс актива, но не раскрывает полностью его экономические характеристики.FA2 и контракт с несколькими активами
FA2 поддерживает контракты с несколькими активами, но контракту FA2 необязательно включать несколько типов токенов.Контракт с одним взаимозаменяемым токеном также может соответствовать FA2.Контракт с одной коллекцией NFT тоже может соответствовать FA2.Поддержка нескольких активов — это возможность стандарта, а не обязательное требование к каждой реализации.Как кошельки отображают токены FA2?
Для отображения актива FA2 кошелек может использовать адрес контракта, ID токена, данные реестра, метаданные и информацию индексатора.Кошелек может показывать название токена, символ, баланс, изображение и варианты перевода.Некоторые токены могут не появляться автоматически, если у них отсутствуют метаданные или кошелек еще не проиндексировал контракт.Отсутствие отображения не обязательно означает, что ончейн-баланс равен нулю.Пользователям следует проверять адрес контракта, ID токена и данные блокчейна через совместимый обозреватель или индексатор.Интерфейс кошелька не следует считать окончательным источником истины, если его данные расходятся с фактическим хранилищем контракта.Как маркетплейсы используют операторов FA2?
Маркетплейс может попросить владельца токена назначить контракт маркетплейса оператором.Это разрешение позволяет маркетплейсу перевести указанный токен после завершения продажи.Когда покупатель принимает объявление, владельцу не нужно в тот же момент подписывать отдельную транзакцию перевода токена.Маркетплейс должен использовать разрешение только в соответствии с опубликованными правилами продажи.Пока разрешение активно, вредоносный маркетплейс может попытаться выполнить несанкционированный перевод.Перед выдачей разрешения пользователям следует проверить адрес оператора.Также нужно удалять разрешения для приложений, которым пользователь больше не доверяет или не пользуется.Какие ошибки предусмотрены стандартом FA2?
В FA2 определены стандартные названия ошибок, чтобы кошельки и децентрализованные приложения могли одинаково интерпретировать распространенные сбои.В документации по ошибкам FA2 перечислены стандартные категории ошибок, используемые совместимыми реализациями.
FA2_TOKEN_UNDEFINED означает, что запрошенного ID токена в контракте не существует.FA2_INSUFFICIENT_BALANCE означает, что у отправителя недостаточно токенов для запрошенного перевода.FA2_NOT_OPERATOR означает, что у вызывающей стороны нет разрешения переводить токены владельца.FA2_NOT_OWNER означает, что действие, доступное только владельцу, запросил другой аккаунт.FA2_TX_DENIED означает, что политика контракта отклонила перевод.FA2_OPERATORS_UNSUPPORTED означает, что контракт не поддерживает запрошенные действия оператора.Для функций, не предусмотренных стандартом, контракты могут определять дополнительные пользовательские ошибки.Риски безопасности токенов FA2
Совместимость с FA2 не гарантирует безопасность смарт-контракта.В контракте может быть ошибка, из-за которой балансы учитываются неверно или становится возможен несанкционированный выпуск токенов.Администратор может иметь право приостанавливать переводы, выпускать неограниченное количество токенов, изменять метаданные или управлять другими важными функциями.Вредоносный контракт может отображать знакомое название токена, но применять совершенно другие экономические правила.Разрешения оператора могут подвергнуть активы риску, если пользователь одобрит небезопасное приложение.Внешние метаданные могут исчезнуть или измениться, если они хранятся без защиты целостности.Непроверенные пользовательские точки входа могут создавать поведение, которое не видно в стандартных интерфейсах кошельков.Перед взаимодействием с незнакомым активом следует проверить адрес контракта, исходный код, историю аудитов, контроль выпуска токенов, политику переводов, хранение метаданных и полномочия администратора.Риски разрешений оператора
Разрешение оператору FA2 дает широкие полномочия: оно относится к ID токена, а не к небольшой разовой сумме.Пока авторизация действует, оператор может перемещать доступный баланс владельца токена этого типа.Обманное приложение может представить запрос на назначение оператора как безобидный вход в систему или подключение аккаунта.Пользователям кошелька следует читать детали транзакции и проверять адрес оператора.Отключение кошелька от сайта не обязательно отменяет ончейн-авторизацию оператора.Если разрешение необходимо отозвать, пользователь должен выполнить соответствующее действие по удалению оператора.Риски выпуска токенов и предложения
Стандарт FA2 не устанавливает универсальное максимальное предложение.Эмитент токена может сохранить возможность выпускать дополнительные токены.Новый выпуск может размыть долю существующих владельцев или снизить дефицитность коллекции NFT.Если полномочия на выпуск централизованы, компрометация ключа администратора может привести к несанкционированному увеличению предложения.Пользователям следует выяснить, кто может выпускать токены, есть ли ограничение предложения и можно ли изменить эти полномочия.Заявления в метаданных о фиксированном предложении следует сверять с фактическим поведением контракта.Риски ограничений переводов
Токен FA2 может использовать политику, ограничивающую или полностью запрещающую переводы.Поэтому токен может отображаться в кошельке, но его будет невозможно продать или отправить.Если в реализации предусмотрен такой механизм, администратор также может приостанавливать переводы.Ограничения переводов могут служить законным целям в сфере безопасности, идентификации или соблюдения требований.Но они также могут создать для владельцев неожиданные риски хранения и ликвидности.Прежде чем приписывать незнакомому токену финансовую ценность, следует проверить или протестировать правила переводов.Риски метаданных и медиафайлов
Ончейн-владение не гарантирует постоянный доступ к медиафайлам вне блокчейна.NFT может ссылаться на изображение или документ, размещенный за пределами блокчейна.Файл может стать недоступным, если закончится срок хостинга или будет удален незакрепленный объект хранилища.Изменяемый веб-адрес позднее может вести к другому содержимому.Контентно-адресуемое хранение повышает целостность: при изменении файла меняется его идентификатор.Однако доступность по-прежнему зависит от того, хранит ли кто-либо эти данные и предоставляет ли к ним доступ.Коллекционерам следует проверять URI метаданных, способ хранения, хеш контента и наличие резервной копии.Как разработчикам создавать контракты FA2
Разработчики могут реализовать TZIP-12 напрямую, однако использование поддерживаемой библиотеки помогает снизить риск ошибок в интерфейсах и тестах.Библиотека SmartPy FA2 предоставляет базовые классы для взаимозаменяемых токенов, NFT и контрактов с одним активом.
Также доступны дополнительные модули для администрирования, выпуска и сжигания токенов, политик переводов и других функций.Разработчикам следует выбирать только те возможности, которые нужны проекту.Неиспользуемые административные полномочия могут повысить риски, не улучшив функциональность.Каждая пользовательская точка входа должна сохранять обязательное поведение стандарта и ожидаемую обработку ошибок.До развертывания в основной сети контракты необходимо протестировать в тестовой среде Tezos.Рекомендации по разработке FA2
Используйте точные структуры параметров TZIP-12 для обязательных точек входа.Тестируйте одиночные и пакетные переводы, переводы нулевого количества и случаи недостаточного баланса.Проверяйте все поддерживаемые и неподдерживаемые действия операторов.Убедитесь, что запросы с неопределенными ID токенов завершаются соответствующими ошибками.Четко документируйте права на выпуск и сжигание токенов, приостановку переводов и полномочия администратора.Публикуйте метаданные контрактов и токенов в надежных местах с защитой целостности.Для ошибок, предусмотренных FA2, используйте стандартные названия.Тестируйте интеграции с кошельками, индексаторами, маркетплейсами и приложениями.Учитывайте рост хранилища и стоимость транзакций при работе с крупными пакетами и коллекциями.Перед управлением ценными активами получите независимую оценку безопасности.Что такое FA2.1?
FA2.1 — предлагаемое развитие интерфейса токенов FA2.Он связан с TZIP-26 и добавляет такие понятия, как события, ончейн-представления, ограниченные разрешения и тикеты Tezos.В актуальной документации SmartPy FA2.1 описан как черновой стандарт.
Разработчикам не следует считать, что каждый кошелек или приложение FA2 автоматически поддерживает функции FA2.1.Уже развернутые контракты FA2 остаются отдельными развертываниями и не меняются автоматически при разработке нового предложения.Проектам, рассматривающим FA2.1, следует внимательно изучить дополнительные механизмы и актуальную поддержку инструментами.Распространенные заблуждения о FA2
FA2 — не криптовалюта.Это стандарт, которому могут соответствовать смарт-контракты токенов.FA2 не означает, что каждый токен взаимозаменяемый.FA2 не означает, что каждый токен является NFT.Один контракт FA2 не всегда управляет несколькими активами.Одного ID токена недостаточно для однозначной идентификации токена FA2.Совместимость с FA2 не гарантирует фиксированное предложение.Стандарт не требует наличия функций выпуска и сжигания токенов.Оператор FA2 не обязательно ограничен одной единицей токена или одним переводом.Метаданные не определяют фактические права владения или перевода.Баланс, отображаемый в кошельке, не доказывает, что токен можно перевести или продать.Соответствие FA2 не подтверждает, что контракт прошел аудит или не содержит вредоносных функций.Часто задаваемые вопросы
Что означает FA2 в Tezos?
FA2 означает Financial Application 2 — единый стандарт токенов Tezos, формально определенный в TZIP-12.Является ли FA2 криптовалютой?
Нет, FA2 — это интерфейс смарт-контракта, с помощью которого можно создавать различные криптовалюты и цифровые активы.FA2 предназначен только для NFT?
Нет, FA2 поддерживает взаимозаменяемые токены, NFT, контракты с несколькими активами, непередаваемые активы и пользовательские модели токенов.Может ли один контракт FA2 содержать несколько токенов?
Да, один контракт может управлять несколькими ID токенов с разным предложением, владельцами, метаданными и поведением.Как однозначно идентифицируется токен FA2?
Для этого используется сочетание адреса контракта Tezos и ID токена.Какой ID токена использует контракт FA2 с одним токеном?
Контракт, поддерживающий только один тип токена, должен использовать ID токена 0.Где хранятся балансы FA2?
Они хранятся в реестре, который ведет смарт-контракт FA2.Хранятся ли токены FA2 непосредственно в кошельке?
Кошелек управляет аккаунтом, а реестр контракта токена фиксирует баланс или владение этого аккаунта.Какие точки входа FA2 обязательны?
Обязательные точки входа — transfer, balance_of и update_operators.Для чего нужна точка входа transfer?
Она перемещает одно или несколько количеств токенов со счетов отправителей на счета получателей с помощью пакетного интерфейса.Для чего нужна balance_of?
Она запрашивает балансы для комбинаций аккаунтов и ID токенов и передает результаты контракту обратного вызова.Для чего нужна update_operators?
Она позволяет владельцам токенов добавлять или удалять аккаунты, уполномоченные переводить от их имени токены с указанными ID.Что такое оператор FA2?
Оператор — это аккаунт или контракт, которому разрешено перемещать указанный тип токенов, принадлежащих другому аккаунту.Может ли оператор перевести все токены владельца?
В отношении авторизованного ID токена оператор обычно может перевести доступный баланс владельца, пока действует разрешение.Можно ли отозвать разрешение оператора FA2?
Да, если политика переводов контракта поддерживает операторов, владелец может отправить действие по удалению оператора.Отменяет ли отключение кошелька разрешение оператора?
Нет, отключение от сайта не отменяет автоматически ончейн-разрешение оператора.Могут ли токены FA2 быть непередаваемыми?
Да, в реализации FA2 может использоваться политика, отклоняющая все обычные переводы.Может ли контракт FA2 приостановить переводы?
Да, если в реализации предусмотрена функция приостановки, доступная администратору.Требуется ли в FA2 функция выпуска токенов?
Нет, выпуск токенов необязателен и зависит от дизайна контракта.Требуется ли в FA2 функция сжигания токенов?
Нет, сжигание также является необязательной функцией.Гарантирует ли FA2 максимальное предложение?
Нет, ограничения предложения и полномочия на выпуск определяются каждым отдельным контрактом токена.Что такое метаданные токена FA2?
Это информация, связанная с ID токена, например его название, символ, количество десятичных знаков, описание и ссылки на медиафайлы.Что такое метаданные контракта FA2?
Это информация о самом смарт-контракте, включая его название, версию, интерфейсы, сведения об исходном коде и представлениях.Для чего нужно поле decimals?
Оно сообщает кошелькам, как отобразить целочисленный баланс токена с десятичной запятой.Делают ли десятичные знаки токен делимым?
Они задают формат отображения целых единиц, а фактическую делимость актива определяет логика переводов и предложения, предусмотренная контрактом.Комиссии за транзакции FA2 оплачиваются этим токеном?
Комиссии протокола Tezos обычно оплачиваются в tez, даже если транзакция переводит токен FA2.Чем tez отличается от токена FA2?
Tez — нативная криптовалюта Tezos, а токен FA2 управляется реестром смарт-контракта.Чем FA1.2 отличается от FA2?
FA1.2 ориентирован на взаимозаменяемые токены, а FA2 поддерживает более широкий спектр типов токенов, ID, пакетные переводы и контракты с несколькими активами.Может ли кошелек автоматически обнаруживать все токены FA2?
Не всегда: обнаружение зависит от индексации, метаданных, поддержки контракта и интеграции кошелька.Могут ли метаданные токена FA2 быть поддельными?
Да, кто угодно может создать контракт с вводящими в заблуждение названием, символом, изображением или описанием.Означает ли соответствие FA2, что токен безопасен?
Нет, оно подтверждает совместимость интерфейса, но не безопасность, ценность, легитимность или юридический статус.Может ли изображение NFT FA2 исчезнуть?
Да, медиафайлы, хранящиеся вне блокчейна, могут стать недоступными, если их не сохранять или не размещать надежным способом.Что такое FA2.1?
FA2.1 — черновой вариант развития FA2, предлагающий такие функции, как события, ончейн-представления, ограниченные разрешения и тикеты.Заменит ли FA2.1 стандарт FA2 автоматически?
Нет, существующие контракты FA2 останутся отдельными развертываниями, а поддержка функций FA2.1 зависит от действующих стандартов и инструментов.Заключение
FA2 — единый стандарт токенов Tezos, определенный в TZIP-12.Он задает общий интерфейс для взаимозаменяемых токенов, NFT, непередаваемых активов, гибридных систем токенов и смарт-контрактов с несколькими активами.Каждый токен FA2 идентифицируется сочетанием адреса контракта и ID токена.Стандарт требует наличия точек входа transfer, balance_of и update_operators.Пакетная структура позволяет выполнять несколько переводов или запросов в рамках одного вызова контракта.Разрешения операторов позволяют приложениям переводить указанные типы токенов от имени владельцев, однако пользователям следует отзывать ненужные разрешения.FA2 предоставляет разработчикам широкую свободу в определении политик переводов, правил предложения, выпуска и сжигания токенов, администрирования и пользовательских функций.Эта гибкость поддерживает разнообразные сценарии использования криптоактивов, но делает обязательной проверку каждого контракта.Перед взаимодействием с незнакомым активом FA2 пользователям следует проверить адрес контракта, ID токена, метаданные, контроль предложения, правила переводов, разрешения операторов, исходный код и полномочия администратора.Стандартизация FA2 повышает совместимость в экосистеме Tezos, но не гарантирует безопасность, ценность, возможность перевода или легитимность токена.Вам также может быть интересно
ZK-Rollup
ZK-Rollup-as-a-Service
zk-SNARK
В тренде
Трендовые криптовалюты, которые в настоящее время привлекают значительное внимание рынка
ТОП по объему
Криптовалюты с наибольшим объемом торгов
Недавно добавленные
Криптовалюты недавно внесенные в листинг и доступные для торговли

