メモ:NFTホルダーのウォレットアドレスを一括入手して.jsonファイルに書き出してみた(Alchemy api を使用)

どうも、Mejikaです!

 

ホワリス作るのに、特定のNFT所有者のアドレスを一括で入手したい、、、

 

と思ったので、やってみました!

 

早速ですが、中身です。index.js ファイルを作ります。

コードはこちらですw

// Setup: npm install alchemy-sdk
const { Network, Alchemy } = require("alchemy-sdk");
const fs = require("fs");

// Optional Config object, but defaults to demo api-key and eth-mainnet.
const settings = {
  apiKey: "アルケミーのAPIキー", // Replace with your Alchemy API Key.
  network: Network.MATIC_MAINNET, // Replace with your network.
};

const alchemy = new Alchemy(settings);

async function main() {
  const ownerlist = await alchemy.nft.getOwnersForNft("コントラクトアドレス", "token ID");
  console.log(ownerlist);
  // save data
  const write = await JSON.stringify(ownerlist,null,"\r")
  fs.writeFileSync( "output.json" , write);
  console.log("ファイルが正常に書き出しされました");

}

main();

 

JSON.stringify で、関数の値を読み込んで、

fs.writeFileSync で、ファイルに書き出します。(Sync がないと非同期関数になりますw)

 

今回は、こちらのシキブちゃんフリーミントNFTです。

 

では、node index.js で実行してみましょう!

 

出来ました!!

 

出力された .jsonファイルは、こんな感じです

 

,”\r” を付けると、こんな感じで改行してくれます。便利~♪

 

.json を .txt や .csv にすれば、違うファイルで吐き出せます。

 

あれ? .csv で吐き出してエクセルで開くと、微妙に改行に余白が、、、

この辺りは、また調べますw

 

 

しかし、Alchemy api だと、ERC721だろうと1155だろうと関係なく、

owner のアドレスが入手出来てしまうので、めちゃめちゃ便利でした!

ownerOf の関数は、ERC1155 には無かったので困っていたところでした💦

 

今日はここまで。それではまた、お会いしましょう!

ウホウホ

🦍

コメント

タイトルとURLをコピーしました