Collections Assets Owner List

Collections Assets Owner List とは?

特定のコレクションのNFTを保有する人のアドレス、保有数などを一覧表示します。
あるコレクションのNFTを買ってくれた人に特典をプレゼントしたい!って時に使うとちょっと便利。
※イメージ画像ではakさんの「Gothic Mysterious Girl's of Secret area」を使わせてもらってます。

仕組み

Open Seaが提供するAPIを使用し、あるコレクションに含まれるNFTとそのオーナー情報を収集します。

①コレクションに含まれるNFT情報の取得。

Retrieving assets
OpenSea Developer Documentation
コレクションに含まれるNFTのコントラクトアドレス、トークンIDをまとめて取得するためのAPI
パラメータ
設定値
collection
入力されたコレクションURLのslug_name
limit
50
offset
50 * API実行回数
まず初めに「Retrieving assets」APIを叩き、ユーザが入力したコレクションに含まれるNFTの情報を取得します。1回の実行で最大50件しか取得できないため、すべての情報を取りきるまで何度も当APIを叩きます。

②NFTのオーナー情報の取得

Retrieving a single asset
OpenSea Developer Documentation
オーナー情報を取得するためのAPI
パラメータ
設定値
asset_contract_address
「Retrieving assets」で取得したコントラクトアドレス
token_id
「Retrieving assets」で取得したトークンID
①で取得したNFT情報を一件一件見ていき、コントラクトアドレス、トークンIDを使って「Retrieving a single asset」を叩きます。
オーナーのアドレス、そのオーナーがコレクションのNFTを何個保有しているか、保有しているNFTの名称などを収集し、一覧化して表示します。

注意事項

  • Ethereumチェーンのみ対応。Polygonは非対応。
  • NFTの数だけ当APIを実行するため、NFT数の多いコレクションほど時間が掛かります。発行数10000個のコレクションなんかは死ぬほど待たされます。(でも取得はできます。)
  • 同一のコンテンツを複数枚発行しているタイプのNFTの場合、保有者の情報が10人分しか取得できません。(「Retrieving a single asset」の仕様) 保有者が11人以上いる場合は全員の情報を表示できませんのでご注意ください。
こういうやつ