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