Começando com tokens nativos
Pré-requisitos
Esta seção destina-se a usuários avançados que são proficientes com a interface de linha de comando (CLI) do Cardano-node interface de linha de comando (CLI).
Esta seção descreve como:
- criar novas moedas e ativos;
- enviar e enviar transações contendo tokens multi-ativos;
- enviar e receber pacotes de tokens;
- gerenciar seus endereços e valores.
Nota: Usuários que não precisam criar novos ativos ('detentores de token') poderão enviar e receber tokens multi-ativos existentes usando uma carteira como Daedalus ou Yoroi, sem a necessidade de usar comandos CLI.
Para começar, certifique-se de estar familiarizado com a configuração e operação do nó Cardano. Alternativamente, veja as instruções sobre como iniciar seu nó para enviar os comandos. Você não precisará configurar e iniciar um nó de produção de blocos completo (“pool de participação”), apenas um nó de retransmissão muito mais simples. Este nó precisará se conectar a uma rede Cardano capaz de processar tokens nativos (por exemplo, o ambiente de pré-produção de tokens nativos (PPE), ou o Cardano Mainnet uma vez que tenha sido atualizado).
Configurando o cardano-node para ser executado usando cardano-cli
Este documento descreve como interagir com o nó a partir de uma linha de comando bash, mas também é possível baixar e executar o nó como uma imagem docker
, o que exigirá menos configuração do sistema. A imagem docker é input-output/cardano-node
- certifique-se de ter a versão mais recente do nó.
Para configurar o cardano-node para se comunicar com o ambiente de teste público, primeiro compile e instale o nó conforme descrito em https://github.com/input-output-hk/cardano-node, e depois configure sua configuração:
mkdir -p testnet/config
cd testnet
# download and save the configuration files to the config subdirectory
Você pode então usar o seguinte comando no diretório mary-ppe
para iniciar o nó de retransmissão. Observe que você não precisa configurar e executar o nó como um “pool de participação” (nó de produção de blocos):
export CARDANO_NODE_SOCKET_PATH=socket
cardano-node run --topology config/topology.json
--database-path db --config config/config.json --port 3001
--socket-path "$CARDANO_NODE_SOCKET_PATH"
Os arquivos de configuração mais recentes podem ser encontrados aqui. Recomendamos que você baixe todos os arquivos associados ao cluster pre-prod
e os copie para o seu subdiretório config
.
Depois de iniciar o nó, deixe-o em execução em sua própria janela do terminal (ou execute-o em segundo plano se preferir).
Usando o Cardano CLI
Depois que um nó de retransmissão foi configurado, o comando cardano-cli
pode ser usado para interagir com a rede como de costume:
cd testnet
cardano-cli ...
Compreendendo valores
A versão 1.32.1 e posterior do cli do cardano-node não suporta mais nomes de token ASCII, apenas o formato codificado em hexadecimal é suportado. O resultado da execução
$ echo -n "assetName" | xxd -ps
Valores de Lovelace podem ser especificados de duas maneiras:
${quantidade} lovelace
(onde a quantidade é um número inteiro assinado)${quantidade}
(onde a quantidade é um número inteiro assinado)${nomeDoAtivo}
(onde nomeDoAtivo é codificado em hexadecimal 61737365744e616d65)
Valores para outros ativos podem ser especificados como:
${quantidade} ${idDaPolitica}.${nomeDoAtivo}
${quantidade} ${idDaPolitica}
Onde quantidade
é um número inteiro assinado e idDaPolitica
é um ID de política codificado em hexadecimal [um hash de script]), e nomeDoAtivo
é um nome de ativo codificado em hexadecimal.
Sintaxe de valores multi-ativos
O cardano-cli
pode especificar valores multi-ativos em saídas de transação e ao cunhar ou queimar tokens. A sintaxe desses valores foi projetada para ser compatível com versões anteriores que suportavam apenas ada (endereço+lovelace
):
- valores ada são definidos como lovelace inteiro (INT), por exemplo,
42 lovelace
- valores multi-ativos podem ser definidos como:
INT idDaPolitica.nomeDoAtivo
, por exemplo,42 $IDDAPOlITICA.61737365744e616d65
INT idDaPolitica
, por exemplo,42 $IDDAPOlITICA
(Nenhum nomeDoAtivo especificado)idDaPolitica.nomeDoAtivo
, por exemplo$IDDAPOlITICA.61737365744e616d65
(Isso cunhará apenas um dosnomeDoAtivo
)
- Múltiplos ativos podem ser combinados no mesmo valor multi-ativo usando o operador
+
, por exemplo:
100 lovelace + 42 $IDDAPOlITICA.666f6f + -2 $IDDAPOlITICA.626172 + 10 lovelace
Negando valores individuais
Qualquer valor individual pode ser negado usando o operador de prefixo -
. Por exemplo:
-42 $IDDAPOlITICA
-72191 $IDDAPOlITICA.666f6f
-100
-920 lovelace
Combinando valores individuais
Valores podem ser combinados usando o operador binário +
. Por exemplo:
42 lovelace + -1 (isso resultaria em um valor de 41 lovelace)
20 $IDDAPOlITICA.666f6f + 1 (isso resultaria em um valor de 21 $IDDAPOlITICA.666f6f)
-3 $IDDAPOlITICA.626172 + 10 lovelace (isso resultaria em um valor de -3 $IDDAPOlITICA.626172 + 10 lovelace)
-3 $IDDAPOlITICA.626172 + 10 lovelace + -1 $IDDAPOlITICA.666f6f (isso resultaria em um valor de -3 $IDDAPOlITICA.626172 + 10 lovelace + -1 $IDDAPOlITICA.666f6f)
Nota: A soma de dois valores resultará em um novo valor contendo todos os tokens do lado esquerdo e direito da soma. Se um token existir nos dois lados da soma, o valor resultante será a soma dos montantes dos dois tokens. Se um token existir apenas em um lado da soma, o valor resultante incluirá o token. Se um token for negado em um dos lados da soma, ele será removido do valor resultante. Se um token for negado em um dos lados da soma e for adicionado no outro lado da soma, o token será removido do valor resultante.
Comandos básicos
Aqui estão alguns comandos básicos do cardano-cli
que você pode usar para começar:
address
: gere novos endereçostransaction
: construa e assine transaçõesstake-address
: gere chaves e endereços para delegaçãonode
: interaja com o nóquery
: consulte a blockchain
Estes comandos são detalhados na Referência CLI do cardano-node.