Crates.io | translator_sv2 |
lib.rs | translator_sv2 |
version | 0.1.1 |
source | src |
created_at | 2024-03-29 15:42:27.468184 |
updated_at | 2024-05-07 14:42:12.548444 |
description | Server used to bridge SV1 miners to SV2 pools |
homepage | |
repository | https://github.com/stratum-mining/stratum |
max_upload_size | |
id | 1190314 |
size | 210,115 |
This proxy is designed to sit in between a SV1 Downstream role (most typically Mining Device(s) running SV1 firmware) and a SV2 Upstream role (most typically a SV2 Pool Server with Extended Channel support).
The most typical high level configuration is:
<--- Most Downstream ----------------------------------------- Most Upstream --->
+---------------------------------------------------+ +------------------------+
| Mining Farm | | Remote Pool |
| | | |
| +-------------------+ +------------------+ | | +-----------------+ |
| | SV1 Mining Device | <-> | Translator Proxy | <------> | SV2 Pool Server | |
| +-------------------+ +------------------+ | | +-----------------+ |
| | | |
+---------------------------------------------------+ +------------------------+
tproxy-config-local-jdc-example.toml
and tproxy-config-local-pool-example.toml
are examples of configuration files for the Translator Proxy.
The configuration file contains the following information:
upstream_authority_pubkey
) and the SV2 Pool connection address (upstream_address
) and port
(upstream_port
).downstream_address
) and port (downstream_port
).max_supported_version
and min_supported_version
) that
the Translator Proxy implementer wants to support. Currently the only available version is 2
.extranonce2
size that the Translator Proxy implementer wants to use
(min_extranonce2_size
). The extranonce2
size is ultimately decided by the SV2 Upstream role,
but if the specified size meets the SV2 Upstream role's requirements, the size specified in this
configuration file should be favored.min_individual_miner_hashrate
)shares_per_minute
).channel_diff_update_interval
)channel_nominal_hashrate
)There are two files in roles/translator/config-examples
:
tproxy-config-local-jdc-example.toml
which assumes the Job Declaration protocol is used and a JD Client is deployed locallytproxy-config-local-pool-example.toml
which assumes Job Declaration protocol is NOT used, and a Pool is deployed locallycd roles/translator/config-examples/
cargo run -- -c tproxy-config-local-jdc-example.toml