Primeiro, volte para o IDE online SmartPy onde temos o nosso contrato. Vai notar um botão 'Compilar' no topo da página. Clique neste botão para compilar o contrato em Michelson, a linguagem de baixo nível que a cadeia de blocos Tezos entende.
Após a compilação, um botão 'Implantar Contrato Michelson' aparecerá na parte inferior da página. Clique aqui para iniciar o processo de implementação.
Será levado para a página de implementação, onde poderá selecionar a rede na qual implementar o contrato. Para este tutorial, escolha 'Testnet'. Recomenda-se testar sempre os seus contratos na rede de teste antes de implementá-los na rede principal.
Vai precisar de uma carteira Tezos para pagar a implantação. Se não tiver uma carteira testnet, existem várias torneiras online disponíveis onde pode obter o testnet XTZ para esse fim. (visite aqui)
Existem poucas carteiras de extensão de navegador suportadas
Depois de criar a sua carteira Tezos, pode solicitar tokens de torneira testnet aqui conectando a sua carteira através do navegador.
Depois de selecionar a rede testnet, introduza o seu endereço testnet Tezos e a sua chave privada. Certifique-se de manter a sua chave privada segura e protegida! Clique no botão 'Implantar' para implementar o contrato.
Uma caixa de diálogo aparecerá com informações sobre a operação. Se tudo estiver correto, confirme a operação. O contrato será implantado na rede de teste Tezos. Este processo pode demorar alguns minutos.
Assim que o contrato for implementado com sucesso, receberá uma morada do contrato. Guarde este endereço, pois precisará dele para interagir com o seu contrato.
Agora que o contrato está implementado, pode interagir com ele usando o recurso 'Contract Interactions' no IDE SmartPy.
Navegue até a página 'Interações de Contrato' e introduza o endereço do seu contrato implementado.
A interface exibirá os pontos de entrada do contrato, que pode usar para interagir com o contrato.
Para ligar para um ponto de entrada de contrato, clique no seu nome, preencha os parâmetros necessários e clique em 'Executar'.
Por exemplo, para cunhar novos tokens, seleccione o ponto de entrada 'Mint', introduza o endereço do destinatário e o número de fichas a cunhar e clique em 'Executar'.
Se a operação for bem sucedida, os tokens serão cuntados e adicionados ao saldo do destinatário. Pode verificar isto consultando o saldo do endereço do destinatário.
Lembre-se que interagir com um contrato na blockchain envolve o pagamento de taxas de gás, portanto, certifique-se de que tem saldo suficiente na sua carteira.
No nosso contrato de exemplo, o nome do token é definido quando iniciamos o cenário de teste na função test ()
. Está incluído como parte do mapa token_metadata
:
Python
token_metadados = {
"decimals": sp.utils.bytes_of_string("18"), # Mandatory by the spec
"name": sp.utils.bytes_of_string("My Great Token"), # Recommended
"symbol": sp.utils.bytes_of_string("MGT"), # Recommended
# Extra fields
"icon": sp.utils.bytes_of_string(
"https://smartpy.io/static/img/logo-only.svg"
),
}
Aqui, “My Great Token” é o nome inicial do token. Para definir um nome diferente para o seu token, basta substituí-lo pelo nome desejado. Por exemplo, se quisermos nomear o nosso token “GateLearn”, modificaríamos o código da seguinte forma:
Python
token_metadados = {
"decimals": sp.utils.bytes_of_string("18"), # Mandatory by the spec
"name": sp.utils.bytes_of_string("GateLearn"), # Recommended
"symbol": sp.utils.bytes_of_string("GL"), # Recommended
# Extra fields
"icon": sp.utils.bytes_of_string(
"https://smartpy.io/static/img/logo-only.svg"
),
}
Ao fazer isso, o nosso contrato criará agora tokens chamados “GateLearn”. Este nome será representado como uma string de bytes no contrato e será exibido em aplicativos que interagem com o nosso contrato e suportam o padrão FA1.2. É crucial notar que o nome do token, juntamente com outros detalhes incluídos no mapa token_metadata
, estão definidos na implementação do contrato. Uma vez implementado o contrato, não pode ser alterado a menos que tenha implementado funções no seu contrato para permitir tais modificações.
Primeiro, volte para o IDE online SmartPy onde temos o nosso contrato. Vai notar um botão 'Compilar' no topo da página. Clique neste botão para compilar o contrato em Michelson, a linguagem de baixo nível que a cadeia de blocos Tezos entende.
Após a compilação, um botão 'Implantar Contrato Michelson' aparecerá na parte inferior da página. Clique aqui para iniciar o processo de implementação.
Será levado para a página de implementação, onde poderá selecionar a rede na qual implementar o contrato. Para este tutorial, escolha 'Testnet'. Recomenda-se testar sempre os seus contratos na rede de teste antes de implementá-los na rede principal.
Vai precisar de uma carteira Tezos para pagar a implantação. Se não tiver uma carteira testnet, existem várias torneiras online disponíveis onde pode obter o testnet XTZ para esse fim. (visite aqui)
Existem poucas carteiras de extensão de navegador suportadas
Depois de criar a sua carteira Tezos, pode solicitar tokens de torneira testnet aqui conectando a sua carteira através do navegador.
Depois de selecionar a rede testnet, introduza o seu endereço testnet Tezos e a sua chave privada. Certifique-se de manter a sua chave privada segura e protegida! Clique no botão 'Implantar' para implementar o contrato.
Uma caixa de diálogo aparecerá com informações sobre a operação. Se tudo estiver correto, confirme a operação. O contrato será implantado na rede de teste Tezos. Este processo pode demorar alguns minutos.
Assim que o contrato for implementado com sucesso, receberá uma morada do contrato. Guarde este endereço, pois precisará dele para interagir com o seu contrato.
Agora que o contrato está implementado, pode interagir com ele usando o recurso 'Contract Interactions' no IDE SmartPy.
Navegue até a página 'Interações de Contrato' e introduza o endereço do seu contrato implementado.
A interface exibirá os pontos de entrada do contrato, que pode usar para interagir com o contrato.
Para ligar para um ponto de entrada de contrato, clique no seu nome, preencha os parâmetros necessários e clique em 'Executar'.
Por exemplo, para cunhar novos tokens, seleccione o ponto de entrada 'Mint', introduza o endereço do destinatário e o número de fichas a cunhar e clique em 'Executar'.
Se a operação for bem sucedida, os tokens serão cuntados e adicionados ao saldo do destinatário. Pode verificar isto consultando o saldo do endereço do destinatário.
Lembre-se que interagir com um contrato na blockchain envolve o pagamento de taxas de gás, portanto, certifique-se de que tem saldo suficiente na sua carteira.
No nosso contrato de exemplo, o nome do token é definido quando iniciamos o cenário de teste na função test ()
. Está incluído como parte do mapa token_metadata
:
Python
token_metadados = {
"decimals": sp.utils.bytes_of_string("18"), # Mandatory by the spec
"name": sp.utils.bytes_of_string("My Great Token"), # Recommended
"symbol": sp.utils.bytes_of_string("MGT"), # Recommended
# Extra fields
"icon": sp.utils.bytes_of_string(
"https://smartpy.io/static/img/logo-only.svg"
),
}
Aqui, “My Great Token” é o nome inicial do token. Para definir um nome diferente para o seu token, basta substituí-lo pelo nome desejado. Por exemplo, se quisermos nomear o nosso token “GateLearn”, modificaríamos o código da seguinte forma:
Python
token_metadados = {
"decimals": sp.utils.bytes_of_string("18"), # Mandatory by the spec
"name": sp.utils.bytes_of_string("GateLearn"), # Recommended
"symbol": sp.utils.bytes_of_string("GL"), # Recommended
# Extra fields
"icon": sp.utils.bytes_of_string(
"https://smartpy.io/static/img/logo-only.svg"
),
}
Ao fazer isso, o nosso contrato criará agora tokens chamados “GateLearn”. Este nome será representado como uma string de bytes no contrato e será exibido em aplicativos que interagem com o nosso contrato e suportam o padrão FA1.2. É crucial notar que o nome do token, juntamente com outros detalhes incluídos no mapa token_metadata
, estão definidos na implementação do contrato. Uma vez implementado o contrato, não pode ser alterado a menos que tenha implementado funções no seu contrato para permitir tais modificações.