どうも、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 には無かったので困っていたところでした💦
今日はここまで。それではまた、お会いしましょう!
ウホウホ
🦍
コメント