ERC-1155 Fluxo de Tokenização

Depois de implantar um projeto de token ERC-1155, os administradores de token e os proprietários de token seguem um fluxo típico para criar tokens e concluir operações de ciclo de vida.

Quando você implanta um projeto de token, os usuários na lista passados para o método de inicialização se tornam administradores de token do chaincode. Após a implantação, o fluxo típico para criar tokens e concluir operações de ciclo de vida segue estas etapas:

Operações de administrador de token:

  • Crie contas de usuário para qualquer pessoa que possua tokens ou conclua operações relacionadas a token.
  • Para cada conta de usuário, crie contas de token. Os usuários podem ter várias contas de token fungíveis, mas apenas uma conta de token não fungível (NFT). Os administradores de token podem usar o método createAccount para criar contas de usuário e token simultaneamente, em vez de separadamente.
  • Crie tokens fungíveis, conforme necessário. Ao inicializar um token fungível, você pode designar os metadados e comportamentos associados ao token.
  • Para tokens fungíveis, associe as contas de token fungíveis dos usuários a tokens fungíveis específicos.
  • Adicione funções de minerador e gravador às contas de token dos usuários conforme necessário.

Operações do proprietário do token:

  • Os usuários que têm a função de minerador para um token específico podem criar NFTs (mint) ou tokens fungíveis.
  • Os usuários podem transferir tokens entre contas e verificar saldos de contas.
  • Os usuários que têm a função de queimador para um token específico podem destruir (queimar) NFTs ou tokens fungíveis.

Operações do Vault Manager:

  • O usuário que tem a função de vault pode bloquear NFTs. Um NFT bloqueado não pode ser gravado ou transferido para outros usuários.

O diagrama a seguir mostra o fluxo geral do processo para um cenário de tokenização ERC-1155.
Fluxo de processo para cenário de tokenização ERC-1155

A tabela a seguir resume os métodos gerados automaticamente quando você organiza um projeto de token ERC-1155.

Categoria do Método Método gerado automaticamente (TypeScript) Método gerado automaticamente (Ir) Chamado por Descrição
Gerenciamento de Administrador init Init Administração Inicializa o chaincode do token
isTokenAdmin IsTokenAdmin Administração Retorna verdadeiro se o chamador for um Administrador
addTokenAdmin AddTokenAdmin Administração Adiciona um Administrador
removeTokenAdmin RemoveTokenAdmin Administração Remove um Administrador
getAllTokenAdmins GetAllTokenAdmins Administração Retorna todos os Administradores
Gerenciamento de Contas createAccount CreateAccount Administração Cria uma conta de usuário e contas de token
createUserAccount CreateUserAccount Administração Cria uma conta de usuário
createTokenAccount CreateTokenAccount Administração Cria uma conta de token
associateFungibleTokenAccount AssociateFungibleTokenAccount Administração Associa uma conta de token fungível a um token fungível
getAccountHistory GetAccountHistory Admin / Proprietário da Conta Retorna o histórico de uma conta de token
getAccountTransactionHistory GetAccountTransactionHistory Admin / Proprietário da Conta Retorna o histórico de transações de uma conta
getAccount GetAccount Admin / Proprietário da Conta Retorna detalhes de uma conta de token
getAllAccounts GetAllAccounts Administração Retorna detalhes de todas as contas de usuário
getAccountDetailsByUser GetAccountDetailsByUser Admin / Proprietário da Conta Retorna detalhes de uma conta de usuário e todos os tokens associados
getUserByAccountId GetUserByAccountId Qualquer usuário Retorna detalhes do usuário para um ID de conta
Gerenciamento de Atribuições addRole AddRole Administração Adiciona uma atribuição a um usuário e token
isInRole IsInRole Admin / Proprietário da Conta Retorna se um usuário tem uma atribuição especificada para um token
removeRole RemoveRole Administração Remove uma atribuição de um usuário e token
getAccountsByRole GetAccountsByRole Administração Retorna IDs de conta para uma função e token especificados
getUsersByRole GetUsersByRole Administração Retorna uma lista de usuários para uma atribuição e um token especificados
Comportamento Mintable mintBatch MintBatch Usuários com a atribuição de minter Menta vários tokens
Comportamento Transferível batchTransferFrom BatchTransferFrom Qualquer usuário Transfere tokens entre usuários
safeBatchTransferFrom SafeBatchTransferFrom Qualquer usuário Transfere tokens entre o chamador do método e outro usuário
balanceOfBatch BalanceOfBatch Admin / Proprietário da Conta Retorna saldos de conta de token para vários usuários e tokens
exchangeToken ExchangeToken Proprietário da Conta Troca tokens entre contas de token
Comportamento Queimável burnBatch BurnBatch Usuários com a função de queimador Grava tokens
Gerenciamento de tokens create<Token Name>Token Create<Token Name>Token Admin (tokens fungíveis) / Usuários com a função de minerador (NFTs) Cria tokens
update<Token Name>Token Update<Token Name>Token Admin (tokens fungíveis) / Proprietário do Token (NFTs) Atualiza tokens
getTokenHistory GetTokenHistory Qualquer usuário Retorna o histórico de um token
getTransactionById GetTransactionById Qualquer usuário Retorna os detalhes de uma transação especificada
deleteHistoricalTransactions DeleteHistoricalTransactions Administração Exclui transações antes de um horário especificado
getAllTokens GetAllTokens Administração Retorna todos os ativos de token
getTokenById GetTokenById Administrador/Proprietário do token Retorna um token
getAllTokensByUser GetAllTokensByUser Admin / Proprietário da Conta Retorna todos os tokens pertencentes a um usuário especificado
ownerOf OwnerOf Qualquer usuário Retorna os detalhes do usuário do proprietário de um token especificado
URI URI Qualquer usuário Retorna o URI de um token especificado
name Name Qualquer usuário Retorna o nome de um determinado token
totalSupply TotalSupply Administração Retorna o número de tokens cunhados para um token especificado
totalNetSupply TotalNetSupply Administração Retorna o número de tokens cunhados menos o número de tokens gravados para um token especificado
getTokensByName getTokensByName Administração Retorna todos os ativos de token para um nome de token especificado
getTokenDecimal getTokenDecimal Administração Retorna o número de casas decimais para um token especificado