ERC-1155 Tokenisierungsablauf
Nachdem Sie ein ERC-1155-Tokenprojekt bereitgestellt haben, folgen Tokenadministratoren und Tokeneigentümer einem typischen Ablauf zum Erstellen von Token und zum Abschließen von Lebenszyklusvorgängen.
Wenn Sie ein Tokenprojekt bereitstellen, werden die an die Initialisierungsmethode übergebenen Benutzer in der Liste zu Tokenadministratoren des Chaincodes. Nach dem Deployment führt der typische Ablauf zum Erstellen von Token und zum Abschließen von Lebenszyklusvorgängen die folgenden Schritte aus:
Tokenadministratorvorgänge:
- Erstellen Sie Benutzerkonten für alle Benutzer, die Token besitzen oder tokenbezogene Vorgänge abschließen.
- Erstellen Sie für jeden Benutzeraccount Tokenaccounts. Benutzer können mehrere fungible Token-Konten haben, aber nur ein nicht fungibles Token-(NFT-)Konto. Tokenadministratoren können die Methode
createAccount
verwenden, um Benutzer- und Tokenaccounts gleichzeitig und nicht separat zu erstellen. - Erstellen Sie nach Bedarf fungible Token. Wenn Sie ein fungibles Token initialisieren, können Sie dem Token die zugehörigen Metadaten und Verhaltensweisen zuweisen.
- Ordnen Sie für fungible Token die fungiblen Tokenaccounts von Benutzern bestimmten fungiblen Token zu.
- Fügen Sie den Tokenaccounts von Benutzern nach Bedarf Minter- und Burner-Rollen hinzu.
Vorgänge für Tokeneigentümer:
- Benutzer mit der Rolle "Miner" für ein bestimmtes Token können NFTs oder fungible Token erstellen (Minuten).
- Benutzer können Token zwischen Konten übertragen und Kontensalden prüfen.
- Benutzer mit der Brennerrolle für ein bestimmtes Token können NFTs oder fungible Token zerstören.
Vault-Managervorgänge:
- Der Benutzer mit der Vault-Rolle kann NFTs sperren. Eine gesperrte NFT kann nicht gebrannt oder an andere Benutzer übertragen werden.
Das folgende Diagramm zeigt den Gesamtprozessablauf für ein ERC-1155-Tokenisierungsszenario.
In der folgenden Tabelle werden die Methoden zusammengefasst, die automatisch generiert werden, wenn Sie ein ERC-1155-Tokenprojekt erstellen.
Methodenkategorie | Automatisch generierte Methode (TypeScript) | Automatisch generierte Methode (Los) | Angerufen von | Beschreibung |
---|---|---|---|---|
Admin-Verwaltung | init |
Init |
Admin | Initialisiert den Token-Chaincode |
isTokenAdmin |
IsTokenAdmin |
Admin | Gibt "true" zurück, wenn der Aufrufer ein Admin ist | |
addTokenAdmin |
AddTokenAdmin |
Admin | Hinzufügen eines Administrators | |
removeTokenAdmin |
RemoveTokenAdmin |
Admin | Entfernt einen Admin | |
getAllTokenAdmins |
GetAllTokenAdmins |
Admin | Gibt alle Administratoren zurück | |
Accountverwaltung | createAccount |
CreateAccount |
Admin | Erstellt einen Benutzeraccount und Tokenaccounts |
createUserAccount |
CreateUserAccount |
Admin | Erstellt einen Benutzeraccount | |
createTokenAccount |
CreateTokenAccount |
Admin | Erstellt ein Token-Konto | |
associateFungibleTokenAccount |
AssociateFungibleTokenAccount |
Admin | Ordnet ein fungibles Tokenkonto einem fungiblen Token zu | |
getAccountHistory |
GetAccountHistory |
Admin/Kontoinhaber | Gibt die Historie für einen Token-Account zurück | |
getAccountTransactionHistory |
GetAccountTransactionHistory |
Admin/Kontoinhaber | Gibt die Transaktionshistorie für ein Konto zurück | |
getAccount |
GetAccount |
Admin/Kontoinhaber | Gibt Details für einen Tokenaccount zurück | |
getAllAccounts |
GetAllAccounts |
Admin | Gibt Details für alle Benutzeraccounts zurück | |
getAccountDetailsByUser |
GetAccountDetailsByUser |
Admin/Kontoinhaber | Gibt Details für einen Benutzeraccount und alle zugehörigen Token zurück | |
getUserByAccountId |
GetUserByAccountId |
Beliebiger Benutzer | Gibt Benutzerdetails für eine Account-ID zurück | |
Rollenverwaltung | addRole |
AddRole |
Admin | Fügt einen Benutzer und ein Token eine Rolle hinzu |
isInRole |
IsInRole |
Admin/Kontoinhaber | Gibt an, ob ein Benutzer eine angegebene Rolle für ein Token hat | |
removeRole |
RemoveRole |
Admin | Entfernt eine Rolle aus einem Benutzer und Token | |
getAccountsByRole |
GetAccountsByRole |
Admin | Gibt Konto-IDs für eine angegebene Rolle und ein bestimmtes Token zurück | |
getUsersByRole |
GetUsersByRole |
Admin | Gibt eine Liste der Benutzer für eine angegebene Rolle und ein bestimmtes Token zurück | |
Mintable-Verhalten | mintBatch |
MintBatch |
Benutzer mit der Rolle "Miner" | Mindert mehrere Token |
Übertragbares Verhalten | batchTransferFrom |
BatchTransferFrom |
Beliebiger Benutzer | Überträgt Token zwischen Benutzern |
safeBatchTransferFrom |
SafeBatchTransferFrom |
Beliebiger Benutzer | Überträgt Token zwischen dem Methodenaufrufer und einem anderen Benutzer | |
balanceOfBatch |
BalanceOfBatch |
Admin/Kontoinhaber | Gibt Tokensalden für mehrere Benutzer und Token zurück | |
exchangeToken |
ExchangeToken |
Accounteigentümer | Token zwischen Tokenkonten austauschen | |
Brennbares Verhalten | burnBatch |
BurnBatch |
Benutzer mit der Brennerrolle | Brennen von Token |
Tokenverwaltung | create<Token Name>Token |
Create<Token Name>Token |
Admin (Fungible Token) / Benutzer mit der Minter-Rolle (NFTs) | Erstellt Token |
update<Token Name>Token |
Update<Token Name>Token |
Admin (Fungible Token) / Token-Eigentümer (NFTs) | Aktualisiert Token | |
getTokenHistory |
GetTokenHistory |
Beliebiger Benutzer | Gibt die Historie eines Tokens zurück | |
getTransactionById |
GetTransactionById |
Beliebiger Benutzer | Gibt die Details einer angegebenen Transaktion zurück | |
deleteHistoricalTransactions |
DeleteHistoricalTransactions |
Admin | Löscht Transaktionen vor einer bestimmten Zeit | |
getAllTokens |
GetAllTokens |
Admin | Gibt alle Tokenassets zurück | |
getTokenById |
GetTokenById |
Admin/Token-Eigentümer | Gibt ein Token zurück | |
getAllTokensByUser |
GetAllTokensByUser |
Admin/Kontoinhaber | Gibt alle Token zurück, die einem angegebenen Benutzer gehören | |
ownerOf |
OwnerOf |
Beliebiger Benutzer | Gibt die Benutzerdetails des Eigentümers eines angegebenen Tokens zurück | |
URI |
URI |
Beliebiger Benutzer | Gibt die URI eines angegebenen Tokens zurück | |
name |
Name |
Beliebiger Benutzer | Gibt den Namen eines angegebenen Tokens zurück | |
totalSupply |
TotalSupply |
Admin | Gibt die Anzahl der ausgeprägten Token für ein angegebenes Token zurück | |
totalNetSupply |
TotalNetSupply |
Admin | Gibt die Anzahl der abgebrannten Token abzüglich der Anzahl der verbrannten Token für ein angegebenes Token zurück | |
getTokensByName |
getTokensByName |
Admin | Gibt alle Tokenassets für einen angegebenen Tokennamen zurück | |
getTokenDecimal |
getTokenDecimal |
Admin | Gibt die Anzahl an Dezimalstellen für ein angegebenes Token zurück |