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