TypeScript ERC-721 NFTロックのメソッド
ブロックチェーン・アプリケーション・ビルダーは、拡張ERC-721標準を使用する非代替トークンをロックするために使用できるメソッドを自動的に生成します。
ロックされたトークンは、他のユーザーに書き込むことも、転送することもできません。トークンの状態、所有者、履歴など、その他のすべてのプロパティが保持されます。トークンをEthereumやPolygonなどの別のブロックチェーン・ネットワークに転送する場合は、NFTロック機能を使用できます。
NFTをロックする前に、ボールト・マネージャ・ロールをユーザーに割り当てる必要があります。ボールト・マネージャは、特別なタイプのロール(TokenSysロール)です。TokenSysロールは、バーナー、ミナー、公証人などのアセット・ベースのロールや、Token AdminやOrg Adminなどの管理ロールとは異なります。現在、ブロックチェーン・アプリケーション・ビルダーはvault TokenSysロールをサポートしています。チェーンコードのvaultロールを持つ単一ユーザーは、チェーンコードのボールト・マネージャであり、ロックされたNFTを管理できます。
NFTロック機能を使用する一般的なフローは、次のステップに従います。
- ロック可能な動作を持つ非代替トークンを作成します。
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によってのみコールできます。