Skip to content

Doge Task/Solution Processing#810

Open
Franziska-Mueller wants to merge 12 commits intodevelopfrom
feature/2026-03-19-process-doge-packets
Open

Doge Task/Solution Processing#810
Franziska-Mueller wants to merge 12 commits intodevelopfrom
feature/2026-03-19-process-doge-packets

Conversation

@Franziska-Mueller
Copy link
Copy Markdown
Collaborator

@Franziska-Mueller Franziska-Mueller commented Mar 26, 2026

This PR adds processing of doge tasks and solutions to the core node.

A new CustomQubicMiningStorage class is introduced to save active tasks and keep record of solutions to prevent duplicate solutions from being broadcasted. The class is designed to support other custom mining tasks apart from doge in the future.

Apart from adding tasks and solutions to the storage, the core node will send an oracle query for share validation if the solution came from a computor pool matching its own comp id.

Missing features:

  • increase revenue for validated doge shares
  • resend oracle query if the tx isn't included in system.tick + TICK_TRANSACTIONS_PUBLICATION_OFFSET or if it is an empty tick

@Franziska-Mueller Franziska-Mueller changed the base branch from main to develop March 26, 2026 18:08
@Franziska-Mueller Franziska-Mueller marked this pull request as draft March 26, 2026 18:12
@Franziska-Mueller Franziska-Mueller marked this pull request as ready for review March 27, 2026 11:19
{
LockGuard guard(lock);

if (findTask(task->customMiningType, task->jobId) >= 0)
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should it be if (findTask(task->customMiningType, task->jobId) < 0) ? I think below code block for adding a new task if this task doesn't exist ?

LockGuard guard(lock);

// Check if the solution corresponds to an active task.
unsigned int typeSpecificTaskIndex = findTask(solution->customMiningType, solution->jobId);
Copy link
Copy Markdown
Collaborator

@cyber-pc cyber-pc Mar 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We mixed the unsigned and signed data here, findTask return int and typeSpecificTaskIndex is unsigned int and we has problem with check if (typeSpecificTaskIndex < 0) if the findTask return -1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants