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よりガス効率が良い