title: オーナーとコレクション別のAsset取得 metaTitle: オーナーとコレクション別のAsset取得 | DAS APIガイド
このガイドでは、特定のコレクションに属し、特定のウォレットアドレスが所有するデジタルアセットを見つける方法を説明します。これは、コレクション固有のポートフォリオビュー、マーケットプレイス機能、分析ツールの構築に役立ちます。
searchAssetsメソッドを使用すると、正確な結果を得るためにオーナーとコレクションのフィルターを組み合わせることができます。
{% totem %} {% totem-accordion title="UMI例" %}
import { publicKey } from '@metaplex-foundation/umi'
import { createUmi } from '@metaplex-foundation/umi-bundle-defaults'
import { dasApi } from '@metaplex-foundation/digital-asset-standard-api'
(async () => {
const umi = createUmi(
"<ENDPOINT>"
).use(dasApi());
// ウォレットが所有する特定のコレクションのassetを検索
const collectionAssets = await umi.rpc.searchAssets({
owner: publicKey("WALLET_ADDRESS"),
grouping: ["collection", "COLLECTION_ADDRESS"],
limit: 1000,
displayOptions: {
showCollectionMetadata: true,
}
})
console.log(`ウォレットが所有するコレクションから${collectionAssets.items.length}個のassetが見つかりました`)
console.log(`利用可能な合計: ${collectionAssets.total}`)
// 各assetを処理
collectionAssets.items.forEach(asset => {
console.log(`Asset ID: ${asset.id}`)
console.log(`名前: ${asset.content.metadata?.name || '不明'}`)
console.log(`インターフェース: ${asset.interface}`)
console.log('---')
})
})();
{% /totem-accordion %} {% totem-accordion title="JavaScript例" %}
(async () => {
const response = await fetch('<ENDPOINT>', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
jsonrpc: '2.0',
id: 1,
method: 'searchAssets',
params: {
ownerAddress: 'WALLET_ADDRESS',
grouping: ['collection', 'COLLECTION_ADDRESS'],
limit: 1000,
options: {
showCollectionMetadata: true
}
}
})
})
const data = await response.json()
console.log(`ウォレットが所有するコレクションから${data.result.items.length}個のassetが見つかりました`)
})();
{% /totem-accordion %} {% totem-accordion title="cURL例" %}
curl -X POST <ENDPOINT> \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "searchAssets",
"params": {
"ownerAddress": "WALLET_ADDRESS",
"grouping": ["collection", "COLLECTION_ADDRESS"],
"limit": 1000,
"options": {
"showCollectionMetadata": true
}
}
}'
{% /totem-accordion %} {% /totem %}