Skip to content

Commit

Permalink
Add more information about the Job Declarator on the protocol overview (
Browse files Browse the repository at this point in the history
#92)

* Add more information about the Job Declarator on the protocol overview

* Apply suggestions from code review

Removed information about the Job Distribution Protocol from the protocol overview

Co-authored-by: Gabriele Vernetti <[email protected]>

---------

Co-authored-by: Gabriele Vernetti <[email protected]>
  • Loading branch information
itornaza and GitGab19 authored Jul 15, 2024
1 parent c686dca commit cc29156
Showing 1 changed file with 4 additions and 5 deletions.
9 changes: 4 additions & 5 deletions 03-Protocol-Overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,20 +37,19 @@ Meanwhile, there are five possible roles (types of software/hardware) for commun
May optionally provide additional monitoring, receive work from a Job Declarator and use custom work with a pool, or provide other services for a farm.

4. **Job Declarator (optional)**
Receives custom block templates from a Template Provider and declares use of the template with the pool using the Job Declaration Protocol.
Further distributes the jobs to Mining Proxy (or Proxies) using the Job Distribution Protocol. This role will often be a built-in part of a Mining Proxy.
It is further divided into a Job Declarator Client and a Job Declarator Server.
The Job Declarator Client receives custom block templates from a Template Provider and declares use of them with the Job Declarator Server (which is typically Pool side) using the Job Declaration Protocol.

5. **Template Provider**
Generates custom block templates to be passed to the Job Declarator for eventual mining.
This is usually just a Bitcoin Core full node (or possibly some other node implementation).

The Mining Protocol is used for communication between a Mining Device and Pool Service, Mining Device and Mining Proxy, Mining Proxy and Mining Proxy, or Mining Proxy and Pool Service.

The Job Declaration Protocol is used for communication between a Job Declarator and Pool Service.
The Job Declaration Protocol is used for communication between a Job Declarator Client and a Job Declarator Server (which is typically Pool side).

The Template Distribution Protocol is used for communication either between a Job Declarator and a Template Provider or between a Pool Service and Template Provider.
The Template Distribution Protocol is used for communication either between a Job Declarator Client and a Template Provider or between a Pool Service and Template Provider.

The Job Distribution Protocol is used for communication between a Job Declarator and a Mining Proxy.

One type of software/hardware can fulfill more than one role (e.g. a Mining Proxy is often both a Mining Proxy and a Job Declarator and may occasionally further contain a Template Provider in the form of a full node on the same device).

Expand Down

0 comments on commit cc29156

Please sign in to comment.