Expose config options for cleartext stratum port
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
import { autoconfig } from 'bitcoin-core-startos/startos/actions/config/autoconfig'
|
||||
import { storeJson } from './fileModels/store.json'
|
||||
import { i18n } from './i18n'
|
||||
import { sdk } from './sdk'
|
||||
|
||||
export const setDependencies = sdk.setupDependencies(async ({ effects }) => {
|
||||
// When the user wants sub-second block detection, ask bitcoind to enable
|
||||
// its ZMQ publishers. Kamado degrades gracefully to RPC polling without it,
|
||||
// so this is 'important', not 'critical'. Reactive: toggling ZMQ off in
|
||||
// Kamado's config withdraws the request on the next re-run.
|
||||
const zmqWanted = await storeJson.read((s) => s.zmqEnabled).const(effects)
|
||||
|
||||
if (zmqWanted) {
|
||||
await sdk.action.createTask(effects, 'bitcoind', autoconfig, 'important', {
|
||||
input: {
|
||||
kind: 'partial',
|
||||
accept: [{ zmqEnabled: true }],
|
||||
set: { zmqEnabled: true },
|
||||
},
|
||||
when: { condition: 'input-not-matches', once: false },
|
||||
reason: i18n(
|
||||
'Kamado Pool uses ZMQ block notifications for sub-second stale-work detection — every second of stale work in solo mode is hashrate burned on a dead block.',
|
||||
),
|
||||
})
|
||||
}
|
||||
|
||||
return {
|
||||
bitcoind: {
|
||||
kind: 'running',
|
||||
versionRange: '>=28.4:13',
|
||||
// sync-progress included deliberately: mining on an unsynced node
|
||||
// produces invalid work, so surface IBD as an unsatisfied dependency.
|
||||
healthChecks: ['bitcoind', 'sync-progress'],
|
||||
},
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user