Métodos Go para bloqueo de NFT ERC-721
Blockchain App Builder genera automáticamente métodos que puede utilizar para bloquear tokens no fungibles que utilizan el estándar ERC-721 ampliado.
Un token bloqueado no se puede quemar ni transferir a otros usuarios. Todas las demás propiedades, como el estado, el propietario y el historial del token, se conservan. Puede utilizar la funcionalidad de bloqueo de NFT al transferir un token a otra red de blockchain, como Ethereum o Polygon.
Para poder bloquear NFT, debe asignar el rol de gestor de almacén a un usuario. El gestor de almacenes es un tipo especial de rol, un rol TokenSys
. Los roles de TokenSys
son diferentes de los roles basados en activos, como quemador, minter y notario, y de los roles administrativos, como Token Admin
y Org Admin
. Actualmente, Blockchain App Builder soporta el rol vault
TokenSys
. El único usuario que tiene el rol vault
para un código de cadena es el gestor de almacén del código de cadena y puede gestionar NFT bloqueados.
- Cree un token no fungible que tenga el comportamiento de bloqueo.
- Utilice el método
AddTokenSysRole
para asignar el rolvault
a un usuario, el gestor de almacenes. - Llame al método
LockNFT
para bloquear un token no fungible, especificado por el ID de token.
TokenSys Métodos de gestión de roles
-
AddTokenSysRole
- Este método agrega un rol
TokenSys
a un usuario especificado. Este método solo puede ser llamado por unToken Admin
del código de cadena. -
IsInTokenSysRole
- Este método devuelve un valor booleano para indicar si un usuario tiene un rol
TokenSys
especificado. Este método solo puede ser llamado por unToken Admin
del código de cadena. -
RemoveTokenSysRole
- Este método elimina un rol
TokenSys
de un usuario especificado. Este método solo puede ser llamado por unToken Admin
del código de cadena. -
TransferTokenSysRole
- Este método transfiere un rol
TokenSys
de un usuario a otro usuario. Este método solo puede ser llamado por unToken Admin
del código de cadena. -
GetAccountsByTokenSysRole
- Este método devuelve una lista de todos los ID de cuenta para un rol
TokenSys
especificado. Este método solo puede ser llamado por unToken Admin
del código de cadena. -
GetUsersByTokenSysRole
- Este método devuelve información de usuario para todos los usuarios con un rol
TokenSys
especificado. Este método solo puede ser llamado por unToken Admin
del código de cadena.
Métodos de bloqueo de NFT
-
LockNFT
- Este método bloquea un token no fungible especificado. Para bloquear un token, debe haber un usuario con el rol
TokenSys
vault
, que actúe como gestor de almacén. Este método solo puede ser llamado por el propietario del token. -
IsNFTLocked
- Este método devuelve un valor booleano para indicar si un token especificado está bloqueado. Este método solo puede ser llamado por el propietario del token, el gestor de almacenes (el usuario con el rol
TokenSys
vault
) o unToken Admin
del código de cadenas. -
GetAllLockedNFTs
- Este método devuelve una lista de todos los tokens no fungibles bloqueados. Este método solo puede ser llamado por el gestor de almacenes (el usuario con el rol
TokenSys
vault
) o unToken Admin
del código de cadenas. -
GetAllLockedNFTsByOrg
- Este método devuelve una lista de todos los tokens no fungibles bloqueados para una organización especificada y, opcionalmente, un usuario especificado. Este método solo puede ser llamado por el gestor de almacenes (el usuario con el rol
TokenSys
vault
) o unToken Admin
del código de cadenas.