@cityofzion/neo-js
Version:
Running NEO blockchain full node with Node.js and MongoDB.
63 lines (62 loc) • 2.19 kB
TypeScript
/// <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;
}