TypeScript Methoden für ERC-1155 NFT Locking
Blockchain App Builder generiert automatisch Methoden, mit denen Sie nicht fungible Token sperren können, die den erweiterten ERC-1155-Standard verwenden.
Ein gesperrtes Token kann nicht gebrannt oder an andere Benutzer übertragen werden. Alle anderen Eigenschaften, wie Status, Eigentümer und Historie des Tokens, werden beibehalten. Sie können die NFT-Sperrfunktion verwenden, wenn Sie ein Token in ein anderes Blockchain-Netzwerk wie Ethereum oder Polygon übertragen.
Bevor Sie NFTs sperren können, müssen Sie die Vault-Managerrolle einem Benutzer zuweisen. Der Vault-Manager ist ein spezieller Rollentyp, eine TokenSys
-Rolle. TokenSys
-Rollen unterscheiden sich von anlagenbasierten Rollen wie Burner, Minter und Notar und von administrativen Rollen wie Token Admin
und Org Admin
. Derzeit unterstützt Blockchain App Builder die Rolle vault
TokenSys
. Der einzelne Benutzer, der die Rolle vault
für einen Chaincode hat, ist der Vault-Manager des Chaincodes und kann gesperrte NFTs verwalten.
- Erstellen Sie ein nicht fungierbares Token mit dem sperrbaren Verhalten.
- Verwenden Sie die Methode
addTokenSysRole
, um einem Benutzer, dem Vault-Manager, die Rollevault
zuzuweisen. - Rufen Sie die Methode
lockNFT
auf, um ein nicht fungierbares Token zu sperren, das durch die Token-ID angegeben wird.
TokenSys Rollenverwaltungsmethoden
-
addTokenSysRole
- Diese Methode fügt einem angegebenen Benutzer eine
TokenSys
-Rolle hinzu. Diese Methode kann nur von einemToken Admin
des Chaincodes aufgerufen werden. -
isInTokenSysRole
- Diese Methode gibt einen booleschen Wert zurück, um anzugeben, ob ein Benutzer eine angegebene Rolle
TokenSys
hat. Diese Methode kann nur von einemToken Admin
des Chaincodes aufgerufen werden. -
removeTokenSysRole
- Mit dieser Methode wird eine
TokenSys
-Rolle aus einem angegebenen Benutzer entfernt. Diese Methode kann nur von einemToken Admin
des Chaincodes aufgerufen werden. -
transferTokenSysRole
- Mit dieser Methode wird eine
TokenSys
-Rolle von einem Benutzer an einen anderen Benutzer übertragen. Diese Methode kann nur von einemToken Admin
des Chaincodes aufgerufen werden. -
getAccountsByTokenSysRole
- Diese Methode gibt eine Liste aller Konto-IDs für eine angegebene
TokenSys
-Rolle zurück. Diese Methode kann nur von einemToken Admin
des Chaincodes aufgerufen werden. -
getUsersByTokenSysRole
- Diese Methode gibt Benutzerinformationen für alle Benutzer mit einer angegebenen
TokenSys
-Rolle zurück. Diese Methode kann nur von einemToken Admin
des Chaincodes aufgerufen werden.
NFT-Sperrmethoden
-
lockNFT
- Diese Methode sperrt ein bestimmtes nicht fungierbares Token. Um ein Token zu sperren, muss ein Benutzer mit der Rolle
TokenSys
vault
vorhanden sein, der als Vault-Manager fungiert. Diese Methode kann nur vom Eigentümer des Tokens aufgerufen werden. -
isNFTLocked
- Diese Methode gibt einen booleschen Wert zurück, um anzugeben, ob ein angegebenes Token gesperrt ist. Diese Methode kann nur vom Tokeneigentümer, dem Vault-Manager (dem Benutzer mit der Rolle
TokenSys
vault
) oder einemToken Admin
des Chaincodes aufgerufen werden. -
getAllLockedNFTs
- Diese Methode gibt eine Liste aller gesperrten, nicht fungierbaren Token zurück. Diese Methode kann nur vom Vault-Manager (dem Benutzer mit der Rolle
TokenSys
vault
) oder einemToken Admin
des Chaincodes aufgerufen werden. -
getAllLockedNFTsByOrg
- Diese Methode gibt eine Liste aller gesperrten, nicht fungierbaren Token für eine angegebene Organisation und optional einen angegebenen Benutzer zurück. Diese Methode kann nur vom Vault-Manager (dem Benutzer mit der Rolle
TokenSys
vault
) oder einemToken Admin
des Chaincodes aufgerufen werden.