UNPKG

@cityofzion/neo-js

Version:

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

63 lines (62 loc) 2.19 kB
/// <reference types="node" /> import { EventEmitter } from 'events'; import { LoggerOptions } from 'node-log-it'; import { MemoryStorage } from '../storages/memory-storage'; import { MongodbStorage } from '../storages/mongodb-storage'; export interface BlockAnalyzerOptions { minHeight?: number; maxHeight?: number; startOnInit?: boolean; toEvaluateTransactions?: boolean; toEvaluateAssets?: boolean; blockQueueConcurrency?: number; transactionQueueConcurrency?: number; enqueueEvaluateBlockIntervalMs?: number; verifyBlocksIntervalMs?: number; maxBlockQueueLength?: number; maxTransactionQueueLength?: number; standardEvaluateBlockPriority?: number; missingEvaluateBlockPriority?: number; legacyEvaluateBlockPriority?: number; standardEvaluateTransactionPriority?: number; missingEvaluateTransactionPriority?: number; legacyEvaluateTransactionPriority?: number; loggerOptions?: LoggerOptions; } export declare class BlockAnalyzer extends EventEmitter { private BLOCK_META_API_LEVEL; private TRANSACTION_META_API_LEVEL; private _isRunning; private blockQueue; private transactionQueue; private blockWritePointer; private storage?; private options; private logger; private enqueueEvaluateBlockIntervalId?; private blockVerificationIntervalId?; private isVerifyingBlocks; constructor(storage?: MemoryStorage | MongodbStorage, options?: BlockAnalyzerOptions); isRunning(): boolean; start(): void; stop(): void; close(): void; private validateOptionalParameters; private getPriorityQueue; private initEvaluateBlock; private setBlockWritePointer; private initBlockVerification; private doBlockVerification; private verifyBlockMetas; private verifyTransactionMetas; private doEnqueueEvaluateBlock; private isReachedMaxHeight; private isReachedMaxQueueLength; private increaseBlockWritePointer; private enqueueEvaluateBlock; private evaluateBlock; private enqueueEvaluateTransaction; private enqueueEvaluateTransactionWithHeight; private evaluateTransaction; private getNumberArray; }