@savid/rlpx-peeper
Version:
Discover [RLPx](https://github.com/ethereum/devp2p/blob/master/rlpx.md) peers with the [eth/66](https://eips.ethereum.org/EIPS/eip-2481) protocol.
38 lines (37 loc) • 1.17 kB
TypeScript
/// <reference types="node" resolution-mode="require"/>
/// <reference types="node" resolution-mode="require"/>
import EventEmitter from 'events';
import { RLPx, DPT } from '@ethereumjs/devp2p';
declare type Options = {
dnsNetworks?: string[];
bootnodes?: {
id: Buffer;
ip: string;
port: number;
}[];
refreshInterval?: number;
maxPeers?: number;
dnsAddress?: string;
};
declare interface Server {
on(event: 'error', listener: (error: Error) => void): this;
on(event: 'peer', listener: (data: string) => void): this;
}
declare class Server extends EventEmitter {
key: Buffer;
bootnodes: NonNullable<Options['bootnodes']>;
dnsNetworks: NonNullable<Options['dnsNetworks']>;
refreshInterval: NonNullable<Options['refreshInterval']>;
peers: Map<any, any>;
rlpx: RLPx | undefined;
dpt: DPT | undefined;
name: string;
maxPeers: NonNullable<Options['maxPeers']>;
dnsAddress: NonNullable<Options['dnsAddress']>;
constructor(options: Options);
start(): Promise<(void | undefined)[]>;
stop(): void;
initDpt(): Promise<void>;
initRlpx(): void;
}
export default Server;