第3課

Noções básicas sobre um contrato FA1.2

Bem-vindo à terceira lição do nosso curso de tokenização. Tendo implantado o contrato de token completo, vamos quebrar o código do contrato e entender os diferentes elementos. Esta lição tem como objetivo dar-lhe uma compreensão profunda de como um contrato de token FA1.2 é construído.

1. Contrato de administrador

A classe de contrato de administrador no nosso contrato de token é responsável pela definição de privilégios administrativos. Inclui um único ponto de entrada: SetAdministrator. Este ponto de entrada permite que o administrador atual atribua um novo administrador.

Python
classe Admin (SP.Contract):
 def __init__(auto, administrador):
 self.init (administrador=administrador)

    @sp .entrypointdef setAdministrator (self, parâmetros):
 sp.verify (sp.sender == self.data.administrator)
        auto.data.administrador = parâmetros

A função SetAdministrator verifica se apenas o administrador atual pode executar esta função. Se a verificação falhar, a operação é rejeitada. Se passar, a função passa a atribuir o novo administrador.

2. Pausar o Contrato

A classe de contrato Pause fornece um mecanismo para pausar e desfazer as operações do contrato. Inclui um ponto de entrada SetPause que pode alterar o estado de pausa do contrato.

Python
classe Pausa (SP.Contract):
 def __init__(self):
 self.init (paused=False)

    @sp .entrypointdef setPause (self, parâmetros):
 sp.verify (sp.sender == self.data.administrator)
        self.data.pause=parâmetros

A função setPause primeiro verifica se a operação é executada pelo administrador. Se o cheque passar, atualiza o estado de pausa do contrato.

3. Contrato de Mint

A classe contratual Mint permite aumentar o fornecimento de tokens. Vem com um ponto de entrada da casa da moeda que aumenta a oferta total e atualiza o saldo de um determinado endereço.

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

A função mint primeiro verifica se o remetente é o administrador. Depois, aumenta a oferta total e o saldo do endereço especificado.

4. Gravar Contrato

A classe de contrato Burn é para diminuir o fornecimento de token. Tem um ponto de entrada de queima que reduz a oferta total e o saldo de um endereço específico.

Python
classe Burn (SP.Contract):
 @sp .entrypointdef burn (self, params):
 sp.verify (sp.sender == self.data.administrator)
        self.data.total_supply -= params.value
 self.data.balances [params.address] .balance -= params.value

A função de gravação funciona de forma semelhante à função mint mas diminui a oferta total e o saldo do endereço especificado.

Com o código a seguir, o administrador queima o token Bob

Python
 sc.h2 (O " administrador queima o token Bob) "
 c1.burn (endereço=bob.address, valor=1) .run (remetente = administrador)

5. Alterar Contrato de metadados

A classe de contrato ChangeMetaData é para atualizar os metadados do contrato. Inclui uma função update_metadata que actualiza um par chave-valor nos metadados.

Python
metadados de alteração de classe (SP.Contract):
 @sp .entrypointdef update_metadata (self, chave, valor):
 sp.verify (sp.sender == self.data.administrator)
        self.data.metadata [chave] = valor

A função update_metadata, semelhante às funções anteriores, verifica se o remetente é o administrador. Em seguida, atualiza o par chave-valor especificado nos metadados.

Na próxima lição, vamos nos aprofundar no contrato final que inclui todas estas funcionalidades, FA1_2TestFull. Vamos aprender como este contrato herda de todas as classes que discutimos hoje e como todas contribuem para a funcionalidade do token. Fiquem atentos!

免責聲明
* 投資有風險,入市須謹慎。本課程不作為投資理財建議。
* 本課程由入駐Gate Learn的作者創作,觀點僅代表作者本人,絕不代表Gate Learn讚同其觀點或證實其描述。
目錄
第3課

Noções básicas sobre um contrato FA1.2

Bem-vindo à terceira lição do nosso curso de tokenização. Tendo implantado o contrato de token completo, vamos quebrar o código do contrato e entender os diferentes elementos. Esta lição tem como objetivo dar-lhe uma compreensão profunda de como um contrato de token FA1.2 é construído.

1. Contrato de administrador

A classe de contrato de administrador no nosso contrato de token é responsável pela definição de privilégios administrativos. Inclui um único ponto de entrada: SetAdministrator. Este ponto de entrada permite que o administrador atual atribua um novo administrador.

Python
classe Admin (SP.Contract):
 def __init__(auto, administrador):
 self.init (administrador=administrador)

    @sp .entrypointdef setAdministrator (self, parâmetros):
 sp.verify (sp.sender == self.data.administrator)
        auto.data.administrador = parâmetros

A função SetAdministrator verifica se apenas o administrador atual pode executar esta função. Se a verificação falhar, a operação é rejeitada. Se passar, a função passa a atribuir o novo administrador.

2. Pausar o Contrato

A classe de contrato Pause fornece um mecanismo para pausar e desfazer as operações do contrato. Inclui um ponto de entrada SetPause que pode alterar o estado de pausa do contrato.

Python
classe Pausa (SP.Contract):
 def __init__(self):
 self.init (paused=False)

    @sp .entrypointdef setPause (self, parâmetros):
 sp.verify (sp.sender == self.data.administrator)
        self.data.pause=parâmetros

A função setPause primeiro verifica se a operação é executada pelo administrador. Se o cheque passar, atualiza o estado de pausa do contrato.

3. Contrato de Mint

A classe contratual Mint permite aumentar o fornecimento de tokens. Vem com um ponto de entrada da casa da moeda que aumenta a oferta total e atualiza o saldo de um determinado endereço.

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

A função mint primeiro verifica se o remetente é o administrador. Depois, aumenta a oferta total e o saldo do endereço especificado.

4. Gravar Contrato

A classe de contrato Burn é para diminuir o fornecimento de token. Tem um ponto de entrada de queima que reduz a oferta total e o saldo de um endereço específico.

Python
classe Burn (SP.Contract):
 @sp .entrypointdef burn (self, params):
 sp.verify (sp.sender == self.data.administrator)
        self.data.total_supply -= params.value
 self.data.balances [params.address] .balance -= params.value

A função de gravação funciona de forma semelhante à função mint mas diminui a oferta total e o saldo do endereço especificado.

Com o código a seguir, o administrador queima o token Bob

Python
 sc.h2 (O " administrador queima o token Bob) "
 c1.burn (endereço=bob.address, valor=1) .run (remetente = administrador)

5. Alterar Contrato de metadados

A classe de contrato ChangeMetaData é para atualizar os metadados do contrato. Inclui uma função update_metadata que actualiza um par chave-valor nos metadados.

Python
metadados de alteração de classe (SP.Contract):
 @sp .entrypointdef update_metadata (self, chave, valor):
 sp.verify (sp.sender == self.data.administrator)
        self.data.metadata [chave] = valor

A função update_metadata, semelhante às funções anteriores, verifica se o remetente é o administrador. Em seguida, atualiza o par chave-valor especificado nos metadados.

Na próxima lição, vamos nos aprofundar no contrato final que inclui todas estas funcionalidades, FA1_2TestFull. Vamos aprender como este contrato herda de todas as classes que discutimos hoje e como todas contribuem para a funcionalidade do token. Fiquem atentos!

免責聲明
* 投資有風險,入市須謹慎。本課程不作為投資理財建議。
* 本課程由入駐Gate Learn的作者創作,觀點僅代表作者本人,絕不代表Gate Learn讚同其觀點或證實其描述。