ERC721
ERC721リソースは、NFT(Non-Fungible Token)コントラクトとやり取りするための操作を提供します。
概要
ERC721はEthereum上のNFTの規格です。各トークンには一意のIDがあり、個別の資産を表します。
操作
Get Balance(残高を取得)
アドレスが所有するNFTの数を取得します。
必要な認証情報:Ethereum RPC
パラメータ:
- Contract Address(コントラクトアドレス)(必須):ERC721 NFTコントラクトアドレス
- Owner Address(所有者アドレス)(必須):残高を確認するアドレス
範例:
{
"contractAddress": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
"ownerAddress": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb"
}
輸出:
{
"balance": "5"
}
Owner Of(所有者)
特定のトークンIDの所有者を取得します。
必要な認証情報:Ethereum RPC
パラメータ:
- Contract Address(コントラクトアドレス)(必須):ERC721 NFTコントラクトアドレス
- Token ID(トークンID)(必須):照会するトークンID
範例:
{
"contractAddress": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
"tokenId": "1234"
}
輸出:
{
"owner": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb"
}
Transfer From(...から転送)
NFTを別のアドレスに転送します。
必要な認証情報:Ethereum RPC、Ethereum Account
パラメータ:
- Contract Address(コントラクトアドレス)(必須):ERC721 NFTコントラクトアドレス
- From(送信元)(必須):現在の所有者アドレス
- To(宛先)(必須):受信者アドレス
- Token ID(トークンID)(必須):転送するトークンID
範例:
{
"contractAddress": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
"from": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
"to": "0x1111111254fb6c44bAC0beD2854e76F90643097d",
"tokenId": "1234"
}
輸出:
{
"hash": "0x1234567890abcdef...",
"from": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
"to": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D"
}
Safe Transfer From(安全な転送)
受信者の検証付きで安全にNFTを転送します。
必要な認証情報:Ethereum RPC、Ethereum Account
パラメータ:
- Contract Address(コントラクトアドレス)(必須):ERC721 NFTコントラクトアドレス
- From(送信元)(必須):現在の所有者アドレス
- To(宛先)(必須):受信者アドレス
- Token ID(トークンID)(必須):転送するトークンID
範例:
{
"contractAddress": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
"from": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
"to": "0x1111111254fb6c44bAC0beD2854e76F90643097d",
"tokenId": "1234"
}
輸出:
{
"hash": "0x1234567890abcdef...",
"from": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
"to": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D"
}
Approve(承認)
特定のNFTを転送するために別のアドレスを承認します。
必要な認証情報:Ethereum RPC、Ethereum Account
パラメータ:
- Contract Address(コントラクトアドレス)(必須):ERC721 NFTコントラクトアドレス
- Spender(支払者)(必須):承認するアドレス
- Token ID(トークンID)(必須):承認するトークンID
範例:
{
"contractAddress": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
"spender": "0x1111111254fb6c44bAC0beD2854e76F90643097d",
"tokenId": "1234"
}
輸出:
{
"hash": "0x1234567890abcdef...",
"from": "0xYourAddress...",
"to": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D"
}
Set Approval For All(すべての承認を設定)
オペレーターがすべてのNFTを管理することを承認します。
必要な認証情報:Ethereum RPC、Ethereum Account
パラメータ:
- Contract Address(コントラクトアドレス)(必須):ERC721 NFTコントラクトアドレス
- Operator(オペレーター)(必須):承認するアドレス
- Approved(承認済み)(必須):true で承認、false で取り消し
範例:
{
"contractAddress": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
"operator": "0x1111111254fb6c44bAC0beD2854e76F90643097d",
"approved": true
}
輸出:
{
"hash": "0x1234567890abcdef...",
"from": "0xYourAddress...",
"to": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D"
}
Get Approved(承認されたアドレスを取得)
トークンの承認されたアドレスを取得します。
必要な認証情報:Ethereum RPC
パラメータ:
- Contract Address(コントラクトアドレス)(必須):ERC721 NFTコントラクトアドレス
- Token ID(トークンID)(必須):照会するトークンID
範例:
{
"contractAddress": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
"spender": "0x1111111254fb6c44bAC0beD2854e76F90643097d",
"tokenId": "1234"
}
輸出:
{
"hash": "0x1234567890abcdef...",
"from": "0xYourAddress...",
"to": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D"
}
Is Approved For All(すべて承認されているか)
オペレーターがすべてのトークンを承認されているかを確認します。
必要な認証情報:Ethereum RPC
パラメータ:
- Contract Address(コントラクトアドレス)(必須):ERC721 NFTコントラクトアドレス
- Owner(所有者)(必須):所有者アドレス
- Operator(オペレーター)(必須):オペレーターアドレス
範例:
{
"contractAddress": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
"spender": "0x1111111254fb6c44bAC0beD2854e76F90643097d",
"tokenId": "1234"
}
輸出:
{
"hash": "0x1234567890abcdef...",
"from": "0xYourAddress...",
"to": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D"
}
Token URI(トークンURI)
トークンのメタデータURIを取得します。
必要な認証情報:Ethereum RPC
パラメータ:
- Contract Address(コントラクトアドレス)(必須):ERC721 NFTコントラクトアドレス
- Token ID(トークンID)(必須):照会するトークンID
出力例:
{
"tokenURI": "ipfs://QmXxxx.../1"
}
一般的なユースケース
範例:
{
"tokenURI": "ipfs://QmXxxx.../1"
}
NFT所有権を監視
[Ethereum Trigger: Event] → [Owner Of] → [所有者をチェック] → [アクション]
自動NFT転送
[Trigger] → [Safe Transfer From] → [Wait For Transaction] → [通知]
NFTメタデータをチェック
[Trigger] → [Token URI] → [メタデータを取得] → [表示]
ヒント
- 安全な転送:NFTを処理できないコントラクトに送信するのを防ぐために、Safe Transfer Fromを優先
- トークンID:通常は連続していますが、任意のuint256値にすることができます
- メタデータ:Token URIは通常JSONメタデータ(多くの場合IPFS上)を指します
- 承認:Set Approval For Allはマーケットプレイスのやり取りでよく使用されます