Bump version to 0.2.7 to add upstream share card features

This commit is contained in:
satoshi committed 2026-09-04 00:56:56 +03:00
1 parent c9da2ebc45
commit e23046fd39
28 files changed
+255 -254

No files matched your search

+13 -13
View File
@@ -63,7 +63,7 @@ export const main = sdk.setupMain(async ({ effects }) => {
// bitcoind's RPC + ZMQ endpoints over the LXC bridge (see bitcoindBridge in
// utils.ts). Each resolves null while bitcoind is absent; the .const()
// watches heal main with a restart when bitcoind appears, disappears, or
// changes ports — and never on a routine bitcoind update.
// changes ports, and never on a routine bitcoind update.
const bitcoind = await bitcoindBridge(effects)
// Clearnet domains attached to the Stratum (TLS, Public Domain) interface.
@@ -71,7 +71,7 @@ export const main = sdk.setupMain(async ({ effects }) => {
// interface UI, and attaching or removing one restarts main through the same
// reactive mechanism as everything else above.
//
// Used only to label the connection in the dashboard — the certificates
// Used only to label the connection in the dashboard, the certificates
// themselves are the OS's concern now, so this never gates anything starting.
const tlsDomains = await publicDomains(
effects,
@@ -181,7 +181,7 @@ export const main = sdk.setupMain(async ({ effects }) => {
// we're never blind to a tip change (every second of stale work in solo
// mode is hashrate burned on a dead block):
// 1. Blockpoll thread: polls getbestblockhash every `blockpoll` ms. Only
// runs when notify=false — so keep notify=false.
// runs when notify=false, so keep notify=false.
// 2. ZMQ hashblock subscriber: instant push from bitcoind. Point it at
// the real bridge endpoint; fall back to ckpool's (dead, harmless)
// loopback default while bitcoind's ZMQ interface is unavailable.
@@ -229,7 +229,7 @@ export const main = sdk.setupMain(async ({ effects }) => {
ckpoolConfTemplate,
)
// Public-domain TLS is StartOS's job, not ours — see the stratum-tls-public
// Public-domain TLS is StartOS's job, not ours, see the stratum-tls-public
// interface in interfaces.ts. The OS terminates ACME-backed TLS and forwards
// plaintext into ckpool's third bind, so nothing here fetches, writes or
// serves a certificate for a public domain.
@@ -251,7 +251,7 @@ export const main = sdk.setupMain(async ({ effects }) => {
//
// Certificate selection is by SNI, and it degrades in exactly the direction
// we need. The primary service's certificate is what a client gets when it
// sends no SNI or an unrecognised one — which is precisely the miner that
// sends no SNI or an unrecognised one, which is precisely the miner that
// connected to a bare LAN IP and therefore cannot use a public certificate
// anyway. A miner that connected by domain name sends SNI, matches a
// secondary service, and gets the CA-issued certificate for that name.
@@ -282,7 +282,7 @@ export const main = sdk.setupMain(async ({ effects }) => {
`accept = 0.0.0.0:${stratumTlsInternalPort}`,
`connect = 127.0.0.1:${ckpoolTlsLoopbackPort}`,
`cert = ${tlsDir}/stratum.pem`,
// No client-cert auth — stratum over TLS is opportunistic encryption;
// No client-cert auth, stratum over TLS is opportunistic encryption;
// the stratum protocol layer handles miner auth via username.
'verify = 0',
'',
@@ -359,7 +359,7 @@ export const main = sdk.setupMain(async ({ effects }) => {
// network-correct self-test address, renders the final ckpool.conf,
// then execs ckpool. When kamado-api kills ckpool on bitcoind
// failure (so miners can fail over), StartOS restarts the daemon and
// the script blocks again until bitcoind recovers — the 0.3.x
// the script blocks again until bitcoind recovers, the 0.3.x
// supervised-restart loop, expressed as a daemon.
command: ['kamado-ckpool-run.sh'],
env: {
@@ -390,7 +390,7 @@ export const main = sdk.setupMain(async ({ effects }) => {
if (!h)
return {
result: 'failure',
message: i18n('Kamado API is unreachable — service may be down'),
message: i18n('Kamado API is unreachable, service may be down'),
}
if (h.bitcoin)
return {
@@ -415,7 +415,7 @@ export const main = sdk.setupMain(async ({ effects }) => {
if (!h)
return {
result: 'failure',
message: i18n('Kamado API is unreachable — service may be down'),
message: i18n('Kamado API is unreachable, service may be down'),
}
const gap = h.submit_gap ?? 0
if (gap === 0)
@@ -426,7 +426,7 @@ export const main = sdk.setupMain(async ({ effects }) => {
return {
result: 'failure',
message: `${gap} ${i18n(
'block(s) submitted to bitcoind but not confirmed — check Bitcoin Core logs',
'block(s) submitted to bitcoind but not confirmed, check Bitcoin Core logs',
)}`,
}
},
@@ -444,14 +444,14 @@ export const main = sdk.setupMain(async ({ effects }) => {
return {
result: 'failure',
message: i18n(
'Kamado API is unreachable — service may be down',
'Kamado API is unreachable, service may be down',
),
}
if (h.zmq_stale)
return {
result: 'failure',
message: i18n(
'ZMQ block feed is stale — block notifications are falling back to RPC polling',
'ZMQ block feed is stale, block notifications are falling back to RPC polling',
),
}
return {
@@ -504,7 +504,7 @@ export const main = sdk.setupMain(async ({ effects }) => {
),
},
// stunnel now runs only when local TLS is on, and that is exactly
// when the self-signed certificate it serves is generated — so the
// when the self-signed certificate it serves is generated, so the
// oneshot is always the dependency.
requires: ['tls-cert'],
}