UNPKG

@cityofzion/neo-js

Version:

Running NEO blockchain full node with Node.js and MongoDB.

41 lines (40 loc) 1.4 kB
/// <reference types="node" /> import { EventEmitter } from 'events'; import { LoggerOptions } from 'node-log-it'; import { Node } from './node'; export interface MeshOptions { startBenchmarkOnInit?: boolean; toFetchUserAgent?: boolean; benchmarkIntervalMs?: number; fetchMissingUserAgentIntervalMs?: number; refreshUserAgentIntervalMs?: number; minActiveNodesRequired?: number; pendingRequestsThreshold?: number; loggerOptions?: LoggerOptions; } export declare class Mesh extends EventEmitter { nodes: Node[]; private _isReady; private benchmarkIntervalId?; private fetchMissingUserAgentIntervalId?; private refreshUserAgentIntervalId?; private options; private logger; constructor(nodes: Node[], options?: MeshOptions); isReady(): boolean; startBenchmark(): void; stopBenchmark(): void; close(): void; getFastestNode(activeOnly?: boolean): Node | undefined; getHighestNode(activeOnly?: boolean): Node | undefined; getRandomNode(activeOnly?: boolean): Node | undefined; getOptimalNode(height: number, activeOnly?: boolean): Node | undefined; private validateOptionalParameters; private performBenchmark; private getNodeToBenchmark; private performFetchMissingUserAgent; private performRefreshUserAgent; private checkMeshReady; private setReady; private listActiveNodes; }