TypeScript Methoden für ERC-721 NFT Locking
Blockchain App Builder generiert automatisch Methoden, mit denen Sie nicht fungible Token sperren können, die den erweiterten ERC-721-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 Rollevaultzuzuweisen. - Rufen Sie die Methode
lockNFTauf, 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 Admindes Chaincodes aufgerufen werden. -
isInTokenSysRole - Diese Methode gibt einen booleschen Wert zurück, um anzugeben, ob ein Benutzer eine angegebene Rolle
TokenSyshat. Diese Methode kann nur von einemToken Admindes Chaincodes aufgerufen werden. -
removeTokenSysRole - Mit dieser Methode wird eine
TokenSys-Rolle aus einem angegebenen Benutzer entfernt. Diese Methode kann nur von einemToken Admindes 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 Admindes 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 Admindes 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 Admindes 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
TokenSysvaultvorhanden 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
TokenSysvault) oder einemToken Admindes 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
TokenSysvault) oder einemToken Admindes 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
TokenSysvault) oder einemToken Admindes Chaincodes aufgerufen werden.