2 个版本
0.1.1 | 2024 年 5 月 7 日 |
---|---|
0.1.0 | 2024 年 3 月 29 日 |
在 网络编程 中排名第 1303
790KB
16K SLoC
SV1 到 SV2 翻译器代理
此代理设计用于位于 SV1 下游角色(通常是运行 SV1 固件的采矿设备)和 SV2 上游角色(通常是具有扩展通道支持的 SV2 钓鱼服务器)之间。
最典型的配置是
<--- Most Downstream ----------------------------------------- Most Upstream --->
+---------------------------------------------------+ +------------------------+
| Mining Farm | | Remote Pool |
| | | |
| +-------------------+ +------------------+ | | +-----------------+ |
| | SV1 Mining Device | <-> | Translator Proxy | <------> | SV2 Pool Server | |
| +-------------------+ +------------------+ | | +-----------------+ |
| | | |
+---------------------------------------------------+ +------------------------+
设置
配置文件
tproxy-config-local-jdc-example.toml
和 tproxy-config-local-pool-example.toml
是翻译器代理的配置文件示例。
配置文件包含以下信息
- SV2 上游连接信息,包括 SV2 钓鱼池的公钥权威机构(
upstream_authority_pubkey
)和 SV2 钓鱼池的连接地址(upstream_address
)和端口(upstream_port
)。 - SV1 下游套接字信息,包括监听 IP 地址(
downstream_address
)和端口(downstream_port
)。 - 翻译器代理实现者想要支持的 SRI 版本的最高和最低版本(
max_supported_version
和min_supported_version
)。目前唯一可用的版本是2
。 - 翻译器代理实现者希望使用的期望最小
extranonce2
大小(min_extranonce2_size
)。extranonce2
的大小最终由SV2上游角色决定,但如果指定的大小满足SV2上游角色的要求,则应优先考虑此配置文件中指定的大小。 - 下游难度参数,如
- 将连接到翻译器代理的最低效采矿设备的算力(hashes/s)(
min_individual_miner_hashrate
) - 采矿设备应发送到翻译器代理的每分钟份额数(
shares_per_minute
)。
- 上游难度参数,如
- 在将通道算力更新到池之前需要经过的秒数(
channel_diff_update_interval
) - 所有SV1下游角色的预估总算力(
channel_nominal_hashrate
)
运行
roles/translator/config-examples
中有两个文件
tproxy-config-local-jdc-example.toml
,它假设使用作业声明协议并且本地部署了JD客户端tproxy-config-local-pool-example.toml
,它假设不使用作业声明协议,并且本地部署了池
cd roles/translator/config-examples/
cargo run -- -c tproxy-config-local-jdc-example.toml
依赖项
~21–35MB
~492K SLoC