Flux de segmentation en unités ERC-1155
Après le déploiement d'un projet de jeton ERC-1155, les administrateurs et les propriétaires de jetons suivent un flux type pour créer des jetons et terminer les 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 des administrateurs de jeton du code de chaîne. Après le déploiement, le flux type pour la création de jetons et l'exécution des opérations de cycle de vie suit les étapes suivantes :
Opérations d'administrateur de jeton :
- Créez des comptes utilisateur pour toute personne possédant des jetons ou effectuant 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 mineur et de brûleur aux comptes de jeton des utilisateurs, au besoin.
Opérations du propriétaire du jeton :
- Les utilisateurs qui ont le rôle de mineur pour un jeton spécifique peuvent créer des NFT (mint) ou des jetons fongibles.
- Les utilisateurs peuvent transférer des jetons entre des 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) des NFT ou des jetons fongibles.
Opérations du gestionnaire de chambres fortes :
- L'utilisateur doté du rôle de chambre forte peut verrouiller les transactions de transfert de fonds. Un TNF 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 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 |
Administration | Initialise le code de chaîne du jeton |
isTokenAdmin |
IsTokenAdmin |
Administration | Retourne Vrai si l'appelant est un administrateur | |
addTokenAdmin |
AddTokenAdmin |
Administration | Ajoute un administrateur | |
removeTokenAdmin |
RemoveTokenAdmin |
Administration | Supprime un administrateur | |
getAllTokenAdmins |
GetAllTokenAdmins |
Administration | Retourne tous les administrateurs | |
Gestion du compte | createAccount |
CreateAccount |
Administration | Crée un compte d'utilisateur et des comptes de jeton |
createUserAccount |
CreateUserAccount |
Administration | Crée un compte d'utilisateur | |
createTokenAccount |
CreateTokenAccount |
Administration | Crée un compte de jeton | |
associateFungibleTokenAccount |
AssociateFungibleTokenAccount |
Administration | Associe un compte de jeton fongible à un jeton fongible | |
getAccountHistory |
GetAccountHistory |
Administrateur/Responsable de compte | Retourne l'historique pour un compte de jeton | |
getAccountTransactionHistory |
GetAccountTransactionHistory |
Administrateur/Responsable de compte | Retourne l'historique des transactions pour un compte | |
getAccount |
GetAccount |
Administrateur/Responsable de compte | Retourne les détails d'un compte de jeton | |
getAllAccounts |
GetAllAccounts |
Administration | Retourne les détails de tous les comptes d'utilisateur | |
getAccountDetailsByUser |
GetAccountDetailsByUser |
Administrateur/Responsable de 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 |
Administration | Ajoute un rôle à un utilisateur et à un jeton |
isInRole |
IsInRole |
Administrateur/Responsable de compte | Retourne si un utilisateur a un rôle spécifié pour un jeton | |
removeRole |
RemoveRole |
Administration | Supprime un rôle d'un utilisateur et d'un jeton | |
getAccountsByRole |
GetAccountsByRole |
Administration | Retourne les ID compte pour un rôle et un jeton spécifiés | |
getUsersByRole |
GetUsersByRole |
Administration | Retourne la liste des utilisateurs pour un rôle et un jeton spécifiés | |
Comportement à la menthe | mintBatch |
MintBatch |
Utilisateurs dotés du rôle de mineur | Jetons multiples Mints |
Comportement transférable | batchTransferFrom |
BatchTransferFrom |
Tout utilisateur | Transfère les jetons entre les utilisateurs |
safeBatchTransferFrom |
SafeBatchTransferFrom |
Tout utilisateur | Transfère les jetons entre l'appelant de la méthode et un autre utilisateur | |
balanceOfBatch |
BalanceOfBatch |
Administrateur/Responsable de compte | Retourne les soldes de compte de jeton pour plusieurs utilisateurs et jetons | |
exchangeToken |
ExchangeToken |
Responsable de compte | Échange de jetons entre des comptes de jetons | |
Comportement brûlable | burnBatch |
BurnBatch |
Utilisateurs ayant le rôle de brûleur | Jetons Burns |
Gestion des jetons | create<Token Name>Token |
Create<Token Name>Token |
Admin (jetons fongibles) / Utilisateurs avec le rôle de mineur (NFT) | Crée des jetons |
update<Token Name>Token |
Update<Token Name>Token |
Administrateur (jetons fongibles) / Propriétaire du jeton (NFT) | Mises à jour des 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 |
Administration | Supprime les transactions avant une heure spécifiée | |
getAllTokens |
GetAllTokens |
Administration | Retourne toutes les ressources de jeton | |
getTokenById |
GetTokenById |
Administrateur/Responsable du jeton | Retourne un jeton | |
getAllTokensByUser |
GetAllTokensByUser |
Administrateur/Responsable de 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 |
Administration | Retourne le nombre de jetons frappés pour un jeton spécifié | |
totalNetSupply |
TotalNetSupply |
Administration | Retourne le nombre de jetons frappés moins le nombre de jetons brûlés pour un jeton spécifié | |
getTokensByName |
getTokensByName |
Administration | Retourne toutes les ressources de jeton pour un nom de jeton spécifié | |
getTokenDecimal |
getTokenDecimal |
Administration | Retourne le nombre de décimales pour un jeton spécifié |