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

alchemy サービスの紹介

· 約4分

web3.0 アプリケーションを開発するとブロックチェーンの RPC サーバーが必要になりますが、自分で用意せずに他のサービスを使う場面も多々あります。

infura.io は老舗ですが、後続のサービスとして、alchemy も有力な選択肢になってきています。また、基本のブロックチェーン RPC サーバー以外、他の便利な API が提供されていて、かつ SDK も提供されているので、詳細内容を紹介します。

image0.png

サポートしているチェーンの比較

chainalchemyinfra.io
Ethereum
Polygon
Solana
Arbitrum
Optimism
Astr
Starknet
Celo
Avalanche C-Chain
Palm
Near

他の便利な API

NFT API

NFT のデータを取得したことがあればお分かりだと思いますが、1つのアドレスに対してい、所有しているすべての NFT を出したい場合は、実は結構面倒で、必要に応じて各 NFT コントラクトのアドレスを収集したりする必要があります。 Alchemy の SDK を使えば、その手間もかけずにカンタンにできてます。

下記は公式サイトのサンプルから、読みやすくするためコメントや console.log をいくつ削除しただけですが、これだけでそのアカウントが所有するすべての NFT を表示できますね。

import { Network, Alchemy } from "alchemy-sdk";

const settings = {
apiKey: "demo", // Replace with your Alchemy API Key.
network: Network.ETH_MAINNET, // Replace with your network.
};
const alchemy = new Alchemy(settings);

const nftsForOwner = await alchemy.nft.getNftsForOwner("0xshah.eth");
console.log("number of NFTs found:", nftsForOwner.totalCount);

for (const nft of nftsForOwner.ownedNfts) {
console.log("contract address:", nft.contract.address);
console.log("token ID:", nft.tokenId);
}

const response = await alchemy.nft.getNftMetadata(
"0x5180db8F5c931aaE63c74266b211F580155ecac8",
"1590"
);

// Print some commonly used fields:
console.log("NFT name: ", response.title);
console.log("token type: ", response.tokenType);
console.log("tokenUri: ", response.tokenUri.gateway);
console.log("image url: ", response.rawMetadata.image);
console.log("time last updated: ", response.timeLastUpdated);

Notify

ブロックチェーン上に発生するイベントを webhook 方式で通知してくれるサービスです。

サポートされているイベントタイプは下記になっています。

Webhook TypeDescriptionNetwork
Mined Transaction送信したトランザクションがブロックに含められたタイミングAll
Dropped Transactions送信したトランザクションが削除されたタイミングAll
Address Activityすべての ETH、ERC20、ERC721、ERC1155 の送受信発生したタイミングAll
NFT ActivityEthereum NFT の ERC721 および ERC1155 の NFT が転送されたタイミングEthereum Mainnet & Goerli
NFT Meta UpdatesEthereum および Polygon NFT の ERC721 および ERC1155 トークンコントラクトのメタデータの更新されたタイミングEthereum Mainnet & Goerli; Polygon Mainnet & Mumbai

これらの通知を活用すれば、もっとリアルタイムでユーザーに情報変更を通知できますね。

まとめ

上記2つを紹介しましたが、それ以外の API もあるので、ぜひ試してください。