ERC-1155 - Flux de segmentation en jetons

Après le déploiement d'un projet de jeton ERC-1155, les administrateurs de jeton et les propriétaires de jeton suivent un flux standard pour la création de jetons et l'exécution des opérations de cycle de vie.

Lorsque vous déployez un projet de jeton, les utilisateurs de la liste transmise à la méthode d'initialisation deviennent administrateurs de jeton du code chaîne. Après le déploiement, le flux standard de création de jetons et d'exécution des opérations de cycle de vie suit les étapes suivantes :

Opérations d'administrateur de jetons :

  • Créez des comptes utilisateur pour toute personne qui possédera des jetons ou effectuera des opérations liées aux jetons.
  • Pour chaque compte utilisateur, créez des comptes de jeton. Les utilisateurs peuvent avoir plusieurs comptes de jetons fongibles, mais un seul compte de jetons non fongibles (NFT). Les administrateurs de jeton peuvent utiliser la méthode createAccount pour créer des comptes utilisateur et de jeton simultanément au lieu de séparément.
  • Créez des jetons fongibles, si nécessaire. Lorsque vous initialisez un jeton fongible, vous pouvez lui affecter les métadonnées et les comportements associés.
  • Pour les jetons fongibles, associez les comptes de jetons fongibles des utilisateurs à des jetons fongibles spécifiques.
  • Ajoutez les rôles minter et burner aux comptes de jetons des utilisateurs si nécessaire.

Opérations de propriétaire de jeton :

  • Les utilisateurs qui ont le rôle de mineur pour un jeton spécifique peuvent créer (mint) des NFT ou des jetons fongibles.
  • Les utilisateurs peuvent transférer des jetons entre les comptes et vérifier les soldes des comptes.
  • Les utilisateurs qui ont le rôle de brûleur pour un jeton spécifique peuvent détruire (brûler) les NFT ou les jetons fongibles.

Opérations du gestionnaire de coffre :

  • L'utilisateur qui dispose du rôle de coffre-fort peut verrouiller les NFT. Un NFT verrouillé ne peut pas être gravé ou transféré à d'autres utilisateurs.

Le diagramme suivant présente le flux de processus global pour un scénario de création de jetons ERC-1155.
Flux de processus pour le scénario de tokenisation ERC-1155

Le tableau suivant récapitule les méthodes qui sont générées automatiquement lorsque vous échafaudez un projet de jeton ERC-1155.

Catégorie de méthode Méthode générée automatiquement (TypeScript) Méthode générée automatiquement (OK) Appelé par Description
Gestion de l'administration init Init Administrateur Initialise le code chaîne de jeton
isTokenAdmin IsTokenAdmin Administrateur Renvoie True si l'appelant est un administrateur
addTokenAdmin AddTokenAdmin Administrateur Ajoute un administrateur
removeTokenAdmin RemoveTokenAdmin Administrateur Enlève un administrateur
getAllTokenAdmins GetAllTokenAdmins Administrateur Renvoie tous les administrateurs
Gestion des comptes createAccount CreateAccount Administrateur Crée un compte utilisateur et des comptes de jeton
createUserAccount CreateUserAccount Administrateur Crée un compte utilisateur
createTokenAccount CreateTokenAccount Administrateur Crée un compte de jeton
associateFungibleTokenAccount AssociateFungibleTokenAccount Administrateur Associe un compte de jeton fongible à un jeton fongible
getAccountHistory GetAccountHistory Admin / Titulaire du compte Renvoie l'historique d'un compte de jeton
getAccountTransactionHistory GetAccountTransactionHistory Admin / Titulaire du compte Renvoie l'historique des transactions pour un compte
getAccount GetAccount Admin / Titulaire du compte Renvoie les détails d'un compte de jeton
getAllAccounts GetAllAccounts Administrateur Renvoie les détails de tous les comptes utilisateur
getAccountDetailsByUser GetAccountDetailsByUser Admin / Titulaire du compte Renvoie les détails d'un compte utilisateur et de tous les jetons associés
getUserByAccountId GetUserByAccountId Tout utilisateur Renvoie les détails de l'utilisateur pour un ID compte
Gestion des rôles addRole AddRole Administrateur Ajoute un rôle à un utilisateur et un jeton
isInRole IsInRole Admin / Titulaire du compte Renvoie si un utilisateur dispose d'un rôle spécifié pour un jeton
removeRole RemoveRole Administrateur Enlève un rôle d'un utilisateur et d'un jeton
getAccountsByRole GetAccountsByRole Administrateur Renvoie les ID de compte pour un rôle et un jeton spécifiés
getUsersByRole GetUsersByRole Administrateur Renvoie la liste des utilisateurs pour un rôle et un jeton spécifiés
Comportement mentable mintBatch MintBatch Utilisateurs dotés du rôle de mineur Réduit les jetons multiples
Comportement transférable batchTransferFrom BatchTransferFrom Tout utilisateur Transfère des jetons entre utilisateurs
safeBatchTransferFrom SafeBatchTransferFrom Tout utilisateur Transfère des jetons entre l'appelant de méthode et un autre utilisateur
balanceOfBatch BalanceOfBatch Admin / Titulaire du compte Renvoie les soldes de compte de jeton pour plusieurs utilisateurs et jetons
exchangeToken ExchangeToken Propriétaire de compte Echange des jetons entre les comptes de jetons
Comportement brûlable burnBatch BurnBatch Utilisateurs dotés du rôle de brûleur Gravure de jetons
Gestion des jetons create<Token Name>Token Create<Token Name>Token Admin (jetons fongibles) / Utilisateurs avec le rôle minter (NFT) Crée des jetons
update<Token Name>Token Update<Token Name>Token Admin (jetons fongibles) / Propriétaire de jeton (NFT) Met à jour les jetons
getTokenHistory GetTokenHistory Tout utilisateur Renvoie l'historique d'un jeton
getTransactionById GetTransactionById Tout utilisateur Renvoie les détails d'une transaction indiquée
deleteHistoricalTransactions DeleteHistoricalTransactions Administrateur Supprime les transactions avant une heure spécifiée
getAllTokens GetAllTokens Administrateur Renvoie toutes les ressources de jeton
getTokenById GetTokenById Admin / Propriétaire du jeton Renvoie un jeton
getAllTokensByUser GetAllTokensByUser Admin / Titulaire du compte Renvoie tous les jetons appartenant à un utilisateur spécifié
ownerOf OwnerOf Tout utilisateur Renvoie les détails de l'utilisateur du propriétaire d'un jeton spécifié
URI URI Tout utilisateur Renvoie l'URI d'un jeton spécifié
name Name Tout utilisateur Renvoie le nom d'un jeton spécifié
totalSupply TotalSupply Administrateur Renvoie le nombre de jetons extraits pour un jeton spécifié
totalNetSupply TotalNetSupply Administrateur Renvoie le nombre de jetons extraits moins le nombre de jetons brûlés pour un jeton spécifié
getTokensByName getTokensByName Administrateur Renvoie toutes les ressources de jeton pour un nom de jeton spécifié
getTokenDecimal getTokenDecimal Administrateur Renvoie le nombre de décimales pour un jeton spécifié