ERC-1155 - Flux de tokenisation
Une fois que vous avez déployé un projet de jeton ERC-1155, les administrateurs de jetons et les propriétaires de jetons suivent un flux standard 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 transmise à la méthode d'initialisation deviennent des 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 de l'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 jetons peuvent utiliser la méthode
createAccount
pour créer des comptes utilisateur et de jeton simultanément plutôt que séparément. - Créez des jetons fongibles, si nécessaire. Lorsque vous initialisez un jeton fongible, vous pouvez affecter les métadonnées et 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 minter et burner aux comptes de jetons des utilisateurs selon vos besoins.
Opérations du propriétaire du jeton :
- Les utilisateurs qui ont le rôle de mineur pour un jeton spécifique peuvent créer (esprit) 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 peut verrouiller les NFT. Une NFT verrouillée ne peut pas être gravée ou transférée à d'autres utilisateurs.
Le diagramme suivant présente le flux de processus global pour un scénario de tokenisation ERC-1155.
Le tableau suivant récapitule les méthodes qui sont générées automatiquement lorsque vous soutenez 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 (Accéder) | 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 | Supprime un administrateur | |
getAllTokenAdmins |
GetAllTokenAdmins |
Administrateur | Renvoie tous les administrateurs | |
Gestion de 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 |
Administrateur / Titulaire du compte | Renvoie l'historique d'un compte de jeton | |
getAccountTransactionHistory |
GetAccountTransactionHistory |
Administrateur / Titulaire du compte | Renvoie l'historique des transactions pour un compte | |
getAccount |
GetAccount |
Administrateur / Titulaire du compte | Renvoie les détails d'un compte de jetons | |
getAllAccounts |
GetAllAccounts |
Administrateur | Renvoie les détails de tous les comptes utilisateur | |
getAccountDetailsByUser |
GetAccountDetailsByUser |
Administrateur / 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 utilisateur pour un ID de compte | |
Gestion des rôles | addRole |
AddRole |
Administrateur | Ajoute un rôle à un utilisateur et un jeton |
isInRole |
IsInRole |
Administrateur / Titulaire du compte | Renvoie 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 | 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 Mintable | mintBatch |
MintBatch |
Utilisateurs dotés du rôle minter | Minte 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 la méthode et un autre utilisateur | |
balanceOfBatch |
BalanceOfBatch |
Administrateur / Titulaire du compte | Renvoie les soldes des comptes de jetons pour plusieurs utilisateurs et jetons | |
exchangeToken |
ExchangeToken |
Propriétaire de compte | Echanger des jetons entre des comptes de jetons | |
Comportement brûlable | burnBatch |
BurnBatch |
Utilisateurs dotés du rôle de brûleur | Brûle les jetons |
Gestion des jetons | create<Token Name>Token |
Create<Token Name>Token |
Admin (jetons fongibles) / Utilisateurs avec le rôle mineur (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 spécifiée | |
deleteHistoricalTransactions |
DeleteHistoricalTransactions |
Administrateur | Supprime les transactions avant une heure spécifiée | |
getAllTokens |
GetAllTokens |
Administrateur | Renvoie toutes les ressources de jeton | |
getTokenById |
GetTokenById |
Administrateur/Propriétaire de jeton | Renvoie un jeton | |
getAllTokensByUser |
GetAllTokensByUser |
Administrateur / 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é |