TCMinerProxy

Documentation

TCMinerProxy Wallet and Worker-Name Hot Replacement

Use TCMinerProxy wallet.device rules to hot-replace miner wallets and worker names with wildcards, multi-value matching, preserve-value placeholders, and optional pool redirection.

Wallet and Worker-Name Hot Replacement

Wallet and worker-name hot replacement dynamically rewrites the identity submitted by a miner while its proxy port is running. The current rule model combines both identity parts as wallet.device; wallet and worker-name rules are no longer separate types.

When a rule matches, the server forcibly disconnects the miner and applies the new wallet and worker name on its next connection.

Difference from fee hot update

Feature What it changes Actively disconnects miners
Fee config hot update Fee wallets, fee worker names, fee ratios, and fee pools No
Wallet / worker-name hot replacement The connected miner’s submitted wallet and worker name, plus an optional target pool Yes after a match; takes effect on reconnect

Use fee hot update for fee-wallet maintenance. Use this feature when the miner’s current wallet and worker name determine whether its submitted identity should be rewritten.

Open the dialog

Rules require an already-created port ID, so they cannot be configured before a new port is saved. Open the dialog from either location:

  1. Proxy-port row actions -> Wallet / worker name hot replacement.
  2. Port-detail header -> Wallet / worker name hot replacement.

On the port-detail page, the action shows the current rule count when it is greater than zero.

Combined match pattern

pattern is built as match-wallet.match-worker. Each side accepts one value, a comma-separated list, or a whole-side *.

pattern Matches
a.* Every worker using wallet a.
*.b Worker name b under any wallet.
*.* Every miner on the current port.
a,b,c.* Every worker using wallet a, b, or c.
*.d,e,f,g Workers named d, e, f, or g.

Ordinary values accept ASCII letters, digits, _, @, and -. Matching uses the complete value; regular expressions, partial wildcards, and dots inside either identity part are not supported.

Combined replacement target

target is built as target-wallet.target-worker. Each side is one fixed value or its preserve-current-value placeholder.

target Result
a.#{DEVICE} Replace the wallet with a and preserve the current worker name.
#{WALLET}.b Preserve the current wallet and replace the worker name with b.
c.d Replace the wallet with c and the worker name with d.
  • Use #{WALLET} only on the wallet side.
  • Use #{DEVICE} only on the worker-name side.
  • Targets do not accept * or comma-separated lists, and placeholders cannot be swapped between sides.

Optional pool redirection

Enable Redirect mining address at the same time to also configure:

  • Pool address in host:port form.
  • Pool protocol: TCP or TLS/SSL, matching the target endpoint.

When disabled, the rule changes only the wallet and worker name; the miner keeps using the pool configured on the current proxy port.

Create a rule

  1. Open the dialog and click Add rule.
  2. Enter the match wallet and worker name, or use the all-wallets and all-workers shortcuts.
  3. Enter the target wallet and worker name, or use the preserve-current-value shortcuts.
  4. Optionally enable pool redirection and enter its endpoint and protocol.
  5. Review the generated pattern and target combinations.
  6. Click Create rule and confirm the affected range.
  7. While the request is running, the confirmation button shows a loader and rejects duplicate clicks. It closes on success; after a failure it remains open and becomes available again.

The current endpoint supports only combined type t=2. Legacy types t=0 and t=1 are deprecated, and the Web UI always creates t=2 rules.

Preview, delete, and change rules

Saved rules appear in the rule list. Select one to preview its complete pattern, target, and optional pool redirection.

  • Saved rules are read-only and cannot be edited in place.
  • To change a rule, delete it and create a replacement.
  • Deletion requires confirmation; its confirmation button also loads and blocks duplicate clicks during the request.
  • After a successful create or delete, the UI refreshes both the rule list and port workers.

Verify a match

After a matched miner reconnects, inspect its wallet and worker-name fields in the port-detail device list. The UI shows the source and resolved target separately so the applied identity is visible.

When #{WALLET} or #{DEVICE} is used, that side resolves to the miner’s current value. If the miner has reconnected but no concrete target is shown, check:

  1. Whether the worker response contains a non-empty wd.
  2. Whether the current port’s rule list contains the same ID.
  3. Whether that rule is t=2 and its target is a valid wallet.device combination.

wd corresponds to tuple index 0, the rule ID returned by /api/ht/{server_id}. Legacy fields hw and hd are deprecated. See Proxy ports and fee-wallet API for the complete contract.

Operational guidance

  • Validate with a small test group before widening a pattern.
  • Use *.* carefully because it can reconnect many miners on the port at once.
  • Recheck the wallet, worker name, target pool, and protocol before confirming.
  • After creating or deleting a rule, verify the device identity and upstream-pool data from port detail.
  • TP/NGINX transparent-forwarding ports do not parse real wallets or worker names and are not suitable for identity hot replacement.