diff --git a/src/models/StratumV1Client.ts b/src/models/StratumV1Client.ts index f603301..666ffdb 100644 --- a/src/models/StratumV1Client.ts +++ b/src/models/StratumV1Client.ts @@ -219,6 +219,11 @@ export class StratumV1Client extends EasyUnsubscribe { && this.clientAuthorization != null && this.stratumInitialized == false) { + if (this.clientSuggestedDifficulty == null) { + const setDifficulty = JSON.stringify(new SuggestDifficulty().response(this.sessionDifficulty)); + this.socket.write(setDifficulty + '\n') + } + this.stratumInitialized = true; this.entity = await this.clientService.save({ diff --git a/src/models/stratum-messages/StratumBaseMessage.ts b/src/models/stratum-messages/StratumBaseMessage.ts index 4cc8d08..bef9867 100644 --- a/src/models/stratum-messages/StratumBaseMessage.ts +++ b/src/models/stratum-messages/StratumBaseMessage.ts @@ -4,7 +4,7 @@ import { eRequestMethod } from '../enums/eRequestMethod'; export class StratumBaseMessage { @IsNumber() - id: number; + id?: number = null; @IsEnum(eRequestMethod) method: eRequestMethod; } \ No newline at end of file diff --git a/src/models/stratum-messages/SubscriptionMessage.ts b/src/models/stratum-messages/SubscriptionMessage.ts index a0a4393..c38abbb 100644 --- a/src/models/stratum-messages/SubscriptionMessage.ts +++ b/src/models/stratum-messages/SubscriptionMessage.ts @@ -20,8 +20,7 @@ export class SubscriptionMessage extends StratumBaseMessage { error: null, result: [ [ - ['mining.set_difficulty', '731ec5e0649606ff'], - ['mining.notify', '731ec5e0649606ff'] + ['mining.notify', clientId] ], clientId, //Extranonce1 - Hex-encoded, per-connection unique string which will be used for coinbase serialization later. Keep it safe! 4 //Extranonce2_size - Represents expected length of extranonce2 which will be generated by the miner.