Add a Test SV2 connection button to the pool settings#1752
Open
warioishere wants to merge 1 commit into
Open
Conversation
Users who pick SV2 on a pool that doesn't support it silently end up on the fallback and wonder why. This adds a button under the SV2 authority key field that probes the entered pool for SV2 support before saving. The probe opens a throwaway TCP connection, sends a Noise handshake init and checks whether the pool answers with a Noise response. It doesn't complete the handshake and doesn't touch the running miner. Backend does the work and returns the verdict; the frontend just shows it.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Might be a confusion future: someone picks SV2 on a pool that only speaks SV1, the device quietly falls back, and they wonder why they're on the fallback pool. This adds a "Test SV2 connection" button under the SV2 authority key field (shown when a pool is set to SV2) so you can check before saving.
The test opens a throwaway TCP connection to the entered pool, sends a Noise handshake init and checks whether the pool answers with a Noise response — an SV1 pool won't. It deliberately doesn't complete the handshake (no crypto needed on our side, since ElligatorSwift accepts any 64-byte ephemeral) and runs on its own short-lived socket, so the running miner isn't touched.
Backend does the probe and returns
{ supported, message }; the frontend just shows the result as a toast. Works for both the primary and fallback pool.Tested on hardware against an SV2 and an SV1 pool.
SV2 compatible:
Not SV2 compatible