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 Benutzer in der an die Initialisierungsmethode übergebenen Liste zu Tokenadministratoren des Chaincodes. Nach dem Deployment führt der typische Ablauf zum Erstellen von Token und zum Abschließen von Lebenszyklusvorgängen folgende Schritte aus:

Tokenadministratorvorgänge:

  • Erstellen Sie Benutzeraccounts 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 mit der Methode createAccount Benutzer- und Tokenaccounts gleichzeitig anstatt separat 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 Token-Konten 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, die über die Minter-Rolle für ein bestimmtes Token verfügen, können NFTs oder fungible Token erstellen.
  • Benutzer können Token zwischen Konten übertragen und Kontensalden prüfen.
  • Benutzer, die über die Brennerrolle für ein bestimmtes Token verfügen, können NFTs oder fungible Token zerstören (brennen).

Vault-Manager-Vorgä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 gesamten Prozessablauf für ein ERC-1155-Tokenisierungsszenario.
Prozessablauf für das Tokenisierungsszenario ERC-1155

In der folgenden Tabelle werden die Methoden zusammengefasst, die automatisch generiert werden, wenn Sie ein ERC-1155-Tokenprojekt scaffoldieren.

Methodenkategorie Automatisch generierte Methode (TypeScript) Automatisch generierte Methode (Los) Aufgerufen 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 Fügt einen Admin hinzu
removeTokenAdmin RemoveTokenAdmin Admin Entfernt einen Admin
getAllTokenAdmins GetAllTokenAdmins Admin Gibt alle Administratoren zurück
Account Management createAccount CreateAccount Admin Erstellt einen Benutzeraccount und Tokenaccounts
createUserAccount CreateUserAccount Admin Erstellt ein Benutzerkonto
createTokenAccount CreateTokenAccount Admin Erstellt einen Tokenaccount
associateFungibleTokenAccount AssociateFungibleTokenAccount Admin Verknüpft ein fungibles Token-Konto mit einem fungiblen Token
getAccountHistory GetAccountHistory Admin / Kontoinhaber Gibt die Historie für ein Token-Konto zurück
getAccountTransactionHistory GetAccountTransactionHistory Admin / Kontoinhaber Gibt die Transaktionshistorie für ein Konto zurück
getAccount GetAccount Admin / Kontoinhaber Gibt Details für ein Token-Konto 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 Alle Benutzer Gibt Benutzerdetails für eine Account-ID zurück
Rollenverwaltung addRole AddRole Admin Fügt einem Benutzer und Token eine Rolle hinzu
isInRole IsInRole Admin / Kontoinhaber Gibt zurück, ob ein Benutzer eine angegebene Rolle für ein Token hat
removeRole RemoveRole Admin Entfernt eine Rolle aus einem Benutzer und einem 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
Prägefähiges Verhalten mintBatch MintBatch Benutzer mit der Minter-Rolle Mindert mehrere Token
Übertragbares Verhalten batchTransferFrom BatchTransferFrom Alle Benutzer Überträgt Token zwischen Benutzern
safeBatchTransferFrom SafeBatchTransferFrom Alle 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 Kontoinhaber Tauscht Token zwischen Token-Konten aus
Brennbares Verhalten burnBatch BurnBatch Benutzer mit der Burner-Rolle Burns-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 (unglaubliche Token) / Tokenbesitzer (NFTs) Aktualisiert Token
getTokenHistory GetTokenHistory Alle Benutzer Gibt die Historie eines Tokens zurück
getTransactionById GetTransactionById Alle 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./Tokenverantwortlicher Gibt ein Token zurück
getAllTokensByUser GetAllTokensByUser Admin / Kontoinhaber Gibt alle Token zurück, deren Eigentümer ein angegebener Benutzer ist
ownerOf OwnerOf Alle Benutzer Gibt die Benutzerdetails des Eigentümers eines angegebenen Tokens zurück
URI URI Alle Benutzer Gibt die URI eines angegebenen Tokens zurück
name Name Alle Benutzer Gibt den Namen eines angegebenen Tokens zurück.
totalSupply TotalSupply Admin Gibt die Anzahl der geprägten Token für ein angegebenes Token zurück
totalNetSupply TotalNetSupply Admin Gibt die Anzahl der Münztoken abzüglich der Anzahl der gebrannten 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 der Dezimalstellen für ein angegebenes Token zurück