メインコンテンツまでスキップ

ERC1155

ERC1155リソースは、マルチトークンコントラクトとやり取りするための操作を提供します。

概要​

ERC1155は、単一のコントラクトで代替可能トークンと非代替トークンの両方を表現できるマルチトークン規格です。

操作​

Balance Of(残高照会)​

アドレスの特定のトークンIDの残高を取得します。

必要な認証情報:Ethereum RPC

パラメータ:

  • Contract Address(コントラクトアドレス)(必須):ERC1155コントラクトアドレス
  • Account(アカウント)(必須):残高を確認するアドレス
  • Token ID(トークンID)(必須):照会するトークンID

出力例:

{
"balance": "10"
}

範例:

{
"balance": "10"
}

Balance Of Batch(バッチ残高照会)​

1回の呼び出しで複数のアカウントとトークンIDの残高を取得します。

必要な認証情報:Ethereum RPC

パラメータ:

  • Contract Address(コントラクトアドレス)(必須):ERC1155コントラクトアドレス
  • Accounts(アカウント)(必須):アドレスの配列
  • Token IDs(トークンID)(必須):トークンIDの配列

範例:

{
"balance": "10"
}

Safe Transfer From(安全な転送)​

単一のトークンタイプを別のアドレスに転送します。

必要な認証情報:Ethereum RPC、Ethereum Account

パラメータ:

  • Contract Address(コントラクトアドレス)(必須):ERC1155コントラクトアドレス
  • From(送信元)(必須):送信者アドレス
  • To(宛先)(必須):受信者アドレス
  • Token ID(トークンID)(必須):転送するトークンID
  • Amount(数量)(必須):転送する数量
  • Data(データ)(オプション):追加データ

範例:

{
"contractAddress": "0x...",
"from": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
"to": "0x1111111254fb6c44bAC0beD2854e76F90643097d",
"tokenId": "1",
"amount": "10",
"data": "0x"
}

輸出:

{
"hash": "0x1234567890abcdef...",
"from": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
"to": "0x..."
}

Safe Batch Transfer From(バッチ安全転送)​

単一のトランザクションで複数のトークンタイプを転送します。

必要な認証情報:Ethereum RPC、Ethereum Account

パラメータ:

  • Contract Address(コントラクトアドレス)(必須):ERC1155コントラクトアドレス
  • From(送信元)(必須):送信者アドレス
  • To(宛先)(必須):受信者アドレス
  • Token IDs(トークンID)(必須):トークンIDの配列
  • Amounts(数量)(必須):数量の配列
  • Data(データ)(オプション):追加データ

範例:

{
"contractAddress": "0x...",
"from": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
"to": "0x1111111254fb6c44bAC0beD2854e76F90643097d",
"tokenIds": ["1", "2", "3"],
"amounts": ["10", "5", "20"],
"data": "0x"
}

輸出:

{
"hash": "0x1234567890abcdef...",
"from": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
"to": "0x..."
}

Set Approval For All(すべての承認を設定)​

オペレーターがすべてのトークンを管理することを承認します。

必要な認証情報:Ethereum RPC、Ethereum Account

パラメータ:

  • Contract Address(コントラクトアドレス)(必須):ERC1155コントラクトアドレス
  • Operator(オペレーター)(必須):承認するアドレス
  • Approved(承認済み)(必須):true で承認、false で取り消し

範例:

{
"contractAddress": "0x...",
"operator": "0x1111111254fb6c44bAC0beD2854e76F90643097d",
"approved": true
}

輸出:

{
"hash": "0x1234567890abcdef...",
"from": "0xYourAddress...",
"to": "0x..."
}

Is Approved For All(すべて承認されているか)​

オペレーターが承認されているかを確認します。

必要な認証情報:Ethereum RPC

パラメータ:

  • Contract Address(コントラクトアドレス)(必須):ERC1155コントラクトアドレス
  • Owner(所有者)(必須):所有者アドレス
  • Operator(オペレーター)(必須):オペレーターアドレス

範例:

{
"contractAddress": "0x...",
"owner": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
"operator": "0x1111111254fb6c44bAC0beD2854e76F90643097d"
}

輸出:

{
"isApprovedForAll": true
}

URI​

トークンのメタデータURIを取得します。

必要な認証情報:Ethereum RPC

パラメータ:

  • Contract Address(コントラクトアドレス)(必須):ERC1155コントラクトアドレス
  • Token ID(トークンID)(必須):照会するトークンID

一般的なユースケース​

範例:

{
"contractAddress": "0x...",
"tokenId": "1"
}

輸出:

{
"uri": "https://token-cdn-domain/{id}.json"
}

バッチトークン転送​

[Trigger] → [Safe Batch Transfer From] → [Wait For Transaction] → [通知]

複数の残高を確認​

[Schedule Trigger] → [Balance Of Batch] → [残高を処理] → [保存]

ヒント​

  • バッチ操作:ERC1155はバッチ操作に優れており、ガスコストを削減
  • マルチトークン:代替可能トークンと非代替トークンの両方を表現できる
  • ゲーミング:ゲームアイテムとゲーム内通貨で人気
  • 効率性:複数のトークンの場合、ERC721よりガス効率が良い