TypeScript ERC-721 NFT 鎖定方法
Blockchain App Builder 會自動產生方法,您可以用來鎖定使用延伸 ERC-721 標準的不可變權杖。
無法將鎖定的記號燒錄或傳輸給其他使用者。所有其他特性 (例如記號的狀態、擁有者和歷史記錄) 都會被保留。將權杖傳輸到其他區塊鏈網路 (例如乙太網路或多邊形) 時,可以使用 NFT 鎖定功能。
您必須先將 Vault 管理員角色指定給使用者,才能鎖定 NFT。Vault 管理員是特殊類型的角色,即 TokenSys 角色。TokenSys 角色與燃燒器、礦工和公證等資產型角色不同,且與 Token Admin 和 Org Admin 等管理角色不同。目前 Blockchain App Builder 支援 vault TokenSys 角色。具有鏈碼 vault 角色的單一使用者是鏈碼的保存庫管理程式,可以管理鎖定的 NFT。
使用 NFT 鎖定功能的一般流程遵循這些步驟。
- 建立具有可鎖定行為的不可執行記號。
- 使用
addTokenSysRole方法,將vault角色提供給 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才能呼叫此方法。
-
lockNFT - 這個方法會鎖定指定的不可執行記號。若要鎖定記號,必須要有具備
TokenSysvault角色的使用者 (作為保存庫管理程式)。這個方法只有記號的擁有者才能呼叫。 -
isNFTLocked - 此方法會傳回布林值,指出指定的記號是否已鎖定。只有記號擁有者、保存庫管理程式 (具備
TokenSysvault角色的使用者) 或鏈碼的Token Admin才能呼叫此方法。 -
getAllLockedNFTs - 此方法會傳回所有鎖定之不可變記號的清單。只有保存庫管理程式 (具備
TokenSysvault角色的使用者) 或鏈碼的Token Admin才能呼叫此方法。 -
getAllLockedNFTsByOrg - 此方法會傳回指定組織和指定使用者 (選擇性) 之所有鎖定的不可變記號清單。只有保存庫管理程式 (具備
TokenSysvault角色的使用者) 或鏈碼的Token Admin才能呼叫此方法。