ipfs-core
Version:
JavaScript implementation of the IPFS specification
116 lines • 4.03 kB
TypeScript
/**
* @typedef {import('@libp2p/interface-peer-id').PeerId} PeerId
* @typedef {import('@libp2p/interfaces').AbortOptions} AbortOptions
*
* @typedef {object} ExperimentalOptions
* @property {boolean} [ipnsPubsub]
*
* @typedef {object} LibP2POptions
* @property {DHTConfig} [config]
*
* @typedef {object} DHTConfig
* @property {boolean} [enabled]
*/
export class IPNSAPI {
/**
* @param {object} options
* @param {string} options.pass
* @param {boolean} [options.offline]
* @param {LibP2POptions} [options.libp2p]
* @param {ExperimentalOptions} [options.EXPERIMENTAL]
*/
constructor(options?: {
pass: string;
offline?: boolean | undefined;
libp2p?: LibP2POptions | undefined;
EXPERIMENTAL?: ExperimentalOptions | undefined;
});
options: {
pass: string;
offline?: boolean | undefined;
libp2p?: LibP2POptions | undefined;
EXPERIMENTAL?: ExperimentalOptions | undefined;
};
/** @type {IPNS | null} */
offline: IPNS | null;
/** @type {IPNS | null} */
online: IPNS | null;
getIPNS(): IPNS;
get routing(): import("ipfs-core-types/src/utils.js").BufferStore;
/**
* Activates IPNS subsystem in an ofline mode. If it was started once already
* it will throw an exception.
*
* This is primarily used for offline ipns modifications, such as the
* initializeKeyspace feature.
*
* @param {object} config
* @param {import('ipfs-repo').IPFSRepo} config.repo
* @param {import('@libp2p/interface-peer-id').PeerId} config.peerId
* @param {import('@libp2p/interface-keychain').KeyChain} config.keychain
*/
startOffline({ repo, peerId, keychain }: {
repo: import('ipfs-repo').IPFSRepo;
peerId: import('@libp2p/interface-peer-id').PeerId;
keychain: import('@libp2p/interface-keychain').KeyChain;
}): void;
/**
* @param {object} config
* @param {import('libp2p').Libp2p} config.libp2p
* @param {import('ipfs-repo').IPFSRepo} config.repo
* @param {import('@libp2p/interface-peer-id').PeerId} config.peerId
* @param {import('@libp2p/interface-keychain').KeyChain} config.keychain
*/
startOnline({ libp2p, repo, peerId, keychain }: {
libp2p: import('libp2p').Libp2p;
repo: import('ipfs-repo').IPFSRepo;
peerId: import('@libp2p/interface-peer-id').PeerId;
keychain: import('@libp2p/interface-keychain').KeyChain;
}): Promise<void>;
stop(): Promise<void>;
/**
* @param {PeerId} peerId
* @param {Uint8Array} value
* @param {number} lifetime
* @param {AbortOptions} [options]
*/
publish(peerId: PeerId, value: Uint8Array, lifetime: number, options?: import("@libp2p/interfaces").AbortOptions | undefined): Promise<{
name: string;
value: Uint8Array;
}>;
/**
*
* @param {string} name
* @param {object} [options]
* @param {boolean} [options.nocache]
* @param {boolean} [options.recursive]
* @param {AbortSignal} [options.signal]
*/
resolve(name: string, options?: {
nocache?: boolean | undefined;
recursive?: boolean | undefined;
signal?: AbortSignal | undefined;
} | undefined): Promise<any>;
/**
* @param {PeerId} peerId
* @param {Uint8Array} value
* @param {AbortOptions} [options]
*/
initializeKeyspace(peerId: PeerId, value: Uint8Array, options?: import("@libp2p/interfaces").AbortOptions | undefined): Promise<{
name: string;
value: Uint8Array;
}>;
}
export type PeerId = import('@libp2p/interface-peer-id').PeerId;
export type AbortOptions = import('@libp2p/interfaces').AbortOptions;
export type ExperimentalOptions = {
ipnsPubsub?: boolean | undefined;
};
export type LibP2POptions = {
config?: DHTConfig | undefined;
};
export type DHTConfig = {
enabled?: boolean | undefined;
};
import { IPNS } from "../ipns/index.js";
//# sourceMappingURL=ipns.d.ts.map