UNPKG

@cityofzion/neo-js

Version:

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

45 lines (44 loc) 1.54 kB
/// <reference types="node" /> import { EventEmitter } from 'events'; import { LoggerOptions } from 'node-log-it'; import { Mesh, MeshOptions } from './core/mesh'; import { NodeOptions } from './core/node'; import { Api, ApiOptions } from './core/api'; import { Syncer, SyncerOptions } from './core/syncer'; import { MemoryStorage, MemoryStorageOptions } from './storages/memory-storage'; import { MongodbStorage, MongodbStorageOptions } from './storages/mongodb-storage'; import { BlockAnalyzer, BlockAnalyzerOptions } from './analyzers/block-analyzer'; export interface NeoOptions { network?: string; storageType?: string; endpoints?: object[]; enableSyncer?: boolean; enableBlockAnalyzer?: boolean; nodeOptions?: NodeOptions; meshOptions?: MeshOptions; storageOptions?: MemoryStorageOptions | MongodbStorageOptions; apiOptions?: ApiOptions; syncerOptions?: SyncerOptions; blockAnalyzerOptions?: BlockAnalyzerOptions; loggerOptions?: LoggerOptions; } export declare class Neo extends EventEmitter { mesh: Mesh; storage?: MemoryStorage | MongodbStorage; api: Api; syncer?: Syncer; blockAnalyzer?: BlockAnalyzer; private options; private logger; constructor(options?: NeoOptions); static readonly VERSION: string; static readonly UserAgent: string; close(): void; private validateOptionalParameters; private getMesh; private getStorage; private getApi; private getSyncer; private getBlockAnalyzer; private getNodes; }