UNPKG

node-miner

Version:

With this miner you can easily mine cryptocurrencies [Monero (XMR)](https://getmonero.org/) and [Electroneum (ETN)](http://electroneum.com/) on any stratum pool from node.js with the highest hashrate on your hardware. To get maximum hashrate this package

140 lines (139 loc) 3.13 kB
/// <reference types="node" /> export declare type Dictionary<T> = { [key: string]: T; }; export declare type Job = { blob: string; job_id: string; target: string; id: string; }; export declare type TakenJob = Job & { done: boolean; }; export declare type Stats = { miners: MinerStats[]; connections: ConnectionStats[]; }; export declare type MinerStats = { id: string; login: string | null; hashes: number; }; export declare type ConnectionStats = { id: string; host: string; port: string; miners: number; }; export declare type WebSocketQuery = { id?: string; pool?: string; }; export declare type QueueMessage = { type: string; payload: any; }; export declare type RPCMessage = { minerId: string; message: StratumRequest; }; export declare type Socket = NodeJS.Socket & { destroy: () => void; setKeepAlive: (value: boolean) => void; }; export declare type Credentials = { user: string; pass: string; }; export declare type CoinHiveRequest = { type: string; params: CoinHiveLoginParams | CoinHiveJob; }; export declare type CoinHiveLoginParams = { site_key: string; user: string | null; }; export declare type CoinHiveJob = Job; export declare type CoinHiveResponse = { type: string; params: CoinHiveLoginResult | CoinHiveSubmitResult | CoinHiveJob | CoinHiveError; }; export declare type CoinHiveLoginResult = { hashes: number; token: string | null; }; export declare type CoinHiveSubmitResult = { hashes: number; }; export declare type CoinHiveError = { error: string; }; export declare type StratumRequest = { id: number; method: string; params: StratumRequestParams; retry?: number; }; export declare type StratumRequestParams = StratumLoginParams | StratumJob | StratumKeepAlive | StratumEmptyParams; export declare type StratumLoginParams = { login: string; pass?: string; }; export declare type StratumJob = Job & { id: string; }; export declare type StratumEmptyParams = {}; export declare type StratumResponse = { id: string; result: StratumResult; error: StratumError; }; export declare type StratumResult = StratumSubmitResult | StratumLoginResult; export declare type StratumSubmitResult = { status: string; }; export declare type StratumLoginResult = { id: string; job: Job; status: string; }; export declare type StratumError = { code: number; error: string; }; export declare type StratumKeepAlive = { id: string; }; export declare type OpenEvent = { id: string; }; export declare type AuthedEvent = { id: string; login: string; auth: string; }; export declare type JobEvent = { id: string; login: string; job: Job; }; export declare type FoundEvent = { id: string; login: string; job: Job; }; export declare type AcceptedEvent = { id: string; login: string; hashes: number; }; export declare type CloseEvent = { id: string; login: string; }; export declare type ErrorEvent = { id: string; login: string; error: StratumError; };