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

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はマーケットプレイスのやり取りでよく使用されます