ERC-1155 NFTロックのためのTypeScriptメソッド
ブロックチェーン・アプリケーション・ビルダーは、拡張ERC-1155標準を使用する非代替トークンをロックするために使用できるメソッドを自動的に生成します。
ロックされたトークンは、バーンしたり、他のユーザーに転送できません。トークンの状態、所有者、履歴など、その他のすべてのプロパティが保持されます。トークンを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のみがコールできます。