Flujo de tokenización ERC-1155
Después de desplegar un proyecto de token ERC-1155, los administradores de tokens y los propietarios de tokens siguen un flujo típico para crear tokens y completar operaciones de ciclo de vida.
Al desplegar un proyecto de token, los usuarios de la lista transferidos al método de inicialización se convierten en administradores de token del código de cadena. Después del despliegue, el flujo típico para crear tokens y completar operaciones de ciclo de vida sigue estos pasos:
Operaciones de administrador de token:
- Cree cuentas de usuario para cualquier persona que posea tokens o complete operaciones relacionadas con tokens.
- Para cada cuenta de usuario, cree cuentas de token. Los usuarios pueden tener varias cuentas de token fungible, pero solo una cuenta de token no fungible (NFT). Los administradores de token pueden utilizar el método
createAccount
para crear cuentas de usuario y token simultáneamente en lugar de por separado. - Cree tokens fungibles, según sea necesario. Al inicializar un token fungible, puede asignar los metadatos y comportamientos asociados al token.
- Para tokens fungibles, asocie las cuentas de tokens fungibles de los usuarios a tokens fungibles específicos.
- Agregue roles de minter y burner a las cuentas de token de los usuarios según sea necesario.
Operaciones de propietario de token:
- Los usuarios que tienen el rol minter para un token específico pueden crear (mint) NFT o tokens fungibles.
- Los usuarios pueden transferir tokens entre cuentas y comprobar saldos de cuenta.
- Los usuarios que tienen el rol de quemador para un token específico pueden destruir (quemar) NFT o tokens fungibles.
Operaciones del gestor de almacenes:
- El usuario que tiene el rol de almacén puede bloquear NFT. Un NFT bloqueado no se puede quemar ni transferir a otros usuarios.
En el siguiente diagrama se muestra el flujo de proceso general para un escenario de tokenización ERC-1155.
En la siguiente tabla se resumen los métodos que se generan automáticamente al andamiar un proyecto de token ERC-1155.
Categoría de método | Método generado automáticamente (TypeScript) | Método generado automáticamente (Ir) | Llamada por | Descripción |
---|---|---|---|---|
Gestión de Administración | init |
Init |
Administrador | Inicializa el código de cadena de token |
isTokenAdmin |
IsTokenAdmin |
Administrador | Devuelve true si el emisor de llamada es un administrador | |
addTokenAdmin |
AddTokenAdmin |
Administrador | Agrega un administrador | |
removeTokenAdmin |
RemoveTokenAdmin |
Administrador | Elimina un administrador | |
getAllTokenAdmins |
GetAllTokenAdmins |
Administrador | Devuelve todos los administradores | |
Gestión de Cuentas | createAccount |
CreateAccount |
Administrador | Crea una cuenta de usuario y cuentas de token |
createUserAccount |
CreateUserAccount |
Administrador | Crea una cuenta de usuario | |
createTokenAccount |
CreateTokenAccount |
Administrador | Crea una cuenta de token | |
associateFungibleTokenAccount |
AssociateFungibleTokenAccount |
Administrador | Asocia una cuenta de token fungible con un token fungible | |
getAccountHistory |
GetAccountHistory |
Administrador/responsable de cuenta | Devuelve el historial de una cuenta de token | |
getAccountTransactionHistory |
GetAccountTransactionHistory |
Administrador/responsable de cuenta | Devuelve el historial de transacciones de una cuenta | |
getAccount |
GetAccount |
Administrador/responsable de cuenta | Devuelve detalles de una cuenta de token | |
getAllAccounts |
GetAllAccounts |
Administrador | Devuelve detalles de todas las cuentas de usuario | |
getAccountDetailsByUser |
GetAccountDetailsByUser |
Administrador/responsable de cuenta | Devuelve detalles de una cuenta de usuario y todos los tokens asociados | |
getUserByAccountId |
GetUserByAccountId |
Cualquier Usuario | Devuelve detalles de usuario para un ID de cuenta | |
Gestión de Roles | addRole |
AddRole |
Administrador | Agrega un rol a un usuario y token |
isInRole |
IsInRole |
Administrador/responsable de cuenta | Devuelve si un usuario tiene un rol especificado para un token | |
removeRole |
RemoveRole |
Administrador | Elimina un rol de un usuario y un token | |
getAccountsByRole |
GetAccountsByRole |
Administrador | Devuelve ID de cuenta para un token y rol especificados | |
getUsersByRole |
GetUsersByRole |
Administrador | Devuelve una lista de usuarios para un token y rol especificados | |
Comportamiento de Mintable | mintBatch |
MintBatch |
Usuarios con el rol minter | Cuenta con varios tokens |
Comportamiento transferible | batchTransferFrom |
BatchTransferFrom |
Cualquier Usuario | Transfiere tokens entre usuarios |
safeBatchTransferFrom |
SafeBatchTransferFrom |
Cualquier Usuario | Transfiere tokens entre el emisor de llamada del método y otro usuario | |
balanceOfBatch |
BalanceOfBatch |
Administrador/responsable de cuenta | Devuelve saldos de cuenta de token para varios usuarios y tokens | |
exchangeToken |
ExchangeToken |
Propietario de Cuenta | Intercambia tokens entre cuentas de token | |
Comportamiento quemable | burnBatch |
BurnBatch |
Usuarios con el rol de quemador | Token de Burns |
Gestión de tokens | create<Token Name>Token |
Create<Token Name>Token |
Admin (tokens fungibles) / Usuarios con el rol minter (NFT) | Crea tokens |
update<Token Name>Token |
Update<Token Name>Token |
Administrador (tokens fungibles) / Propietario de token (NFT) | Tokens de actualizaciones | |
getTokenHistory |
GetTokenHistory |
Cualquier Usuario | Devuelve el historial de un token | |
getTransactionById |
GetTransactionById |
Cualquier Usuario | Devuelve los detalles de una transacción especificada | |
deleteHistoricalTransactions |
DeleteHistoricalTransactions |
Administrador | Suprime las transacciones antes de una hora especificada | |
getAllTokens |
GetAllTokens |
Administrador | Devuelve todos los activos de token | |
getTokenById |
GetTokenById |
Administrador/propietario de token | Devuelve un token | |
getAllTokensByUser |
GetAllTokensByUser |
Administrador/responsable de cuenta | Devuelve todos los tokens propiedad de un usuario especificado | |
ownerOf |
OwnerOf |
Cualquier Usuario | Devuelve los detalles de usuario del propietario de un token especificado | |
URI |
URI |
Cualquier Usuario | Devuelve el URI de un token especificado | |
name |
Name |
Cualquier Usuario | Devuelve el nombre de un token especificado. | |
totalSupply |
TotalSupply |
Administrador | Devuelve el número de tokens minados para un token especificado | |
totalNetSupply |
TotalNetSupply |
Administrador | Devuelve el número de tokens minados menos el número de tokens quemados para un token especificado. | |
getTokensByName |
getTokensByName |
Administrador | Devuelve todos los activos de token para un nombre de token especificado | |
getTokenDecimal |
getTokenDecimal |
Administrador | Devuelve el número de decimales para un token especificado |