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
- このメソッドは、指定された非代替トークンをロックします。トークンをロックするには、ボールト・マネージャとして機能する
TokenSys
vault
ロールを持つユーザーが存在する必要があります。このメソッドは、トークンの所有者のみがコールできます。 -
isNFTLocked
- このメソッドは、指定されたトークンがロックされているかどうかを示すブール値を返します。このメソッドは、トークン所有者、ボールト・マネージャ(
TokenSys
vault
ロールを持つユーザー)、またはチェーンコードのToken Admin
のみがコールできます。 -
getAllLockedNFTs
- このメソッドは、ロックされているすべての非代替トークンのリストを返します。このメソッドは、ボールト・マネージャ(
TokenSys
vault
ロールを持つユーザー)またはチェーンコードのToken Admin
のみがコールできます。 -
getAllLockedNFTsByOrg
- このメソッドは、指定された組織およびオプションで指定されたユーザーについて、ロックされているすべての非代替トークンのリストを返します。このメソッドは、ボールト・マネージャ(
TokenSys
vault
ロールを持つユーザー)またはチェーンコードのToken Admin
のみがコールできます。