@cityofzion/neo-js
Version:
Running NEO blockchain full node with Node.js and MongoDB.
54 lines (53 loc) • 1.79 kB
TypeScript
/// <reference types="node" />
import { EventEmitter } from 'events';
import { LoggerOptions } from 'node-log-it';
export interface NodeMeta {
isActive: boolean | undefined;
pendingRequests: number | undefined;
latency: number | undefined;
blockHeight: number | undefined;
lastSeenTimestamp: number | undefined;
userAgent: string | undefined;
endpoint: string;
}
export interface NodeOptions {
toLogReliability?: boolean;
truncateRequestLogIntervalMs?: number;
requestLogTtl?: number;
timeout?: number;
loggerOptions?: LoggerOptions;
}
export declare class Node extends EventEmitter {
isActive: boolean | undefined;
pendingRequests: number | undefined;
latency: number | undefined;
blockHeight: number | undefined;
lastPingTimestamp: number | undefined;
lastSeenTimestamp: number | undefined;
userAgent: string | undefined;
endpoint: string;
isBenchmarking: boolean;
private options;
private logger;
private requestLogs;
private truncateRequestLogIntervalId?;
constructor(endpoint: string, options?: NodeOptions);
getBlock(height: number, isVerbose?: boolean): Promise<object>;
getBlockCount(): Promise<object>;
getVersion(): Promise<object>;
getTransaction(transactionId: string, isVerbose?: boolean): Promise<object>;
getNodeMeta(): NodeMeta;
getNodeReliability(): number | undefined;
getShapedLatency(): number | undefined;
close(): void;
private queryInitHandler;
private queryCompleteHandler;
private validateOptionalParameters;
private startBenchmark;
private stopBenchmark;
private truncateRequestLog;
private query;
private increasePendingRequest;
private decreasePendingRequest;
private getRequestConfig;
}