Pular para o conteúdo

Transações de Cunhagem

Por volta de 1 min

A capacidade de criar e gerenciar tokens personalizados é uma das características distintivas da blockchain Cardano. Cunhagem refere-se ao processo de 'produção de novos tokens, seja como parte de uma oferta inicial de moedas (ICO) ou emissão contínua de tokens'. As transações de cunhagem permitem que os usuários gerem ou queimem tokens de acordo com regras predefinidas. Este tutorial explora os detalhes das transações de cunhagem na Cardano.

Considere um cenário em que Bob deseja dar a Alice um token, mas apenas Bob tem a autoridade de cunhagem para esse token. Para alcançar isso, Bob precisa criar um script que define as regras de cunhagem e queima. Existem duas abordagens para realizar isso: usando scripts de política Plutus ou scripts de múltiplas assinaturas simples. Neste caso, o tutorial sugere usar um script de múltiplas assinaturas simples, pois a regra é direta: apenas Bob pode cunhar o token.

Antes de começar, certifique-se de ter todos os componentes necessários prontos. Primeiro, você precisa gerar novas chaves para o próprio script. O processo para obter chaves de script é o seguinte:

$ cardano-cli address key-gen
--verification-key-file transactions-tutorial-policy/policy.vkey
--signing-key-file transactions-tutorial-policy/policy.skey

Antes de criar o script, você precisa obter o hash da chave das novas chaves:

{
“keyHash”: “8ebd5f9c84fc25ae4506c7d0b687b2f7e82fe3f891036833e7f25c9b”,
“type”: “sig”
}

Você pode obter o PolicyId com o seguinte comando:

$ cardano-cli transaction policyid
--script-file transactions-tutorial-policy/policy.script
C38b0924e32e677f7787f0a0247b177588ec135db927688d8a63310a

Também é útil armazená-lo em uma variável de ambiente:

export TOKEN_NAME=54657374546F6B656E

Construa a transação:

cardano-cli transaction build
--tx-in f947f84f1156995afd695247a8dc8a508fd40d371ce0afb801029769a0104874#0
--mint "1 $(echo $POLICY_ID).$(echo $TOKEN_NAME)"
--testnet-magic 1
--change-address $(cat bob.addr)
--mint-script-file ../cardano/transactions-tutorial-policy/policy.script
--out-file minting.tx
--tx-out "$(cat alice.addr)+1047330+1 $(echo $POLICY_ID).$(echo $TOKEN_NAME)"
Última atualização:
Contribuidores: cauechianca