Flusso di generazione token ERC-1155
Dopo aver distribuito un progetto token ERC-1155, gli amministratori di token e i proprietari di token seguono un flusso tipico per la creazione di token e il completamento delle operazioni del ciclo di vita.
Quando si distribuisce un progetto token, gli utenti nell'elenco passati al metodo di inizializzazione diventano amministratori di token del codice concatenato. Dopo la distribuzione, il flusso tipico per la creazione di token e il completamento delle operazioni del ciclo di vita segue i passi riportati di seguito.
Operazioni amministratore token:
- Creare account utente per chiunque possieda token o completi operazioni correlate ai token.
- Per ogni account utente, creare account token. Gli utenti possono avere più account token fungibili, ma solo un account token non fungibile (NFT). Gli amministratori dei token possono utilizzare il metodo
createAccount
per creare account utente e token contemporaneamente anziché separatamente. - Crea token fungibili, se necessario. Quando si inizializza un token fungibile, è possibile assegnare i metadati e i comportamenti associati al token.
- Per i token fungibili, associare gli account token fungibili degli utenti a token fungibili specifici.
- Aggiungere ruoli minori e burner agli account di token degli utenti in base alle esigenze.
Operazioni del proprietario del token:
- Gli utenti che hanno il ruolo minore per un token specifico possono creare (mint) NFT o token fungibili.
- Gli utenti possono trasferire i token tra i conti e controllare i saldi dei conti.
- Gli utenti che hanno il ruolo di bruciatore per un token specifico possono distruggere (bruciare) NFT o token fungibili.
Operazioni di Vault Manager:
- L'utente che dispone del ruolo vault può bloccare NFT. Un NFT bloccato non può essere masterizzato o trasferito ad altri utenti.
Il diagramma riportato di seguito mostra il flusso complessivo del processo per uno scenario di tokenizzazione ERC-1155.
Nella tabella seguente vengono riepilogati i metodi generati automaticamente quando si esegue lo scaffold di un progetto token ERC-1155.
Categoria metodo | Metodo generato automaticamente (TypeScript) | Metodo generato automaticamente (Vai) | Chiamato da | Descrizione |
---|---|---|---|---|
Gestione amministratore | init |
Init |
Amministrazione | Inizializza il codice concatenato del token |
isTokenAdmin |
IsTokenAdmin |
Amministrazione | Restituisce true se il chiamante è un amministratore | |
addTokenAdmin |
AddTokenAdmin |
Amministrazione | Aggiunge un amministratore | |
removeTokenAdmin |
RemoveTokenAdmin |
Amministrazione | Rimuove un amministratore | |
getAllTokenAdmins |
GetAllTokenAdmins |
Amministrazione | Restituisce tutti gli amministratori | |
Gestione account | createAccount |
CreateAccount |
Amministrazione | Crea un account utente e un account token |
createUserAccount |
CreateUserAccount |
Amministrazione | Crea un account utente | |
createTokenAccount |
CreateTokenAccount |
Amministrazione | Crea un account token | |
associateFungibleTokenAccount |
AssociateFungibleTokenAccount |
Amministrazione | Associa un account token fungibile a un token fungibile | |
getAccountHistory |
GetAccountHistory |
Ammin./proprietario conto | Restituisce la cronologia di un account token | |
getAccountTransactionHistory |
GetAccountTransactionHistory |
Ammin./proprietario conto | Restituisce la cronologia delle transazioni per un conto | |
getAccount |
GetAccount |
Ammin./proprietario conto | Restituisce i dettagli di un account token | |
getAllAccounts |
GetAllAccounts |
Amministrazione | Restituisce i dettagli di tutti gli account utente | |
getAccountDetailsByUser |
GetAccountDetailsByUser |
Ammin./proprietario conto | Restituisce i dettagli di un account utente e di tutti i token associati | |
getUserByAccountId |
GetUserByAccountId |
Qualsiasi utente | Restituisce i dettagli utente per un ID account | |
Gestione ruoli | addRole |
AddRole |
Amministrazione | Aggiunge un ruolo a un utente e a un token |
isInRole |
IsInRole |
Ammin./proprietario conto | Restituisce se un utente dispone di un ruolo specificato per un token | |
removeRole |
RemoveRole |
Amministrazione | Rimuove un ruolo da un utente e da un token | |
getAccountsByRole |
GetAccountsByRole |
Amministrazione | Restituisce gli ID account per un ruolo e un token specificati | |
getUsersByRole |
GetUsersByRole |
Amministrazione | Restituisce una lista di utenti per un ruolo e un token specificati | |
Comportamento minimo | mintBatch |
MintBatch |
Utenti con ruolo minore | Mints più token |
Comportamento trasferibile | batchTransferFrom |
BatchTransferFrom |
Qualsiasi utente | Trasferisce i token tra utenti |
safeBatchTransferFrom |
SafeBatchTransferFrom |
Qualsiasi utente | Trasferisce i token tra il chiamante del metodo e un altro utente | |
balanceOfBatch |
BalanceOfBatch |
Ammin./proprietario conto | Restituisce i saldi dei conti token per più utenti e token | |
exchangeToken |
ExchangeToken |
Proprietario account | Scambia token tra account token | |
Comportamento masterizzabile | burnBatch |
BurnBatch |
Utenti con ruolo di bruciatore | Brucia token |
Gestione token | create<Token Name>Token |
Create<Token Name>Token |
Admin (token fungibili) / Utenti con il ruolo minore (NFT) | Crea i token |
update<Token Name>Token |
Update<Token Name>Token |
Ammin. (token fungibili)/Proprietario token (NFT) | Aggiornamenti token | |
getTokenHistory |
GetTokenHistory |
Qualsiasi utente | Restituisce la cronologia di un token | |
getTransactionById |
GetTransactionById |
Qualsiasi utente | Restituisce i dettagli di una transazione specificata | |
deleteHistoricalTransactions |
DeleteHistoricalTransactions |
Amministrazione | Elimina le transazioni prima di un'ora specificata | |
getAllTokens |
GetAllTokens |
Amministrazione | Restituisce tutti gli asset token | |
getTokenById |
GetTokenById |
Amministratore/proprietario token | Restituisce un token | |
getAllTokensByUser |
GetAllTokensByUser |
Ammin./proprietario conto | Restituisce tutti i token di proprietà di un utente specificato | |
ownerOf |
OwnerOf |
Qualsiasi utente | Restituisce i dettagli utente del proprietario di un token specificato | |
URI |
URI |
Qualsiasi utente | Restituisce l'URI di un token specificato | |
name |
Name |
Qualsiasi utente | Restituisce il nome di un token specificato | |
totalSupply |
TotalSupply |
Amministrazione | Restituisce il numero di token coniati per un token specificato | |
totalNetSupply |
TotalNetSupply |
Amministrazione | Restituisce il numero di token coniati meno il numero di token masterizzati per un token specificato | |
getTokensByName |
getTokensByName |
Amministrazione | Restituisce tutti gli asset token per un nome token specificato | |
getTokenDecimal |
getTokenDecimal |
Amministrazione | Restituisce il numero di cifre decimali per un token specificato |