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-Sperrfunktionalität verwenden, wenn Sie ein Token in ein anderes Blockchain-Netzwerk wie Ethereum oder Polygon übertragen.
Bevor Sie NFTs sperren können, müssen Sie einem Benutzer die Vault-Managerrolle zuweisen. Der Vault-Manager ist ein spezieller Rollentyp, eine TokenSys
-Rolle. TokenSys
-Rollen unterscheiden sich von Asset-basierten Rollen wie Burner, Minter und Notar sowie von administrativen Rollen wie Token Admin
und Org Admin
. Derzeit unterstützt Blockchain App Builder die Rolle vault
TokenSys
. Der einzelne Benutzer mit der Rolle vault
für einen Chaincode ist der Vault-Manager des Chaincodes und kann gesperrte NFTs verwalten.
- Erstellen Sie ein nicht fungibles Token mit dem sperrbaren Verhalten.
- Verwenden Sie die Methode
addTokenSysRole
, um einem Benutzer, dem Vault-Manager, die Rollevault
zu erteilen. - Rufen Sie die Methode
lockNFT
auf, um ein nicht fungibles 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, der angibt, ob ein Benutzer eine angegebene
TokenSys
-Rolle hat. Diese Methode kann nur von einemToken Admin
des Chaincodes aufgerufen werden. -
removeTokenSysRole
- Diese Methode entfernt eine
TokenSys
-Rolle von einem angegebenen Benutzer. Diese Methode kann nur von einemToken Admin
des Chaincodes aufgerufen werden. -
transferTokenSysRole
- Diese Methode überträgt eine
TokenSys
-Rolle von einem Benutzer an einen anderen Benutzer. Diese Methode kann nur von einemToken Admin
des Chaincodes aufgerufen werden. -
getAccountsByTokenSysRole
- Diese Methode gibt eine Liste aller Account-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 angegebenes nicht fungibles 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, der angibt, ob ein angegebenes Token gesperrt ist. Diese Methode kann nur vom Tokeneigentümer, vom Vault-Manager (dem Benutzer mit der Rolle
TokenSys
vault
) oder von einemToken Admin
des Chaincodes aufgerufen werden. -
getAllLockedNFTs
- Diese Methode gibt eine Liste aller gesperrten nicht fungiblen 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 fungiblen 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.