2 releases

0.1.1 May 7, 2024
0.1.0 Mar 29, 2024

#15 in #stratum

MIT/Apache

685KB
14K SLoC

JD Client

  • connect to the jd-server
  • connect to the template-provider The JD Client 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. ```
  • transparently relay the OpenExtendedChannel to upstream

Setup

Configuration File

The configuration file contains the following information:

  1. The downstream socket information, which includes the listening IP address (downstream_address) and port (downstream_port).
  2. The maximum and minimum SRI versions (max_supported_version and min_supported_version) with size as (min_extranonce2_size)
  3. The authentication keys for the downstream connection (authority_public_key, authority_secret_key)
  4. A retry parameter which tells JDC the number of times to reinitialize itself after a failure.
  5. The Template Provider address (tp_address).
  6. Optionally, you may want to verify that your TP connection is authentic. You may get tp_authority_public_key from the logs of your TP, for example:

2024-02-13T14:59:24Z Template Provider authority key: EguTM8URcZDQVeEBsM4B5vg9weqEUnufA8pm85fG4bZd

Run

Run the Job Declarator Client (JDC): There are two files when you cd into roles/jd-client/config-examples/

  1. jdc-config-hosted-example.toml connects to the community-hosted roles.
  2. jdc-config-local-example.toml connects to self-hosted Job Declarator Client (JDC) and Translator Proxy
cd roles/jd-client/config-examples/
cargo run -- -c jdc-config-hosted-example.toml

Dependencies

~14–22MB
~261K SLoC