-
Notifications
You must be signed in to change notification settings - Fork 8
Examples: Get Metadatas info
Chun Lam edited this page Feb 21, 2024
·
2 revisions
import {
MetadataHttp, MetadataQueryParams, MetadataType, MosaicId, NamespaceId
} from "tsjs-xpx-chain-sdk";
const API_URL = 'http://localhost:3000';
const metadataHttp = new MetadataHttp(API_URL);
const getMetadata = () => {
const compositeHash = "5DB111FAFD1CD1AB10747B1BDDF895D6469965A1D11D73E8B74F0D44A16BBE8E";
metadataHttp.getMetadata(compositeHash).subscribe({
next: metadataEntry => {
console.log(metadataEntry);
console.log(metadataEntry.value); // current metadata value
console.log(metadataEntry.scopedMetadataKey); // the key of the metadata value
},
error: error => {
console.error(error);
},
complete: () => {
console.log('done.');
}
});
}
const getMetadatas = () => {
const compositeHash = "5DB111FAFD1CD1AB10747B1BDDF895D6469965A1D11D73E8B74F0D44A16BBE8E";
const compositeHash2 = "8C2635D6F73EE14D8E06B8C22ADD6FA6600C486C45508142DDADA74BD090D728";
metadataHttp.getMetadatas([compositeHash, compositeHash2]).subscribe({
next: metadataEntries => {
console.log(metadataEntries);
},
error: error => {
console.error(error);
},
complete:() => {
console.log('done.');
}
});
}
const searchMetadatas = () => {
const xpxNamespaceId = new NamespaceId("prx.xpx");
const xpxMosaicId = new MosaicId("13bfc518e40549d7");
const targetPublicKey = "F06FE22FBA1E116B8F0E673BA4EE424B16BD6EA7548ED259F3DCEBF8D74C49B9";
// full structure of the MetadataQueryParams, all are optional
/*
pageSize?: number;
pageNumber?: number;
metadataType?: MetadataType;
order?: Order;
sortField?: MetadataSortingField;
sourceAddress?: Address | string;
targetId?: NamespaceId | MosaicId | string;
targetKey?: PublicAccount | string;
scopedMetadataKey?: UInt64 | string;
*/
// search targetKey, account type metadata
let metadataQueryParams = new MetadataQueryParams();
metadataQueryParams.metadataType = MetadataType.ACCOUNT;
metadataQueryParams.targetKey = targetPublicKey;
metadataHttp.searchMetadata(metadataQueryParams).subscribe({
next: metadataSearchResult => {
console.log(metadataSearchResult.metadataEntries);
console.log(metadataSearchResult.pagination);
},
error: error => {
console.error(error);
},
complete: () => {
console.log('done.');
}
})
// search mosaic type metadata
let metadataQueryParams2 = new MetadataQueryParams();
metadataQueryParams2.metadataType = MetadataType.MOSAIC;
metadataQueryParams2.targetId = xpxMosaicId;
metadataHttp.searchMetadata(metadataQueryParams2).subscribe({
next: metadataSearchResult => {
console.log(metadataSearchResult.metadataEntries);
console.log(metadataSearchResult.pagination);
},
error: error => {
console.error(error);
},
complete: () => {
console.log('done.');
}
})
// search namespace type metadata
let metadataQueryParams3 = new MetadataQueryParams();
metadataQueryParams3.metadataType = MetadataType.NAMESPACE;
metadataQueryParams3.targetId = xpxNamespaceId;
metadataHttp.searchMetadata(metadataQueryParams3).subscribe({
next: metadataSearchResult => {
console.log(metadataSearchResult.metadataEntries);
console.log(metadataSearchResult.pagination);
},
error: error => {
console.error(error);
},
complete: () => {
console.log('done.');
}
})
}
getMetadata();
getMetadatas();
searchMetadatas();