TypeScript Métodos para Bloqueio de NFT ERC-721
O Blockchain App Builder gera automaticamente métodos que você pode usar para bloquear tokens não fungíveis que usam o padrão ERC-721 estendido.
Um token bloqueado não pode ser gravado ou transferido para outros usuários. Todas as outras propriedades, como o estado, o proprietário e o histórico do token, são preservadas. Você pode usar a funcionalidade de bloqueio NFT ao transferir um token para outra rede blockchain, como Ethereum ou Polygon.
Antes de bloquear NFTs, você deve designar a atribuição de gerente de vault a um usuário. O gerenciador de vault é um tipo especial de atribuição, uma atribuição TokenSys
. As funções TokenSys
são diferentes das funções baseadas em ativos, como gravador, minter e notário, e das funções administrativas, como Token Admin
e Org Admin
. No momento, o Blockchain App Builder suporta a atribuição vault
TokenSys
. O usuário único que tem a atribuição vault
para um chaincode é o gerenciador de vault do chaincode e pode gerenciar NFTs bloqueados.
- Crie um token não fungível que tenha o comportamento bloqueável.
- Use o método
addTokenSysRole
para fornecer a atribuiçãovault
a um usuário, o gerenciador de vaults. - Chame o método
lockNFT
para bloquear um token não fungível, especificado pelo ID do token.
TokenSys Métodos de Gerenciamento de Atribuições
-
addTokenSysRole
- Esse método adiciona uma atribuição
TokenSys
a um usuário especificado. Este método só pode ser chamado por umToken Admin
do chaincode. -
isInTokenSysRole
- Esse método retorna um valor booliano para indicar se um usuário tem uma função
TokenSys
especificada. Este método só pode ser chamado por umToken Admin
do chaincode. -
removeTokenSysRole
- Esse método remove uma atribuição
TokenSys
de um usuário especificado. Este método só pode ser chamado por umToken Admin
do chaincode. -
transferTokenSysRole
- Esse método transfere uma atribuição
TokenSys
de um usuário para outro usuário. Este método só pode ser chamado por umToken Admin
do chaincode. -
getAccountsByTokenSysRole
- Esse método retorna uma lista de todos os IDs de conta para uma atribuição
TokenSys
especificada. Este método só pode ser chamado por umToken Admin
do chaincode. -
getUsersByTokenSysRole
- Esse método retorna informações do usuário para todos os usuários com uma atribuição
TokenSys
especificada. Este método só pode ser chamado por umToken Admin
do chaincode.
Métodos de Bloqueio NFT
-
lockNFT
- Este método bloqueia um token não fungível especificado. Para bloquear um token, deve haver um usuário com a atribuição
TokenSys
vault
, que atua como o gerenciador de vault. Esse método só pode ser chamado pelo proprietário do token. -
isNFTLocked
- Este método retorna um valor booliano para indicar se um token especificado está bloqueado. Esse método só pode ser chamado pelo proprietário do token, pelo gerenciador de vault (o usuário com a atribuição
TokenSys
vault
) ou por umToken Admin
do chaincode. -
getAllLockedNFTs
- Este método retorna uma lista de todos os tokens não fungíveis bloqueados. Esse método só pode ser chamado pelo gerenciador de vault (o usuário com a atribuição
TokenSys
vault
) ou por umToken Admin
do chaincode. -
getAllLockedNFTsByOrg
- Este método retorna uma lista de todos os tokens não fungíveis bloqueados para uma organização especificada e, opcionalmente, um usuário especificado. Esse método só pode ser chamado pelo gerenciador de vault (o usuário com a atribuição
TokenSys
vault
) ou por umToken Admin
do chaincode.