TypeScript ERC-721 NFT 잠금 방법
Blockchain App Builder는 확장된 ERC-721 표준을 사용하는 융통성이 없는 토큰을 잠그는 데 사용할 수 있는 방법을 자동으로 생성합니다.
잠긴 토큰은 레코딩하거나 다른 사용자에게 전송할 수 없습니다. 토큰의 상태, 소유자 및 내역과 같은 기타 모든 등록 정보는 보존됩니다. 토큰을 다른 블록체인 네트워크(예: Ethereum 또는 Polygon)로 전송할 때 NFT 잠금 기능을 사용할 수 있습니다.
NFT를 잠그려면 사용자에게 저장소 관리자 역할을 지정해야 합니다. 저장소 관리자는 특수 역할 유형인 TokenSys
역할입니다. TokenSys
롤은 버너, 채굴기 및 공증과 같은 자산 기반 롤과 다르며 Token Admin
및 Org Admin
와 같은 관리 롤과 다릅니다. 현재 Blockchain App Builder는 vault
TokenSys
역할을 지원합니다. 체인 코드에 대해 vault
롤을 가진 단일 사용자는 체인 코드의 저장소 관리자이며 잠긴 NFT를 관리할 수 있습니다.
NFT 잠금 기능을 사용하는 일반적인 흐름은 다음 단계를 따릅니다.
- Lockable 동작이 있는 Non-Fungible 토큰을 생성합니다.
addTokenSysRole
메소드를 사용하여vault
롤을 사용자 저장소 관리자에게 제공합니다.lockNFT
메소드를 호출하여 토큰 ID로 지정된 실패할 수 없는 토큰을 잠급니다.
TokenSys 역할 관리 방법
-
addTokenSysRole
- 이 메소드는 지정된 사용자에게
TokenSys
롤을 추가합니다. 이 메소드는 체인 코드의Token Admin
만 호출할 수 있습니다. -
isInTokenSysRole
- 이 메소드는 사용자에게 지정된
TokenSys
롤이 있는지 여부를 나타내는 부울 값을 반환합니다. 이 메소드는 체인 코드의Token Admin
만 호출할 수 있습니다. -
removeTokenSysRole
- 이 메소드는 지정된 사용자로부터
TokenSys
롤을 제거합니다. 이 메소드는 체인 코드의Token Admin
만 호출할 수 있습니다. -
transferTokenSysRole
- 이 메소드는
TokenSys
롤을 사용자에서 다른 사용자로 전송합니다. 이 메소드는 체인 코드의Token Admin
만 호출할 수 있습니다. -
getAccountsByTokenSysRole
- 이 메소드는 지정된
TokenSys
롤에 대한 모든 계정 ID 목록을 반환합니다. 이 메소드는 체인 코드의Token Admin
만 호출할 수 있습니다. -
getUsersByTokenSysRole
- 이 메소드는 지정된
TokenSys
롤을 가진 모든 사용자에 대한 사용자 정보를 반환합니다. 이 메소드는 체인 코드의Token Admin
만 호출할 수 있습니다.
NFT 잠금 방법
-
lockNFT
- 이 메소드는 지정된 실행 불가능 토큰을 잠급니다. 토큰을 잠그려면 저장소 관리자 역할을 하는
TokenSys
vault
롤을 가진 사용자가 있어야 합니다. 이 메소드는 토큰의 소유자만 호출할 수 있습니다. -
isNFTLocked
- 이 메소드는 지정된 토큰이 잠겨 있는지 여부를 나타내는 부울 값을 반환합니다. 이 메소드는 토큰 소유자, 저장소 관리자(
TokenSys
vault
롤을 가진 사용자) 또는 체인 코드의Token Admin
만 호출할 수 있습니다. -
getAllLockedNFTs
- 이 메소드는 잠겨 있지 않은 모든 토큰 목록을 반환합니다. 이 메소드는 저장소 관리자(
TokenSys
vault
롤을 가진 사용자) 또는 체인 코드의Token Admin
만 호출할 수 있습니다. -
getAllLockedNFTsByOrg
- 이 메소드는 지정된 조직 및 선택적으로 지정된 사용자에 대해 잠금 해제 불가능한 모든 토큰 목록을 반환합니다. 이 메소드는 저장소 관리자(
TokenSys
vault
롤을 가진 사용자) 또는 체인 코드의Token Admin
만 호출할 수 있습니다.