Core 확장 SDK

Core 자산 검색

검색 기준이 주어진 Core 자산 목록을 반환합니다.

코드 예제

이 예제에서는 두 가지 필터가 적용됩니다:

  1. 소유자의 공개 키
  2. 메타데이터 uri jsonUri

이렇게 하면 해당 지갑이 소유하고 있는 주어진 URI를 가진 NFT만 반환됩니다.

추가 가능한 파라미터는 아래에서 찾을 수 있습니다.

import { publicKey } from '@metaplex-foundation/umi';
import { createUmi } from '@metaplex-foundation/umi-bundle-defaults';
import { dasApi } from '@metaplex-foundation/digital-asset-standard-api';
const umi = createUmi('<ENDPOINT>').use(dasApi());
const asset = await das.searchAssets(umi, {
owner: publicKey('AUtnbwWJQfYZjJ5Mc6go9UancufcAuyqUZzR1jSe4esx'),
jsonUri: 'https://arweave.net/TkklLLQKiO9t9_JPmt-eH_S-VBLMcRjFcgyvIrENBzA',
});
console.log(asset);

예제 응답

[
{
publicKey: '8VrqN8b8Y7rqWsUXqUw7dxQw9J5UAoVyb6YDJs1mBCCz',
header: {
executable: false,
owner: 'CoREENxT6tW1HoK8ypY1SxRMZTcVPm7R94rH4PZNhX7d',
lamports: [Object],
rentEpoch: 18446744073709551616n,
exists: true
},
pluginHeader: { key: 3, pluginRegistryOffset: 179n },
royalties: {
authority: [Object],
offset: 138n,
basisPoints: 500,
creators: [Array],
ruleSet: [Object]
},
key: 1,
updateAuthority: {
type: 'Collection',
address: 'FgEKkVTSfLQ7a7BFuApypy4KaTLh65oeNRn2jZ6fiBav'
},
name: 'Number 1',
uri: 'https://arweave.net/TkklLLQKiO9t9_JPmt-eH_S-VBLMcRjFcgyvIrENBzA',
content: {
'$schema': 'https://schema.metaplex.com/nft1.0.json',
json_uri: 'https://arweave.net/TkklLLQKiO9t9_JPmt-eH_S-VBLMcRjFcgyvIrENBzA',
files: [Array],
metadata: [Object],
links: [Object]
},
owner: 'AUtnbwWJQfYZjJ5Mc6go9UancufcAuyqUZzR1jSe4esx',
seq: { __option: 'None' }
}
]

파라미터

이름필수설명
negate검색 기준을 반전할지 여부를 나타냅니다.
conditionType검색 기준과 일치하는 모든 자산("all") 또는 일부 자산("any")을 가져올지 여부를 나타냅니다.
interface인터페이스 값 (["V1_NFT", "V1_PRINT" "LEGACY_NFT", "V2_NFT", "FungibleAsset", "Custom", "Identity", "Executable"] 중 하나).
ownerAddress소유자의 주소.
ownerType소유권 유형 ["single", "token"].
creatorAddress크리에이터의 주소.
creatorVerified크리에이터가 검증되어야 하는지 여부를 나타냅니다.
authorityAddress권한의 주소.
grouping그룹화 ["key", "value"] 쌍.
delegateAddress위임자의 주소.
frozen자산이 동결되었는지 여부를 나타냅니다.
supply자산의 공급량.
supplyMint공급 민트의 주소.
compressed자산이 압축되었는지 여부를 나타냅니다.
compressible자산이 압축 가능한지 여부를 나타냅니다.
royaltyTargetType로열티 유형 ["creators", "fanout", "single"].
royaltyTarget로열티 대상 주소.
royaltyAmount로열티 금액.
burnt자산이 소각되었는지 여부를 나타냅니다.
sortBy정렬 기준. 객체 { sortBy: <value>, sortDirection: <value> }로 지정되며, sortBy["created", "updated", "recentAction", "none"] 중 하나이고 sortDirection["asc", "desc"] 중 하나입니다.
limit가져올 최대 자산 수.
page가져올 "페이지"의 인덱스.
before지정된 ID 이전의 자산을 가져옵니다.
after지정된 ID 이후의 자산을 가져옵니다.
jsonUriJSON URI 값.

기술적으로 함수는 표준 DAS 패키지에서 상속되므로 위의 모든 파라미터를 허용합니다. 그러나 일부 파라미터는 사용하지 않는 것이 좋습니다. 예를 들어 패키지는 어쨌든 MPL Core에 대해 interface를 필터링합니다.