ERC-1155トークン契約API

ERC-1155トークン契約のトークン機能に関連する次のメソッドを使用できます。

トークン構成メソッド

__ERC1155Token_init
このメソッドは、トークン契約がデプロイされるときにコールされます。このメソッドは、Token Adminのみがコールできます。
パラメータ:
  • uri: string– すべてのトークン・タイプのURI。

トークンの設定方法

saveNFTClass
このメソッドは、NFTクラス情報を元帳に保存します。このメソッドは、Token Adminのみがコールできます。
パラメータ:
  • classInfo: NFTClassInfo– アカウント契約アドレス。これは、NFTが全体であるか小数であるかによって異なります。全NFT:
    {
        "nftClassId": (BigInt(1)),
        "tokenName": "ArtCollection2",
        "tokenDesc": "this is art collection contract",
        "tokenStandard": "erc1155",
        "tokenUnit": 0,
        "behaviors": ["mintable", "burnable", "transferable", "roles", "indivisible"],
        "divisible": { "decimals": 0 },
        "mintable": { "maxMintQuantity": 2 }
    }
    小数NFT:
     "nftClassId": (BigInt(0)),
      tokenName": "ArtCollection",
      "tokenDesc": "this is art collection contract",
      "tokenStandard": "erc1155",
      "tokenUnit": 1,
      "behaviors": ["mintable", "burnable", "transferable", "roles", "divisible"],
      "divisible": { "decimals": 0 },
      "mintable": { "maxMintQuantity": 1 }
createNonFungibleToken
このメソッドは、保存されたNFTクラス情報に基づいてNFTをミントします。このメソッドは、minterロールを持つユーザーまたはToken Adminによってコールできます。
パラメータ:
  • token: uint256–NFTクラス情報を含むNFTのID。tokenIdパラメータの上位128ビットはNFTクラスIDを表し、下位128ビットはNFTの一意の索引を表します。
  • quantity: uint256– ミント(作成)するNFTの量。
createFungibleToken
このメソッドは、トークン契約がデプロイされるときにコールされます。このメソッドは、Token Adminのみがコールできます。
パラメータ:
  • tokenID: ERC1155Token– 次の例に示すように、元帳に記録する代替トークン定義。
    "tokenId": BigInt(0),
     "tokenName": "wcbdc",
     "tokenDesc": "this is wcbdc token",
     "tokenStandard": "erc1155",
     "tokenType": 1,
     "tokenUnit": 1,
     "behaviors": ["mintable", "burnable", "transferable", "roles", "divisible"],
     "divisible": { "decimals": 2 },
     "quantity": 1,
     "mintable": { "maxMintQuantity": 1 }
getTokenById
このメソッドは、指定されたトークンの詳細を取得します。このメソッドは、Token Adminまたはトークン所有者がコールできます。
パラメータ:
  • token: ERC1155Token– 次の例に示すように、トークン定義。
     "tokenId": BigInt(0),
     "tokenName": "wcbdc",
     "tokenDesc": "this is wcbdc token",
     "tokenStandard": "erc1155",
     "tokenType": 1,
     "tokenUnit": 1,
     "behaviors": ["mintable", "burnable", "transferable", "roles", "divisible"],
     "divisible": { "decimals": 2 },
     "quantity": 1,
     "mintable": { "maxMintQuantity": 1 }
  • metainfo: bytes– 代替トークンの場合、metainfoパラメータは空です。NFT全体の場合、metainfoパラメータには、次の構造のエンコードされたデータが含まれます。
    struct ERC1155WholeNFT {
        bool isBurned;
        bool isLocked;
        uint256 creationDate;
        uint256 quantity;
        address createdBy;
        address owner;
    }
    小数NFTの場合、metainfoパラメータには、次の構造のエンコードされたデータが含まれます。
    struct ERC1155FractionalNFT {
        bool isBurned;
        bool isLocked;
        uint256 creationDate;
        uint256 quantity;
        address createdBy;
        Owners[] owners;
    }
getTokenDecimals
このメソッドは、トークンに対して構成された小数点以下の桁数の数を返します。このメソッドは、Token Adminのみがコールできます。
パラメータ:
  • id: uint256– トークンID。
戻り値:
  • 小数点以下の桁数を示すuint8値。
tokenIdOf
このメソッドは、トークンIDを返します。このメソッドは、Token Adminのみがコールできます。
パラメータ:
  • classId: uint256–NFTクラスID。
  • serialId: uint256–NFTクラスのシリアルID。
戻り値:
  • トークンIDのuint256値。
balanceOf
このメソッドは、指定されたユーザーの現在のトークン残高を返します。このメソッドは、Token Adminまたはトークン所有者がコールできます。
パラメータ:
  • account: string– ユーザーのアカウント・アドレス。
  • id: uint256– トークンID。
戻り値:
  • 現在残高を示すuint256値。
balanceOfBatch
このメソッドは、指定されたユーザーのバッチの現在のトークン残高を返します。このメソッドは、Token Adminまたはトークン所有者がコールできます。
パラメータ:
  • accounts: string[]– ユーザーのアカウント・アドレスのリスト。
  • ids: uint256[]– トークンIDのリスト。
戻り値:
  • 現在残高を示すuint256[]値リスト。
exists
このメソッドは、指定されたトークンが存在するかどうかをチェックします。このメソッドは、Token Adminのみがコールできます。
パラメータ:
  • id: uint256– トークンID。
戻り値:
  • ブール値(trueまたはfalse)。
totalSupply
このメソッドは、契約内のトークンの合計供給を返します。このメソッドは、Token Adminのみがコールできます。
パラメータ:
  • id: uint256 (オプション)– トークンID。トークンIDを指定しない場合、契約内のすべてのトークンの合計供給が返されます
戻り値:
  • 供給合計を示すuint256値。

トークン動作メソッド- ミント可能な動作

mintBatch
このメソッドは、ERC-1155トークンをバッチでミントします。トークンはすでに初期化されている必要があります。このメソッドは、minterロールを持つ任意のユーザーがコールできます。
パラメータ:
  • tokenIds: uint256[]– ミントするトークンIDのリスト。
  • quantity: uint256[]– ミントするトークン数量の対応するリスト。
  • data: bytes– バイト形式の追加データ。

トークン動作メソッド- 書き込み可能な動作

burnBatch
このメソッドは、ERC-1155トークンをバッチで書き込みます。トークンはすでに初期化されている必要があります。このメソッドは、バーナー・ロールを持つ任意のユーザーがコールできます。
パラメータ:
  • tokenIds: uint256[]– 書き込むトークンIDのリスト。
  • quantity: uint256[]– 書き込むトークン数量の対応するリスト。
  • data: bytes– バイト形式の追加データ。
burnNFT
このメソッドはNFTを書き込みます。トークンはすでに初期化されている必要があります。このメソッドは、バーナー・ロールを持つ任意のユーザーがコールできます。
パラメータ:
  • tokenId: uint256– バーンするトークンのID。

トークン動作方法- 転送可能な動作

safeTransferFrom
このメソッドは、トークンを持つすべてのユーザーがコールして、別のユーザーに転送できます。
パラメータ:
  • from: string– 送信者のウォレット・アドレス。ゼロにできません。
  • to: string– 受信者のウォレット・アドレス。ゼロにできません。
  • id: uint256– 転送するトークンのID。
  • value: uint256– 転送するトークンの量。
  • data: bytes– バイト形式の追加データ。
safeBatchTransferFrom
このメソッドは、トークンを持つすべてのユーザーがコールして、別のユーザーにバッチで転送できます。
パラメータ:
  • from: string– 送信者のウォレット・アドレス。ゼロにできません。
  • to: string– 受信者のウォレット・アドレス。ゼロにできません。
  • id: uint256[]– 転送するトークンのIDのリスト。
  • value: uint256[]– 転送するトークンの数量の対応するリスト。
  • data: bytes– バイト形式の追加データ。

トークン動作メソッド- 委任可能な動作

setApprovalForAll
このメソッドは、トークンを所有するユーザーがコールして、オペレータがコール元のトークンを転送する権限を付与または取り消すことができます。
パラメータ:
  • operator: string– 演算子のウォレット・アドレス。ゼロにできません。
  • approved: bool– オペレータがコール元のトークンを転送する権限を持っているかどうかを示すフラグ。
isApprovedForAll
このメソッドは、トークンを所有するユーザーがコールし、指定されたユーザーに、コール元のトークンを転送するオペレータとしての権限があるかどうかをチェックできます。
パラメータ:
  • account: string– トークンを転送する操作の権限を付与または取り消したユーザーのアドレス。
  • operator: string– 演算子のウォレット・アドレス。ゼロにできません。
戻り値:
  • ブール値(trueまたはfalse)は、指定したユーザーに、コール元のトークンを転送する演算子としての権限があるかどうかを示します。

トークン動作メソッド- 一時停止可能な動作

paused
このメソッドは、契約が一時停止されているかどうかをチェックします。このメソッドは、どのユーザーでもコールできます。
パラメータ:
  • なし
pause
このメソッドは、契約を一時停止します。このメソッドは、Token Adminのみがコールできます。
パラメータ:
  • なし
unpause
このメソッドは、一時停止された契約を開始します。このメソッドは、Token Adminのみがコールできます。
パラメータ:
  • なし

トークン動作メソッド- ロック可能な動作

lockNFT
このメソッドはNFTをロックします。このメソッドは、TOKEN_SYS_VAULT_ROLEロールを持つユーザーのみがコールできます。
パラメータ:
  • tokenId: uint256– ロックするトークンのID。
isNFTLocked
このメソッドは、NFTがロックされているかどうかをチェックします。このメソッドは、TOKEN_SYS_VAULT_ROLEロールを持つユーザーまたはToken Adminによってのみコールできます。
パラメータ:
  • tokenId: uint256– チェックするトークンのID。
戻り値:
  • NFTがロックされているかどうかを示すブール値(trueまたはfalse)。

コンテキスト管理メソッド

setContext
このメソッドは、アカウント契約のトークン契約住所を設定します。このメソッドは、Token Adminのみがコールできます。
パラメータ:
  • tokenAddress: address– デプロイされたトークンの契約アドレス。ゼロにできません。
getContext
このメソッドは、アカウント契約のトークン契約住所を取得します。このメソッドは、どのユーザーでもコールできます。
パラメータ:
  • なし
返品
  • トークン契約アドレス
setGovernanceContext
この方法では、アカウント契約のガバナンス・ライフ・サイクルの管理に使用するガバナンス契約を設定します。このメソッドは、Token Adminのみがコールできます。
パラメータ:
  • uuid: string– 契約のデプロイメント前にデジタル・アセットToken Adminによって設定された一意のID。
  • governance: address– デプロイされたガバナンス契約の契約アドレス。ゼロにできません。
getGovernanceContext
このメソッドは、ガバナンス・コンテキストの詳細を取得します。このメソッドは、どのユーザーでもコールできます。
パラメータ:
  • なし
返品
  • governanceContextオブジェクト。
戻り値の例:
{
    "governanceUUID": "abc-def",
    "governance": "0x0000000",
	"deploymentActive": "true"
}
isDeploymentActive
このメソッドは、デプロイメントがアクティブかどうかをチェックします。このメソッドは、どのユーザーでもコールできます。
パラメータ:
  • なし
戻り値:
  • デプロイメントがアクティブかどうかを示すブール値(trueまたはfalse)。