kubo-rpc-client
Version:
A client library for the Kubo RPC API
55 lines • 1.68 kB
TypeScript
import type { HTTPRPCOptions } from '../index.js';
import type { HTTPRPCClient } from '../lib/core.js';
import type { PeerId } from '@libp2p/interface';
import type { Multiaddr } from '@multiformats/multiaddr';
export interface SwarmAPI {
/**
* List of known addresses of each peer connected
*/
addrs(options?: HTTPRPCOptions): Promise<AddrsResult[]>;
/**
* Open a connection to a given address or peer id
*/
connect(multiaddrOrPeerId: Multiaddr | PeerId, options?: HTTPRPCOptions): Promise<void>;
/**
* Close a connection to a given address or peer id
*/
disconnect(multiaddrOrPeerId: Multiaddr | PeerId, options?: HTTPRPCOptions): Promise<void>;
/**
* Local addresses this node is listening on
*/
localAddrs(options?: HTTPRPCOptions): Promise<Multiaddr[]>;
/**
* Return a list of connected peers
*/
peers(options?: SwarmPeersOptions): Promise<SwarmPeersResult[]>;
}
export interface AddrsResult {
id: PeerId;
addrs: Multiaddr[];
}
export interface SwarmPeersOptions extends HTTPRPCOptions {
direction?: boolean;
streams?: boolean;
verbose?: boolean;
latency?: boolean;
identify?: boolean;
}
export interface SwarmPeersResult {
addr: Multiaddr;
peer: PeerId;
latency?: string;
muxer?: string;
streams?: string[];
direction?: 'inbound' | 'outbound';
error?: Error;
identify?: {
ID: string;
PublicKey?: string;
Addresses?: string[];
AgentVersion?: string;
Protocols?: string[];
};
}
export declare function createSwarm(client: HTTPRPCClient): SwarmAPI;
//# sourceMappingURL=index.d.ts.map