UNPKG

mokka

Version:

Mokka Consensus Algorithm implementation in Javascript

35 lines (34 loc) 1.3 kB
/// <reference types="node" /> import { EventEmitter } from 'events'; declare class NodeModel extends EventEmitter { get state(): number; get term(): number; get leaderPublicKey(): string; get address(): string; get proof(): string; heartbeat: number; proofExpiration: number; electionTimeout: number; publicKeysRoot: string; publicKeysCombinationsInQuorum: string[][]; readonly privateKey: string; readonly publicKey: string; readonly nodes: Map<string, NodeModel>; readonly lastLeadersPublicKeyInTermMap: Map<number, string>; private _state; private _term; private lastTermUpdateTime; private _proof; private _leaderPublicKey; private _proofMintedTime; private readonly nodeAddress; private readonly crashModel; constructor(privateKey: string, multiaddr: string, crashModel?: 'CFT' | 'BFT', state?: number); majority(): number; write(address: string, packet: Buffer): void; setState(state: number, term: number, leaderPublicKey: string, proof?: string, proofMintedTime?: number): void; getProofMintedTime(): number; checkPublicKeyCanBeLeaderNextRound(publicKey: string): boolean; checkTermNumber(term: number): boolean; } export { NodeModel };