chia-network-scanner
Version:
Scans the Chia network for active full nodes
39 lines (38 loc) • 1.12 kB
TypeScript
/// <reference types="node" />
import { Peer } from './peer';
interface PeerConnectionOptions {
networkId: string;
protocolVersion: string;
softwareVersion: string;
nodeType: number;
hostname: string;
port: number;
connectionTimeout: number;
cert: Buffer;
key: Buffer;
}
declare class PeerConnection {
private readonly messageChannel;
private readonly messageHandlers;
constructor({ networkId, protocolVersion, softwareVersion, nodeType, hostname, port, connectionTimeout, cert, key }: PeerConnectionOptions);
connect(): Promise<void>;
/**
* Chia application level handshake required before using the peer protocol.
*/
handshake(): Promise<this>;
sendMessage(messageType: number, data: any): void;
/**
* Get the peers of this peer.
*/
getPeers(): Promise<Peer[]>;
close(): void;
private addMessageHandler;
private onMessage;
/**
* Expects a message of a messageType to be received within a timeout.
*
* @param messageType expected
*/
private expectMessage;
}
export { PeerConnection };