ERC-1155 Flux de segmentation en unités

Après le déploiement d'un projet de jeton ERC-1155, les administrateurs de jeton et les responsables de jeton suivent un flux type pour créer des jetons et effectuer des opérations de cycle de vie.

Lorsque vous déployez un projet de jeton, les utilisateurs de la liste transmis à la méthode d'initialisation deviennent des administrateurs de jeton du code de chaîne. Après le déploiement, le flux type 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 jeton :

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

Opérations de responsable de jeton :

  • Les utilisateurs qui ont le rôle Minter 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 chambre forte :

  • L'utilisateur doté du rôle de chambre forte peut verrouiller les transferts 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 d'un scénario de segmentation en unités ERC-1155.
Flux de processus pour le scénario de segmentation en unités ERC-1155

Le tableau suivant résume les méthodes générées automatiquement lors de l'échafaudage d'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 (Go) Appelé par Description
Gestion de l'administration init Init Administrateur Initialise le code de chaîne de jeton
isTokenAdmin IsTokenAdmin Administrateur Retourne Vrai si l'appelant est un administrateur
addTokenAdmin AddTokenAdmin Administrateur Ajoute un administrateur
removeTokenAdmin RemoveTokenAdmin Administrateur Supprime un administrateur
getAllTokenAdmins GetAllTokenAdmins Administrateur Retourne tous les administrateurs
Gestion des comptes createAccount CreateAccount Administrateur Crée un compte d'utilisateur et des comptes de jeton
createUserAccount CreateUserAccount Administrateur Crée un compte d'utilisateur
createTokenAccount CreateTokenAccount Administrateur Crée un compte de jeton
associateFungibleTokenAccount AssociateFungibleTokenAccount Administrateur Associe un compte de jeton fongible à un jeton fongible
getAccountHistory GetAccountHistory Administrateur/Responsable du compte Retourne l'historique d'un compte de jeton
getAccountTransactionHistory GetAccountTransactionHistory Administrateur/Responsable du compte Retourne l'historique des transactions pour un compte
getAccount GetAccount Administrateur/Responsable du compte Retourne les détails d'un compte de jeton
getAllAccounts GetAllAccounts Administrateur Retourne les détails de tous les comptes d'utilisateur
getAccountDetailsByUser GetAccountDetailsByUser Administrateur/Responsable du compte Retourne les détails d'un compte d'utilisateur et de tous les jetons associés
getUserByAccountId GetUserByAccountId Tout utilisateur Retourne 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 Administrateur/Responsable du compte Retourne si un utilisateur a un rôle spécifié pour un jeton
removeRole RemoveRole Administrateur Supprime un rôle d'un utilisateur et d'un jeton
getAccountsByRole GetAccountsByRole Administrateur Retourne les ID compte pour un rôle et un jeton spécifiés
getUsersByRole GetUsersByRole Administrateur Retourne une liste d'utilisateurs pour un rôle et un jeton spécifiés
Comportement mentable mintBatch MintBatch Utilisateurs ayant le rôle de robot Minute plusieurs jetons
Comportement transférable batchTransferFrom BatchTransferFrom Tout utilisateur Transfère des jetons entre les utilisateurs
safeBatchTransferFrom SafeBatchTransferFrom Tout utilisateur Transfère des jetons entre l'appelant de méthode et un autre utilisateur
balanceOfBatch BalanceOfBatch Administrateur/Responsable du compte Retourne les soldes de compte de jeton pour plusieurs utilisateurs et jetons
exchangeToken ExchangeToken Responsable de compte Échanges de jetons entre les comptes de jeton
Comportement brûlable burnBatch BurnBatch Utilisateurs dotés du rôle de graveur Jetons Burns
Gestion des jetons create<Token Name>Token Create<Token Name>Token Admin (jetons fongibles) / Utilisateurs avec le rôle de minter (NFT) Crée des jetons
update<Token Name>Token Update<Token Name>Token Admin (jetons fongibles) / Titulaire du jeton (NFT) Met à jour les jetons
getTokenHistory GetTokenHistory Tout utilisateur Retourne l'historique d'un jeton
getTransactionById GetTransactionById Tout utilisateur Retourne les détails d'une transaction spécifiée
deleteHistoricalTransactions DeleteHistoricalTransactions Administrateur Supprime les transactions avant une heure spécifiée
getAllTokens GetAllTokens Administrateur Retourne toutes les ressources de jeton
getTokenById GetTokenById Responsable de l'administration/du jeton Retourne un jeton
getAllTokensByUser GetAllTokensByUser Administrateur/Responsable du compte Retourne tous les jetons appartenant à un utilisateur spécifié
ownerOf OwnerOf Tout utilisateur Retourne les détails de l'utilisateur du responsable d'un jeton spécifié
URI URI Tout utilisateur Retourne l'URI d'un jeton spécifié
name Name Tout utilisateur Retourne le nom d'un jeton spécifié
totalSupply TotalSupply Administrateur Retourne le nombre de jetons frappés pour un jeton spécifié
totalNetSupply TotalNetSupply Administrateur Retourne le nombre de jetons frappés moins le nombre de jetons brûlés pour un jeton spécifié
getTokensByName getTokensByName Administrateur Retourne toutes les ressources de jeton pour un nom de jeton spécifié
getTokenDecimal getTokenDecimal Administrateur Retourne le nombre de décimales pour un jeton spécifié