第3课

Comprender un contrato FA1.2

Bienvenido a la tercera lección de nuestro curso de tokenización. Una vez implementado el contrato de token completo, analicemos el código del contrato y comprendamos los diferentes elementos. Esta lección tiene como objetivo brindarle una comprensión profunda de cómo se construye un contrato de token FA1.2.

1. Contrato de administración

La clase de contrato Admin en nuestro contrato token es responsable de definir los privilegios administrativos. Incluye un único punto de entrada: setAdministrator. Este punto de entrada permite al administrador actual asignar un nuevo administrador.

Python 
 clase Admin(sp.Contract): 
 def __init__(self, administrador): 
 self.init(administrator=administrator)

    @sp.entrypointdef setAdministrator(self, params): 
 sp.verify(sp.sender == self.data.administrator)
        administrador.de.auto.datos = parámetros

La función setAdministrator verifica que solo el administrador actual pueda ejecutar esta función. Si la verificación falla, la operación se rechaza. Si pasa, la función procede a asignar el nuevo administrador.

2. Pausar contrato

La clase de contrato Pause proporciona un mecanismo para pausar y reanudar las operaciones del contrato. Incluye un punto de entrada setPause que puede cambiar el estado de pausa del contrato.

Python 
 clase Pausa(sp.Contract): 
 def __init__(self): 
 self.init(paused=False)

    @sp.entrypointdef setPause(self, params): 
 sp.verify(sp.sender == self.data.administrator)
        self.data.paused = parámetros

La función setPause primero verifica que la operación la realice el administrador. Si se aprueba la verificación, se actualiza el estado de pausa del contrato.

3. Contrato de menta

La clase de contrato Mint permite aumentar el suministro de tokens. Viene con un punto de entrada mint que aumenta el suministro total y actualiza el saldo de una dirección en particular.

Python 
 clase Mint(sp.Contract): 
 @sp.entrypointdef mint(self, params): 
 sp.verify(sp.sender == self.data.administrator)
        self.data.total_supply += params.value 
 self.data.balances[params.address].balance += parámetros.valor

La función mint primero verifica que el remitente sea el administrador. Luego, aumenta la oferta total y el saldo de la dirección especificada.

4. Contrato de quema

La clase de contrato Burn sirve para disminuir el suministro de tokens. Tiene un punto de entrada burn que reduce el suministro total y el saldo de una dirección específica.

Python 
 clase Burn(sp.Contract): 
 @sp.entrypointdef burn(self, params): 
 sp.verify(sp.sender == self.data.administrator)
        self.data.total_supply -= params.valor 
 self.data.balances[params.address].balance -= parámetros.valor

La función burn funciona de manera similar a la función mint , pero en su lugar disminuye el suministro total y el saldo de la dirección especificada.

Con el siguiente código, el administrador quema el token de Bob

Python 
 sc.h2("El administrador quema el token de Bob") 
 c1.burn(dirección=bob.address, valor=1).run(remitente=admin)

5. Contrato de cambio de metadatos

La clase de contrato ChangeMetadata sirve para actualizar los metadatos del contrato. Incluye una función update_metadata que actualiza un par clave-valor en los metadatos.

Python 
 clase ChangeMetadata(sp.Contract): 
 @sp.entrypointdef update_metadata(self, key, value): 
 sp.verify(sp.sender == self.data.administrator)
        self.data.metadatos[clave] = valor

La función update_metadata , similar a las funciones anteriores, verifica que el remitente sea el administrador. Luego, actualiza el par clave-valor especificado en los metadatos.

En la siguiente lección profundizaremos en el contrato final que incluye todas estas funcionalidades, Fa1_2TestFull. Aprenderemos cómo este contrato hereda de todas las clases que analizamos hoy y cómo contribuyen todas a la funcionalidad del token. ¡Manténganse al tanto!

免责声明
* 投资有风险,入市须谨慎。本课程不作为投资理财建议。
* 本课程由入驻Gate Learn的作者创作,观点仅代表作者本人,绝不代表Gate Learn赞同其观点或证实其描述。
目录
第3课

Comprender un contrato FA1.2

Bienvenido a la tercera lección de nuestro curso de tokenización. Una vez implementado el contrato de token completo, analicemos el código del contrato y comprendamos los diferentes elementos. Esta lección tiene como objetivo brindarle una comprensión profunda de cómo se construye un contrato de token FA1.2.

1. Contrato de administración

La clase de contrato Admin en nuestro contrato token es responsable de definir los privilegios administrativos. Incluye un único punto de entrada: setAdministrator. Este punto de entrada permite al administrador actual asignar un nuevo administrador.

Python 
 clase Admin(sp.Contract): 
 def __init__(self, administrador): 
 self.init(administrator=administrator)

    @sp.entrypointdef setAdministrator(self, params): 
 sp.verify(sp.sender == self.data.administrator)
        administrador.de.auto.datos = parámetros

La función setAdministrator verifica que solo el administrador actual pueda ejecutar esta función. Si la verificación falla, la operación se rechaza. Si pasa, la función procede a asignar el nuevo administrador.

2. Pausar contrato

La clase de contrato Pause proporciona un mecanismo para pausar y reanudar las operaciones del contrato. Incluye un punto de entrada setPause que puede cambiar el estado de pausa del contrato.

Python 
 clase Pausa(sp.Contract): 
 def __init__(self): 
 self.init(paused=False)

    @sp.entrypointdef setPause(self, params): 
 sp.verify(sp.sender == self.data.administrator)
        self.data.paused = parámetros

La función setPause primero verifica que la operación la realice el administrador. Si se aprueba la verificación, se actualiza el estado de pausa del contrato.

3. Contrato de menta

La clase de contrato Mint permite aumentar el suministro de tokens. Viene con un punto de entrada mint que aumenta el suministro total y actualiza el saldo de una dirección en particular.

Python 
 clase Mint(sp.Contract): 
 @sp.entrypointdef mint(self, params): 
 sp.verify(sp.sender == self.data.administrator)
        self.data.total_supply += params.value 
 self.data.balances[params.address].balance += parámetros.valor

La función mint primero verifica que el remitente sea el administrador. Luego, aumenta la oferta total y el saldo de la dirección especificada.

4. Contrato de quema

La clase de contrato Burn sirve para disminuir el suministro de tokens. Tiene un punto de entrada burn que reduce el suministro total y el saldo de una dirección específica.

Python 
 clase Burn(sp.Contract): 
 @sp.entrypointdef burn(self, params): 
 sp.verify(sp.sender == self.data.administrator)
        self.data.total_supply -= params.valor 
 self.data.balances[params.address].balance -= parámetros.valor

La función burn funciona de manera similar a la función mint , pero en su lugar disminuye el suministro total y el saldo de la dirección especificada.

Con el siguiente código, el administrador quema el token de Bob

Python 
 sc.h2("El administrador quema el token de Bob") 
 c1.burn(dirección=bob.address, valor=1).run(remitente=admin)

5. Contrato de cambio de metadatos

La clase de contrato ChangeMetadata sirve para actualizar los metadatos del contrato. Incluye una función update_metadata que actualiza un par clave-valor en los metadatos.

Python 
 clase ChangeMetadata(sp.Contract): 
 @sp.entrypointdef update_metadata(self, key, value): 
 sp.verify(sp.sender == self.data.administrator)
        self.data.metadatos[clave] = valor

La función update_metadata , similar a las funciones anteriores, verifica que el remitente sea el administrador. Luego, actualiza el par clave-valor especificado en los metadatos.

En la siguiente lección profundizaremos en el contrato final que incluye todas estas funcionalidades, Fa1_2TestFull. Aprenderemos cómo este contrato hereda de todas las clases que analizamos hoy y cómo contribuyen todas a la funcionalidad del token. ¡Manténganse al tanto!

免责声明
* 投资有风险,入市须谨慎。本课程不作为投资理财建议。
* 本课程由入驻Gate Learn的作者创作,观点仅代表作者本人,绝不代表Gate Learn赞同其观点或证实其描述。