ERC-721 NFT 잠금을 위한 Go 방법
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 - 이 메소드는 지정된 실행 불가능 토큰을 잠급니다. 토큰을 잠그려면 저장소 관리자 역할을 하는
TokenSysvault롤을 가진 사용자가 있어야 합니다. 이 메소드는 토큰의 소유자만 호출할 수 있습니다. -
IsNFTLocked - 이 메소드는 지정된 토큰이 잠겨 있는지 여부를 나타내는 부울 값을 반환합니다. 이 메소드는 토큰 소유자, 저장소 관리자(
TokenSysvault롤을 가진 사용자) 또는 체인 코드의Token Admin만 호출할 수 있습니다. -
GetAllLockedNFTs - 이 메소드는 잠겨 있지 않은 모든 토큰 목록을 반환합니다. 이 메소드는 저장소 관리자(
TokenSysvault롤을 가진 사용자) 또는 체인 코드의Token Admin만 호출할 수 있습니다. -
GetAllLockedNFTsByOrg - 이 메소드는 지정된 조직 및 선택적으로 지정된 사용자에 대해 잠금 해제 불가능한 모든 토큰 목록을 반환합니다. 이 메소드는 저장소 관리자(
TokenSysvault롤을 가진 사용자) 또는 체인 코드의Token Admin만 호출할 수 있습니다.