From 83c769849dd8fbd7f3bcf03d7b58ba09764bdb30 Mon Sep 17 00:00:00 2001 From: Ben Wilson Date: Thu, 14 Dec 2023 22:30:55 -0500 Subject: [PATCH] removed hash from client stats table, connection pool size --- src/ORM/client-statistics/client-statistics.entity.ts | 11 +++++------ src/app.module.ts | 2 +- src/models/StratumV1Client.ts | 2 +- src/models/StratumV1ClientStatistics.ts | 7 +++---- 4 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/ORM/client-statistics/client-statistics.entity.ts b/src/ORM/client-statistics/client-statistics.entity.ts index c7599e3..615819f 100644 --- a/src/ORM/client-statistics/client-statistics.entity.ts +++ b/src/ORM/client-statistics/client-statistics.entity.ts @@ -1,15 +1,14 @@ -import { Column, Entity, Index, PrimaryColumn } from 'typeorm'; +import { Column, Entity, Index, PrimaryGeneratedColumn } from 'typeorm'; import { TrackedEntity } from '../utils/TrackedEntity.entity'; @Entity() -//Index for the heartbeat update -@Index(["address", "clientName", "sessionId", "time"]) +//Index for getHashRateForSession +@Index(["address", "clientName", "sessionId"]) export class ClientStatisticsEntity extends TrackedEntity { - @PrimaryColumn({ length: 64, type: 'varchar' }) - submissionHash: string; - + @PrimaryGeneratedColumn() + id: number; @Column({ length: 62, type: 'varchar' }) address: string; diff --git a/src/app.module.ts b/src/app.module.ts index a573267..5e0083e 100644 --- a/src/app.module.ts +++ b/src/app.module.ts @@ -64,7 +64,7 @@ const ORMModules = [ ], synchronize: configService.get('PRODUCTION') != 'true', logging: false, - + poolSize: 30 } }, imports: [ConfigModule], diff --git a/src/models/StratumV1Client.ts b/src/models/StratumV1Client.ts index 733f9eb..067efd7 100644 --- a/src/models/StratumV1Client.ts +++ b/src/models/StratumV1Client.ts @@ -505,7 +505,7 @@ export class StratumV1Client { } } try { - await this.statistics.addSubmission(this.entity, submissionHash, this.sessionDifficulty); + await this.statistics.addSubmission(this.entity, this.sessionDifficulty); await this.clientService.heartbeat(this.entity.address, this.entity.clientName, this.entity.sessionId, this.hashRate); } catch (e) { console.log(e); diff --git a/src/models/StratumV1ClientStatistics.ts b/src/models/StratumV1ClientStatistics.ts index 8aae0bf..9f72c4f 100644 --- a/src/models/StratumV1ClientStatistics.ts +++ b/src/models/StratumV1ClientStatistics.ts @@ -17,7 +17,7 @@ export class StratumV1ClientStatistics { this.submissionCacheStart = new Date(); } - public async addSubmission(client: ClientEntity, submissionHash: string, targetDifficulty: number) { + public async addSubmission(client: ClientEntity, targetDifficulty: number) { if (this.submissionCache.length > CACHE_SIZE) { this.submissionCache.shift(); @@ -31,15 +31,14 @@ export class StratumV1ClientStatistics { // 10 min var coeff = 1000 * 60 * 10; var date = new Date(); - var rounded = new Date(Math.round(date.getTime() / coeff) * coeff); + var rounded = new Date(Math.floor(date.getTime() / coeff) * coeff); await this.clientStatisticsService.save({ time: rounded.getTime(), shares: targetDifficulty, address: client.address, clientName: client.clientName, - sessionId: client.sessionId, - submissionHash + sessionId: client.sessionId }); }