¿Qué es FA2 en Tezos?
FA2 es un estándar unificado de tokens para contratos inteligentes en la blockchain Tezos.Define una interfaz común que pueden utilizar wallets, aplicaciones descentralizadas, exploradores de blockchain, marketplaces, juegos y otras herramientas cripto para interactuar con tokens de Tezos.FA2 está especificado formalmente en la Propuesta de Mejora de Tezos 12, o TZIP-12.
El estándar admite tokens fungibles, tokens no fungibles, activos no transferibles y contratos que gestionan varios tipos de tokens a la vez.Esta flexibilidad permite que un único contrato FA2 gestione una criptomoneda, una colección de NFT, varios activos de un juego o una combinación de distintos modelos de tokens.FA2 no determina el valor económico, la situación jurídica, la oferta ni el propósito de un token.En cambio, estandariza operaciones técnicas importantes como transferir tokens, consultar saldos y autorizar operadores.Un token FA2 no se almacena directamente en la cuenta Tezos de un usuario del mismo modo que tez, el activo nativo de Tezos.El contrato inteligente FA2 mantiene un registro que indica qué cuenta posee cada token o saldo de tokens.La documentación oficial de FA2 de Tezos describe FA2 como un estándar flexible que permite comportamientos de token personalizados y mantiene la compatibilidad con las aplicaciones existentes.
¿Qué significa FA en FA2?
FA significa Financial Application (aplicación financiera).El nombre refleja la función del estándar: definir interfaces reutilizables para activos financieros y aplicaciones tokenizadas en Tezos.FA2 es más reciente y flexible que la interfaz de tokens anterior, FA1.2.El número 2 identifica la familia del estándar, no una versión del token elegida de forma independiente por cada emisor.Un proyecto no es compatible con FA2 por el mero hecho de añadir «FA2» al nombre o los metadatos del token.Su contrato inteligente debe implementar las interfaces y el comportamiento exigidos por TZIP-12.¿Por qué necesita Tezos un estándar de tokens?
Una blockchain permite a los desarrolladores escribir muchos contratos inteligentes distintos, pero las interfaces de tokens completamente diferentes dificultarían las integraciones.Una wallet necesitaría código personalizado para cada contrato de token si cada uno utilizara funciones diferentes de transferencia y consulta de saldo.Un marketplace también tendría que aprender un proceso de aprobación distinto para cada colección de NFT.FA2 proporciona puntos de entrada y estructuras de datos previsibles que reducen este problema de integración.Una wallet compatible puede reconocer cómo consultar un saldo o preparar una transferencia sin conocer todos los detalles internos del almacenamiento.Un marketplace compatible puede solicitar permiso de operador mediante un proceso estandarizado.Un explorador de blockchain o indexador puede identificar movimientos de tokens y organizar los saldos por dirección del contrato e ID del token.La estandarización mejora la interoperabilidad, pero no garantiza que todos los contratos que utilicen la interfaz sean seguros o honestos.La documentación de tokens de Tezos advierte de que cualquiera puede crear un contrato de token y definir comportamientos potencialmente perjudiciales o restrictivos.
¿Cómo funciona un token FA2?
Un token FA2 está controlado por un contrato inteligente desplegado en Tezos.El contrato almacena un registro que representa la titularidad o los saldos de los tokens.En el caso de un token fungible, el registro suele asociar una cuenta y un ID de token con una cantidad.En el caso de un NFT, el registro puede asociar un ID de token único con su titular o registrar un saldo de uno para el titular.Cuando se realiza una transferencia, el contrato FA2 comprueba la autoridad del emisor y el saldo disponible.A continuación, el contrato resta los tokens de la cuenta de origen y los añade a la cuenta de destino.El contrato inteligente también puede aplicar restricciones personalizadas antes de aceptar la transferencia.Por ejemplo, un token puede permitir transferencias solo por parte del titular, admitir operadores aprobados, pausar las transferencias o prohibirlas por completo.Todos los cambios de estado válidos se registran en Tezos y pueden consultarse con herramientas blockchain compatibles.¿Cómo se identifica un token FA2?
Un token FA2 se identifica de forma única mediante la combinación de la dirección de su contrato inteligente y el ID del token.El ID del token es un entero no negativo asignado por el contrato.Dos tokens de contratos FA2 distintos pueden tener el mismo ID porque sus direcciones de contrato los diferencian.Por tanto, describir un token únicamente como ID de token 0 no permite identificarlo de forma única.Los usuarios también deben confirmar la dirección del contrato.Si un contrato FA2 solo admite un tipo de token, el estándar exige que el ID sea 0.Si el contrato gestiona varios tipos de tokens, puede asignarles ID distintos.La descripción general de FA2 de SmartPy confirma que la dirección del contrato y el ID del token forman el identificador on-chain completo del token.
¿Qué tipos de tokens puede admitir FA2?
Tokens fungibles
Un token fungible consta de unidades intercambiables que tienen las mismas propiedades y el mismo valor dentro del contrato.Por lo general, una unidad puede intercambiarse por otra del mismo token sin cambiar la posición económica del titular.Los tokens fungibles FA2 pueden representar activos de pago, unidades de gobernanza, puntos de fidelidad, activos de valor estable, activos envueltos u otras criptomonedas divisibles.El campo de metadatos decimals indica a las wallets dónde mostrar la coma decimal, pero los saldos se almacenan en unidades enteras naturales.Tokens no fungibles
Un NFT FA2 representa un token distinto, identificado por un ID único.El token puede estar asociado a arte digital, objetos de juegos, membresías, certificados, acceso a eventos o registros del mundo real.Los metadatos pueden describir el contenido multimedia, el creador, los atributos y otra información relacionada con el NFT.La titularidad de un NFT no transfiere automáticamente los derechos de autor, la propiedad intelectual ni la propiedad legal de un objeto off-chain.Esos derechos dependen de las condiciones del emisor y de la legislación aplicable.Contratos multiactivo
Un contrato FA2 puede gestionar muchos ID de token distintos.Un juego podría utilizar un contrato para monedas, armas, terrenos, activos de personajes y recompensas coleccionables.Un proyecto de NFT podría gestionar toda una colección desde un único contrato.Una aplicación financiera podría emitir varios activos fungibles relacionados a través de una misma interfaz.Utilizar un único contrato puede simplificar las operaciones por lotes y reducir el número de contratos independientes que deben integrar las aplicaciones.Contratos de tokens híbridos
Un contrato FA2 puede combinar distintos comportamientos de tokens en una misma implementación.Por ejemplo, un ID de token puede representar un activo fungible, mientras que otros ID representan NFT únicos.Un proyecto también puede combinar activos transferibles y no transferibles con políticas definidas cuidadosamente.Las aplicaciones no deben asumir que todos los ID de token de un mismo contrato FA2 tienen la misma oferta, los mismos decimales, las mismas reglas de transferencia o los mismos metadatos.Tokens no transferibles
FA2 admite activos que no pueden transferirse libremente después de su emisión.Estos tokens pueden representar credenciales, insignias, reputación, licencias o registros vinculados a una cuenta.Un intento de transferencia puede fallar con el error estándar FA2 de transacción denegada cuando la política del contrato bloquea las transferencias.Los usuarios deben verificar las reglas de transferencia antes de adquirir un token, ya que un saldo visible en una wallet no demuestra que el activo pueda venderse o moverse.¿Cuáles son los puntos de entrada obligatorios de FA2?
Un contrato compatible con FA2 debe proporcionar tres puntos de entrada estándar llamados transfer, balance_of y update_operators.Estos puntos de entrada crean la interfaz común que utilizan las aplicaciones externas.Los desarrolladores pueden añadir otros puntos de entrada, pero las funciones adicionales no sustituyen las interfaces obligatorias.La documentación de puntos de entrada FA2 de SmartPy explica los parámetros y el comportamiento esperado de estas operaciones.
Punto de entrada transfer
El punto de entrada transfer mueve tokens de una cuenta a una o varias cuentas de destino.Cada elemento de transferencia especifica la dirección de origen, la dirección de destino, el ID del token y la cantidad.El punto de entrada acepta lotes, en lugar de limitar cada llamada a una sola transferencia.Un lote puede incluir varias transferencias entre distintas cuentas e ID de token.El contrato verifica que exista cada token indicado.También comprueba que la cuenta de origen tenga tokens suficientes y que quien realiza la llamada tenga permiso para transferirlos.La transacción falla si no se cumple alguna condición necesaria.Punto de entrada balance_of
El punto de entrada balance_of consulta los saldos de uno o varios pares de cuenta e ID de token.Utiliza un contrato de retorno de llamada para recibir la información de saldo solicitada.Este diseño permite que otro contrato inteligente solicite saldos y reciba los resultados mediante una operación interna de Tezos.Cuando corresponda, las aplicaciones off-chain también pueden utilizar indexadores o vistas estandarizadas.Una consulta de saldo debe identificar tanto la dirección del titular como el ID del token.La dirección de la cuenta por sí sola no basta cuando un contrato gestiona varios tipos de tokens.Punto de entrada update_operators
El punto de entrada update_operators permite a los titulares de tokens añadir o eliminar operadores autorizados.Cada autorización identifica al titular, al operador y el ID del token.Por lo general, solo el titular del token puede cambiar los permisos de operador de sus propios tokens.El contrato puede rechazar cambios de operadores si su política de transferencias no los admite.Los permisos de operador deben revocarse cuando un marketplace, juego o aplicación ya no los necesite.¿Qué son las transferencias por lotes?
Las transferencias por lotes permiten incluir varios movimientos de tokens en una sola llamada al punto de entrada transfer.Un único lote puede enviar un mismo tipo de token a varios destinatarios.También puede transferir varios ID de token gestionados por el mismo contrato.Esta estructura puede reducir las solicitudes repetidas de confirmación de la wallet y las llamadas al contrato.Resulta especialmente útil para juegos, colecciones de NFT, distribuciones de tesorería y aplicaciones que gestionan muchos tipos de activos.Toda la operación Tezos sigue las reglas de ejecución atómica.Si falla una transferencia necesaria de la llamada, la ejecución relacionada del contrato no deja un estado parcialmente completado.Aun así, las aplicaciones deben limitar el tamaño de los lotes, ya que las operaciones más grandes requieren más cálculo y procesamiento de almacenamiento.¿Qué es un operador FA2?
Un operador es una cuenta o contrato inteligente autorizado para transferir un tipo concreto de token en nombre de su titular.Un usuario puede autorizar un marketplace como operador para que este complete una venta cuando un comprador acepte una oferta.El permiso de operador está asociado a un titular, una dirección de operador y un ID de token.La autorización no se aplica automáticamente a todos los tokens de la wallet del titular.Sin embargo, para el ID de token especificado, el operador normalmente puede transferir cualquier cantidad de ese tipo de token que tenga el titular conforme al modelo de operadores del estándar.El permiso no es una autorización numérica limitada que disminuya con cada transferencia.Esto hace que la aprobación de operadores sea práctica, pero también crea riesgos si la aplicación aprobada es maliciosa o se ve comprometida.El titular puede eliminar un operador mediante el punto de entrada update_operators si la política del contrato permite esa acción.¿Cómo funcionan las políticas de transferencia de FA2?
FA2 permite que los contratos definan distintas políticas de permisos y conserven una interfaz de transferencia compartida.El estándar puede especificar si se admiten las transferencias y si se permiten operadores.La documentación sobre políticas de transferencia de SmartPy presenta modelos de políticas habituales para implementaciones FA2.
Política sin transferencias
Una política sin transferencias impide que los titulares y operadores transfieran los tokens afectados.Este modelo puede servir para credenciales, registros de identidad, insignias y otros activos vinculados a una cuenta.Política de transferencia por el titular
Una política de transferencia por el titular permite que los titulares muevan sus propios tokens, pero no admite operadores.Es posible que un marketplace que dependa de la autorización de operadores no pueda funcionar con estos tokens.Política de titular u operador
Una política de titular u operador permite que el titular o un operador aprobado transfiera el token.Es un modelo habitual para tokens y NFT negociables.Pausar transferencias
Una implementación FA2 personalizada puede permitir que un administrador pause las transferencias y la actividad de los operadores.La pausa puede ayudar a responder ante un incidente de seguridad.También otorga al administrador un control significativo sobre la posibilidad de que los titulares muevan sus activos.Los usuarios deben comprobar si existe una autoridad de pausa, quién la controla y si puede eliminarse.¿FA2 exige acuñar tokens?
No. FA2 no exige un punto de entrada de acuñación.Un contrato puede inicializar todos los tokens al desplegarse y no ofrecer ningún método para crear más.Otra implementación puede incluir una función de acuñación controlada por el administrador.Un juego puede acuñar nuevos objetos cuando los jugadores completan acciones concretas.Un contrato de NFT puede acuñar un nuevo ID de token por cada nuevo objeto coleccionable.El tutorial de Tezos sobre acuñación y quema explica cómo añadir funciones opcionales mediante una biblioteca de contratos.
Los inversores deben revisar la autoridad de acuñación efectiva, en lugar de asumir que FA2 establece una oferta máxima fija.¿FA2 exige quemar tokens?
No. El punto de entrada de quema también es opcional.La quema elimina permanentemente unidades de token conforme a las reglas contables del contrato.Un contrato puede permitir que los usuarios quemen sus propios tokens.Otro contrato puede limitar la quema al administrador o no incluir ningún mecanismo de quema.Los permisos de quema afectan a la oferta, el canje, la mecánica del juego y la economía del token.La existencia de una función de quema no garantiza que el activo sea deflacionario, ya que la acuñación puede superar a la quema.¿Cómo funcionan los metadatos de los tokens FA2?
Los metadatos de un token describen la información asociada a un ID de token concreto.Entre los campos habituales figuran el nombre del token, el símbolo, los decimales, la descripción y los enlaces a contenido multimedia.La documentación de metadatos de tokens FA2 explica que cada ID de token se asocia a su propio objeto de metadatos.
Los metadatos pueden almacenarse directamente en el contrato o referenciarse mediante un URI externo.Los metadatos de NFT suelen almacenarse en un documento JSON al que remite el contrato.El Sistema de Archivos Interplanetario (IPFS) se utiliza a menudo para ofrecer almacenamiento direccionado por contenido para estos documentos y archivos multimedia.Un enlace externo a los metadatos no garantiza que la información enlazada siga estando disponible para siempre.Los archivos deben fijarse y guardarse en copias de seguridad para reducir el riesgo de que desaparezcan.¿Cuáles son los campos de metadatos estándar?
El campo name proporciona un nombre visible para el token.El campo symbol proporciona un identificador breve utilizado por wallets y aplicaciones.El campo decimals indica a las interfaces cómo mostrar el saldo de un token fungible.Una clave de metadatos vacía puede apuntar a un documento JSON externo con información adicional.Los campos personalizados pueden describir obras de arte, atributos, creadores, condiciones de licencia o datos específicos de una aplicación.Es posible que las wallets ignoren los campos personalizados que no reconocen.Los metadatos mejoran la presentación, pero no prevalecen sobre el registro real ni la lógica de transferencia del contrato.Un token puede mostrar un nombre o símbolo conocido aunque lo haya emitido un contrato sin relación con el original.La dirección del contrato y el ID del token siguen siendo los identificadores técnicos fiables.Metadatos del token frente a metadatos del contrato
Los metadatos del token describen un ID de token individual.Los metadatos del contrato describen el propio contrato inteligente FA2.Los metadatos del contrato pueden indicar su nombre, versión, autores, interfaces, información del código fuente y vistas disponibles.Los metadatos de contrato TZIP-16 proporcionan una estructura estándar para publicar esta información on-chain o mediante un URI externo.
Un contrato multiactivo puede tener un documento de metadatos de contrato y muchos objetos de metadatos de tokens independientes.Las aplicaciones no deben confundir el nombre visible del contrato con el nombre de cada token que gestiona.¿Qué significa el campo decimals?
El campo decimals controla cómo muestran las aplicaciones el saldo entero de un token.Supongamos que un contrato registra un saldo bruto de 1.000.000 y que el token utiliza seis decimales.Una wallet muestra esa cantidad como 1.000000 tokens.El contrato sigue almacenando un saldo de números naturales, no un valor de coma flotante.Los NFT suelen utilizar cero decimales porque cada unidad es indivisible.Un valor incorrecto en decimals puede hacer que una wallet muestre una cantidad engañosa.Los decimales no determinan el precio de mercado ni la oferta máxima del token.FA2 frente a tez
Tez es la criptomoneda nativa de la blockchain Tezos.Los tokens FA2 son activos gestionados por contratos inteligentes.Los saldos de tez forman parte de la contabilidad de cuentas del protocolo, mientras que los saldos FA2 son registros del almacenamiento de un contrato de tokens.Las comisiones de transacción de la red se pagan en tez, incluso cuando un usuario transfiere un token FA2.Mantener un token FA2 no proporciona automáticamente suficiente tez para pagar una transacción on-chain.Por tanto, una wallet puede mostrar un saldo valioso de tokens, pero no poder moverlos hasta que la cuenta reciba suficiente tez para pagar las comisiones y los costes de almacenamiento.FA2 frente a FA1.2
FA1.2 es una interfaz de tokens anterior de Tezos, diseñada para tokens fungibles.FA2 admite una gama más amplia de activos, como tokens fungibles, NFT, tokens no transferibles y contratos multiactivo.FA2 también utiliza ID de token y operaciones por lotes.El modelo de operadores difiere del modelo de autorización numérica porque, por lo general, un operador FA2 aprobado puede transferir el saldo disponible del titular para el ID de token especificado.Un token FA1.2 no se convierte automáticamente en un token FA2.Si un emisor decide cambiar de estándar, la migración requiere un proceso deliberado para el contrato y la conversión de activos.Ambos estándares pueden seguir coexistiendo en Tezos.FA2 frente a NFT
FA2 es una interfaz de tokens, mientras que NFT describe un tipo de activo no fungible.Un NFT en Tezos puede implementarse mediante un contrato compatible con FA2.Sin embargo, no todos los tokens FA2 son NFT.El mismo estándar puede gestionar saldos fungibles ordinarios y muchos otros modelos de tokens.Decir que un activo es FA2 describe su interfaz técnica, pero no sus características económicas completas.FA2 frente a un contrato multiactivo
FA2 admite contratos multiactivo, pero un contrato FA2 no tiene por qué incluir varios tipos de tokens.Un contrato fungible de un solo token también puede seguir FA2.Un contrato de una única colección de NFT también puede seguir FA2.La compatibilidad con varios activos es una capacidad del estándar, no un requisito que toda implementación deba utilizar.¿Cómo muestran las wallets los tokens FA2?
Una wallet puede utilizar la dirección del contrato, el ID del token, la información del registro, los metadatos y los datos de un indexador para mostrar un activo FA2.La wallet puede mostrar el nombre, el símbolo, el saldo, la imagen y las opciones de transferencia del token.Es posible que algunos tokens no aparezcan automáticamente si faltan metadatos o la wallet no ha indexado el contrato.Que el activo no aparezca no significa necesariamente que el saldo on-chain sea cero.Los usuarios deben confirmar la dirección del contrato, el ID del token y los datos de la blockchain mediante un explorador o indexador compatible.Si la interfaz de una wallet contradice el almacenamiento real del contrato, no debe considerarse la fuente definitiva.¿Cómo utilizan los marketplaces los operadores FA2?
Un marketplace puede pedir al titular de un token que añada el contrato del marketplace como operador.Este permiso permite al marketplace transferir el token especificado una vez completada una venta.El titular no tiene que firmar una transacción de transferencia de tokens independiente justo cuando un comprador acepta el anuncio.El marketplace solo debe utilizar el permiso conforme a las condiciones de venta publicadas.Un marketplace malicioso podría intentar una transferencia no autorizada mientras la aprobación siga activa.Los usuarios deben verificar la dirección del operador antes de aprobarla.También deben revocar los permisos de las aplicaciones en las que ya no confían o que han dejado de utilizar.¿Cuáles son los errores estándar de FA2?
FA2 define nombres de errores estándar para que las wallets y las aplicaciones descentralizadas puedan interpretar de forma coherente los fallos habituales.La documentación de errores FA2 enumera las categorías de errores estándar utilizadas por las implementaciones compatibles.
FA2_TOKEN_UNDEFINED significa que el ID de token solicitado no existe en el contrato.FA2_INSUFFICIENT_BALANCE significa que la cuenta de origen no posee tokens suficientes para la transferencia solicitada.FA2_NOT_OPERATOR significa que quien realiza la llamada no tiene permiso para transferir los tokens del titular.FA2_NOT_OWNER significa que otra cuenta ha solicitado una acción reservada al titular.FA2_TX_DENIED significa que la política del contrato ha rechazado la transferencia.FA2_OPERATORS_UNSUPPORTED significa que el contrato no permite el comportamiento de operador solicitado.Los contratos pueden definir errores personalizados adicionales para funciones que no forman parte del estándar.Riesgos de seguridad de los tokens FA2
La compatibilidad con FA2 no garantiza la seguridad del contrato inteligente.Un contrato puede contener un fallo que modifique incorrectamente los saldos o permita acuñar tokens sin autorización.Un administrador puede tener permiso para pausar transferencias, acuñar tokens sin límite, modificar metadatos o controlar otros comportamientos importantes.Un contrato malicioso puede mostrar el nombre de un token conocido y aplicar reglas económicas sin relación con el original.Los permisos de operador pueden poner en riesgo los activos si los usuarios aprueban una aplicación insegura.Los metadatos externos pueden desaparecer o cambiar si no se almacenan mediante un método que proteja su integridad.Los puntos de entrada personalizados no verificados pueden generar comportamientos que las interfaces estándar de las wallets no muestran.Los usuarios deben revisar la dirección del contrato, el código fuente, el historial de auditorías, los controles de acuñación, la política de transferencias, el almacenamiento de metadatos y las facultades del administrador.Riesgo de los permisos de operador
La aprobación de un operador FA2 es potente porque está vinculada a un ID de token y no a una cantidad pequeña de un solo uso.Mientras la autorización siga activa, el operador puede mover el saldo disponible del titular de ese tipo de token.Una aplicación engañosa puede presentar una solicitud de operador como si fuera un inicio de sesión o una conexión de cuenta inocuos.Los usuarios de wallets deben leer los detalles de la transacción y verificar la dirección del operador.Desconectar una wallet de un sitio web no necesariamente revoca una autorización de operador on-chain.Cuando se quiera revocar el permiso, el usuario debe enviar la acción correspondiente para eliminar al operador.Riesgo de acuñación y oferta
El estándar FA2 no establece una oferta máxima universal.El emisor de un token puede conservar la capacidad de crear tokens adicionales.La nueva acuñación puede diluir a los titulares existentes o reducir la escasez de una colección de NFT.Si la capacidad de acuñar está centralizada, el compromiso de la clave del administrador puede generar una oferta no autorizada.Los usuarios deben determinar quién puede acuñar, si existe un límite y si puede cambiarse la autoridad.Las afirmaciones de los metadatos sobre una oferta fija deben contrastarse con el comportamiento real del contrato.Riesgo de restricciones de transferencia
Un token FA2 puede utilizar una política que limite o impida por completo las transferencias.Por tanto, un token puede aparecer en una wallet y, aun así, ser imposible de vender o enviar.El administrador también puede disponer de un mecanismo de pausa si la implementación lo incluye.Las restricciones de transferencia pueden responder a fines legítimos de seguridad, identidad o cumplimiento normativo.También pueden generar riesgos inesperados de custodia y liquidez para los titulares.Antes de atribuir valor financiero a un token desconocido, los usuarios deben comprobar o verificar sus reglas de transferencia.Riesgos de los metadatos y el contenido multimedia
La titularidad on-chain no garantiza el acceso permanente a contenido multimedia off-chain.Un NFT puede hacer referencia a una imagen o un documento alojado fuera de la blockchain.El archivo puede dejar de estar disponible cuando finaliza el alojamiento o se elimina un objeto de almacenamiento que no está fijado.Una dirección web modificable también puede ofrecer contenido distinto más adelante.El almacenamiento direccionado por contenido mejora la integridad porque cualquier modificación del archivo cambia su identificador de contenido.La disponibilidad sigue dependiendo de que alguien conserve y sirva los datos.Los coleccionistas deben revisar el URI de los metadatos, el método de almacenamiento, el hash del contenido y el plan de copias de seguridad.Cómo pueden crear contratos FA2 los desarrolladores
Los desarrolladores pueden implementar TZIP-12 directamente, pero el uso de una biblioteca mantenida puede reducir los errores de interfaz y de pruebas.La biblioteca FA2 de SmartPy proporciona clases base para tokens fungibles, NFT y contratos de un solo activo.
También ofrece módulos opcionales para funciones como administración, acuñación, quema y políticas de transferencia.Los desarrolladores deben elegir solo las funciones que requiera el proyecto.Los permisos de administrador que no se utilizan pueden aumentar el riesgo sin aportar funcionalidad.Cada punto de entrada personalizado debe respetar el comportamiento exigido por el estándar y las expectativas de sus errores.Los contratos deben probarse en un entorno de pruebas de Tezos antes de desplegarse en la mainnet.Buenas prácticas de desarrollo FA2
Utiliza exactamente las estructuras de parámetros TZIP-12 para los puntos de entrada obligatorios.Prueba las transferencias individuales y por lotes, las transferencias de valor cero y los saldos insuficientes.Prueba todas las acciones de operador admitidas y no admitidas.Verifica que los ID de token no definidos generen los errores adecuados.Documenta claramente los permisos de acuñación, quema, pausa y administración.Publica los metadatos del contrato y del token en ubicaciones estables que protejan su integridad.Utiliza los nombres de error estándar para los fallos contemplados por FA2.Prueba las integraciones con wallets, indexadores, marketplaces y aplicaciones.Revisa el crecimiento del almacenamiento y los costes de transacción para colecciones o lotes grandes.Solicita una revisión de seguridad independiente antes de gestionar activos valiosos.¿Qué es FA2.1?
FA2.1 es una evolución propuesta de la interfaz de tokens FA2.Está asociado a TZIP-26 y añade conceptos como eventos, vistas on-chain, autorizaciones limitadas y tickets de Tezos.La documentación actual de SmartPy describe FA2.1 como un borrador.
Los desarrolladores no deben asumir que todas las wallets o aplicaciones FA2 admiten automáticamente las funciones específicas de FA2.1.Los contratos FA2 existentes siguen siendo despliegues independientes y no cambian automáticamente cuando se desarrolla una propuesta más reciente.Los proyectos que se planteen utilizar FA2.1 deben estudiar con atención sus mecanismos adicionales y la compatibilidad actual de las herramientas.Ideas equivocadas habituales sobre FA2
FA2 no es una criptomoneda por sí misma.Es un estándar que pueden implementar los contratos inteligentes de tokens.FA2 no significa que todos los tokens sean fungibles.FA2 no significa que todos los tokens sean NFT.Un contrato FA2 no siempre gestiona varios activos.El ID del token por sí solo no identifica de forma única un token FA2.La compatibilidad con FA2 no garantiza una oferta fija.La acuñación y la quema no son obligatorias en el estándar.Un operador FA2 no está necesariamente limitado a una unidad de token o a una sola transferencia.Los metadatos no determinan la titularidad real ni los derechos de transferencia.Un saldo visible en una wallet no demuestra que el token se pueda transferir o vender.El cumplimiento de FA2 no demuestra que un contrato haya sido auditado ni que esté libre de comportamientos maliciosos.Preguntas frecuentes
¿Qué significa FA2 en Tezos?
FA2 significa Financial Application 2, un estándar unificado de tokens de Tezos definido formalmente por TZIP-12.¿FA2 es una criptomoneda?
No. FA2 es una interfaz para contratos inteligentes que puede utilizarse para crear muchas criptomonedas y activos digitales distintos.¿FA2 sirve únicamente para NFT?
No. FA2 admite tokens fungibles, NFT, contratos multiactivo, activos no transferibles y modelos de tokens personalizados.¿Puede un contrato FA2 incluir varios tokens?
Sí. Un contrato puede gestionar varios ID de token con distintas ofertas, titulares, metadatos y comportamientos.¿Cómo se identifica de forma única un token FA2?
Se identifica mediante la combinación de la dirección de su contrato Tezos y el ID del token.¿Qué ID de token utiliza un contrato FA2 de un solo token?
Un contrato que solo admita un tipo de token debe utilizar el ID de token 0.¿Dónde se almacenan los saldos FA2?
Se almacenan en el registro que mantiene el contrato inteligente FA2.¿Los tokens FA2 se almacenan directamente en una wallet?
La wallet controla la cuenta, mientras que el registro del contrato de tokens guarda el saldo o la titularidad de esa cuenta.¿Cuáles son los puntos de entrada obligatorios de FA2?
Los puntos de entrada obligatorios son transfer, balance_of y update_operators.¿Qué hace el punto de entrada transfer?
Mueve una o varias cantidades de tokens de las cuentas de origen a las de destino mediante una interfaz que admite lotes.¿Qué hace balance_of?
Solicita los saldos de pares de cuenta e ID de token y envía los resultados a un contrato de retorno de llamada.¿Qué hace update_operators?
Permite que los titulares de tokens añadan o eliminen cuentas autorizadas para transferir en su nombre los ID de token especificados.¿Qué es un operador FA2?
Es una cuenta o contrato autorizado para mover un tipo de token especificado que pertenece a otra cuenta.¿Puede un operador transferir todos los tokens de un titular?
Para el ID de token autorizado, por lo general puede transferir el saldo disponible del titular mientras la aprobación siga activa.¿Se puede eliminar la aprobación de un operador FA2?
Sí. El titular puede enviar una acción para eliminar al operador si la política de transferencias del contrato admite operadores.¿Desconectar una wallet elimina a un operador?
No. Desconectar la sesión de un sitio web no revoca automáticamente un permiso de operador on-chain.¿Los tokens FA2 pueden ser no transferibles?
Sí. Una implementación FA2 puede utilizar una política que rechace todas las transferencias ordinarias.¿Puede un contrato FA2 pausar las transferencias?
Puede hacerlo si la implementación incluye una función de pausa controlada por el administrador.¿FA2 exige una función de acuñación?
No. La acuñación es opcional y depende del diseño del contrato.¿FA2 exige una función de quema?
No. La quema también es opcional.¿FA2 garantiza una oferta máxima?
No. Los límites de oferta y la autoridad de acuñación los define cada contrato de token.¿Qué son los metadatos de un token FA2?
Son la información asociada a un ID de token, como el nombre, el símbolo, los decimales, la descripción y los enlaces a contenido multimedia.¿Qué son los metadatos de un contrato FA2?
Son datos sobre el propio contrato inteligente, como el nombre, la versión, las interfaces, la información del código fuente y las vistas.¿Qué hace el campo decimals?
Indica a las wallets cómo mostrar el saldo entero del token con una coma decimal.¿Los decimales hacen que un token sea divisible?
Definen cómo mostrar las unidades enteras, mientras que la lógica de transferencia y oferta del contrato determina la divisibilidad práctica del activo.¿Las comisiones de transacción FA2 se pagan en el token?
Por lo general, las comisiones del protocolo Tezos se pagan en tez, incluso cuando la transacción transfiere un token FA2.¿Cuál es la diferencia entre tez y un token FA2?
Tez es la criptomoneda nativa de Tezos, mientras que un token FA2 está gestionado por el registro de un contrato inteligente.¿Cuál es la diferencia entre FA1.2 y FA2?
FA1.2 se centra en tokens fungibles, mientras que FA2 admite más tipos de tokens, ID de token, transferencias por lotes y contratos multiactivo.¿Puede una wallet detectar automáticamente todos los tokens FA2?
No siempre, ya que la detección depende de la indexación, los metadatos, la compatibilidad del contrato y la integración de la wallet.¿Un token FA2 puede tener metadatos falsos?
Sí. Cualquiera puede crear un contrato con un nombre, símbolo, imagen o descripción engañosos.¿El cumplimiento de FA2 significa que un token es seguro?
No. El cumplimiento demuestra compatibilidad de interfaz, pero no acredita su seguridad, valor, legitimidad ni situación jurídica.¿Un NFT FA2 puede perder su imagen?
Sí. El contenido multimedia almacenado externamente puede dejar de estar disponible si no se conserva o aloja de forma fiable.¿Qué es FA2.1?
FA2.1 es un borrador de evolución de FA2 que propone funciones como eventos, vistas on-chain, autorizaciones limitadas y tickets.¿FA2.1 sustituye automáticamente a FA2?
No. Los contratos FA2 existentes siguen siendo despliegues independientes, y la compatibilidad con las funciones específicas de FA2.1 depende de los estándares y las herramientas actuales.Conclusión
FA2 es el estándar unificado de tokens de Tezos definido por TZIP-12.Proporciona una interfaz común para tokens fungibles, NFT, activos no transferibles, sistemas de tokens híbridos y contratos inteligentes multiactivo.Cada token FA2 se identifica mediante la combinación de la dirección de su contrato y el ID del token.El estándar exige los puntos de entrada transfer, balance_of y update_operators.Su diseño basado en lotes permite gestionar varios movimientos o solicitudes de tokens mediante una sola llamada al contrato.Los permisos de operador permiten que las aplicaciones transfieran tipos de tokens especificados en nombre de sus titulares, pero los usuarios deben revocar los permisos que ya no necesiten.FA2 ofrece a los desarrolladores una flexibilidad considerable para definir políticas de transferencia, reglas de oferta, acuñación, quema, administración y funciones personalizadas.Esa flexibilidad permite atender muchos casos de uso cripto, pero hace imprescindible analizar cada contrato con la debida diligencia.Antes de interactuar con un activo FA2 desconocido, los usuarios deben verificar la dirección del contrato, el ID del token, los metadatos, los controles de oferta, las reglas de transferencia, los permisos de operador, el código fuente y las facultades del administrador.La estandarización FA2 mejora la compatibilidad en el ecosistema Tezos, pero no garantiza que un token sea seguro, valioso, transferible o legítimo.También te puede interesar
ZK-Rollup
ZK-Rollup-as-a-Service
zk-SNARK
POPULAR
Criptomonedas de moda que están acaparando la atención del mercado
Volumen TOP
Las criptomonedas con mayor volumen de trading
Recién Añadidos
Criptomonedas recientemente listadas y disponibles para operar

