HCS‑3 API Reference
Sources
Import PathsDirect link to Import Paths
- TypeScript
- Go
import { HCS } from '@hashgraphonline/standards-sdk';
// See standards-sdk-go for full Go API types and methods
TypesDirect link to Types
- TypeScript
- Go
type LoadType = 'script' | 'image' | 'video' | 'audio' | 'glb' | 'css';
interface HCSConfig {
cdnUrl: string; // default 'https://kiloscribe.com/api/inscription-cdn/'
network: string; // 'mainnet' | 'testnet'
retryAttempts?: number; // default 3
retryBackoff?: number; // default 300ms
debug?: boolean; // default false
showLoadingIndicator?: boolean;
loadingCallbackName?: string | null; // window[callback](id, status)
}
interface HCSConfigMapping {
hcsCdnUrl: 'cdnUrl';
hcsNetwork: 'network';
hcsRetryAttempts: 'retryAttempts';
hcsRetryBackoff: 'retryBackoff';
hcsDebug: 'debug';
hcsShowLoadingIndicator: 'showLoadingIndicator';
hcsLoadingCallbackName: 'loadingCallbackName';
}
// See standards-sdk-go for full Go API types and methods
Class: HCSDirect link to Class: HCS
- TypeScript
- Go
constructor();
// Logging
log(...args: any[]): void;
error(...args: any[]): void;
// Config
loadConfigFromHTML(): void; // reads <script data-hcs-config .../>
sleep(ms: number): Promise<void>;
// Duplicate detection
isDuplicate(topicId: string): boolean;
// CDN fetch with retries
fetchWithRetry(url: string, retries?: number, backoff?: number): Promise<Response>;
// Hedera Reference Link (HRL) data
retrieveHCS1Data(topicId: string, cdnUrl?: string, network?: string): Promise<Blob>;
// Loaders (dom‑oriented)
loadScript(el: HTMLElement): Promise<void>;
loadImage(el: HTMLElement): Promise<void>;
loadStylesheet(el: HTMLElement): Promise<void>;
loadMedia(el: HTMLElement, mediaType: 'video' | 'audio'): Promise<void>;
loadGLB(el: HTMLElement): Promise<void>;
loadResource(el: HTMLElement, type: LoadType, order: number): Promise<void>;
loadModuleExports(scriptId: string): Promise<any>;
// Queue (batch loading)
processQueue(): Promise<void>;
// See standards-sdk-go for full Go API types and methods
Notes
- Internally tracks loaded resources (scripts/wasm/images/videos/audios/glbs) and emits
HCSScriptLoadedevents. - For legacy pages, the loader can display simple console indicators or call a window callback.
ExamplesDirect link to Examples
- TypeScript
- Go
const h = new HCS();
h.loadConfigFromHTML(); // reads defaults from DOM
const blob = await h.retrieveHCS1Data('0.0.123', h.config.cdnUrl, h.config.network);
// See standards-sdk-go for full Go API types and methods