v0.0.9.3
Build Service / BuildPackage (push) Has been cancelled

This commit is contained in:
2026-05-26 02:27:14 -04:00
parent 70b8aab0f3
commit 931becd274
6 changed files with 45 additions and 15 deletions
+3
View File
@@ -141,6 +141,9 @@ const dict = {
'Subs API': 141,
'REST API of the subs daemon (subsd) for Subspaces operations. Distinct from the Subspaces Prover and Subspaces Registry. Only useful while Subspaces is enabled.':
142,
'Spaces API': 143,
'JSON-RPC API served by the spaced daemon. Authenticated with the spaced RPC credentials (SPACED_RPC_USER / SPACED_RPC_PASSWORD from store.spacedAuth). spaced binds 0.0.0.0 so external processes can reach this endpoint.':
144,
// interfaces.ts
'Space-CLI Web UI': 12,
+22
View File
@@ -3,6 +3,7 @@ import { sdk } from './sdk'
import {
CERTRELAY_PORT,
EXPLORER_PORT,
spacedRpcPort,
SUBSPACES_PROVER_PORT,
SUBSPACES_REGISTRY_PORT,
SUBSPACES_UI_PORT,
@@ -151,6 +152,26 @@ export const setInterfaces = sdk.setupInterfaces(async ({ effects }) => {
const certrelayReceipt = await certrelayMultiOrigin.export([certrelay])
const spacedMulti = sdk.MultiHost.of(effects, 'spaced-api-multi')
const spacedMultiOrigin = await spacedMulti.bindPort(spacedRpcPort, {
protocol: 'http',
})
const spacedApi = sdk.createInterface(effects, {
name: i18n('Spaces API'),
id: 'spaces-api',
description: i18n(
'JSON-RPC API served by the spaced daemon. Authenticated with the spaced RPC credentials (SPACED_RPC_USER / SPACED_RPC_PASSWORD from store.spacedAuth). spaced binds 0.0.0.0 so external processes can reach this endpoint.',
),
type: 'api',
masked: false,
schemeOverride: null,
username: null,
path: '',
query: {},
})
const spacedApiReceipt = await spacedMultiOrigin.export([spacedApi])
return [
uiReceipt,
explorerReceipt,
@@ -158,5 +179,6 @@ export const setInterfaces = sdk.setupInterfaces(async ({ effects }) => {
proverReceipt,
registryReceipt,
certrelayReceipt,
spacedApiReceipt,
]
})
+4 -1
View File
@@ -62,7 +62,10 @@ export const main = sdk.setupMain(async ({ effects }) => {
const spacedEnv = {
SPACED_CHAIN,
SPACED_DATA_DIR: dataDir,
SPACED_RPC_BIND: '127.0.0.1',
// Listen on all interfaces so the spaced RPC can be exposed externally via
// the "Spaces API" StartOS interface. Internal clients (subs, certrelay,
// indexer, space-cli, health checks) still connect over loopback below.
SPACED_RPC_BIND: '0.0.0.0',
SPACED_RPC_PORT: String(spacedRpcPort),
SPACED_RPC_URL: `http://127.0.0.1:${spacedRpcPort}`,
SPACED_BLOCK_INDEX: 'true',
+2 -2
View File
@@ -1,7 +1,7 @@
import { VersionGraph } from '@start9labs/start-sdk'
import { v_0_0_9_2 } from './v0.0.9.2'
import { v_0_0_9_3 } from './v0.0.9.3'
export const versionGraph = VersionGraph.of({
current: v_0_0_9_2,
current: v_0_0_9_3,
other: [],
})
@@ -1,9 +1,10 @@
import { IMPOSSIBLE, VersionInfo } from '@start9labs/start-sdk'
export const v_0_0_9_2 = VersionInfo.of({
version: '0.0.9:2',
export const v_0_0_9_3 = VersionInfo.of({
version: '0.0.9:3',
releaseNotes: {
en_US: `- Added a dedicated "Subs API" interface (type api) on the subs daemon's port (7777), distinct from the Subspaces Prover (8888) and Subspaces Registry (8081) interfaces. The subs daemon is "subsd — an HTTP REST API server"; this surfaces that REST API as its own dashboard entry.
en_US: `- Exposed the spaced JSON-RPC API as a new "Spaces API" StartOS interface (port 7225) and changed SPACED_RPC_BIND from 127.0.0.1 to 0.0.0.0 so external processes can reach it. It remains authenticated with the spaced RPC credentials (store.spacedAuth); internal clients still connect over loopback.
- Added a dedicated "Subs API" interface (type api) on the subs daemon's port (7777), distinct from the Subspaces Prover (8888) and Subspaces Registry (8081) interfaces. The subs daemon is "subsd — an HTTP REST API server"; this surfaces that REST API as its own dashboard entry.
- New "Enable / Disable Subspaces Prover" action independently gates just the subs-prover daemon (store.enableSubsProver), **disabled by default**. When off, subs-prover does not start (it runs lengthy boot-time timing tests), but its interface on 8888 stays registered. It is added last and nothing depends on it, so its slow startup never blocks subs, the registry, or certrelay.
- Embedded Certrelay (prebuilt \`horologger/certrelay:v0.2.3\` image, static musl binaries). Always on — runs the \`certrelay\` server on port 7778 from service start, as its own StartOS interface. It serves cryptographic proofs binding Bitcoin-anchored handles to owner keys, talking to the local spaced over loopback using the store.spacedAuth credentials. The bundled \`fabric\` CLI is copied to /data/bin/fabric so it's runnable from the Space-CLI Web UI. New "Configure Certrelay" action sets CERTRELAY_SELF_URL, CERTRELAY_BOOTSTRAP, and CERTRELAY_HEALTHCHECK_HANDLE (stored in store.json; saving restarts the service). Set CERTRELAY_SELF_URL to the publicly visible URL StartOS exposes for the Certrelay interface.
- Removed the build-from-source chains for the Go indexer and the SvelteKit explorer, and dropped their builder images (\`golang:1.23-alpine\`, \`node:20-alpine\`). This shrinks the .s9pk and removes the multi-minute first-enable compile. The indexer + explorer-UI daemons are now stubbed with TODOs in startos/main.ts pending prebuilt images (indexer image not yet produced; explorer image to be provided). Enabling the embedded explorer currently starts PostgreSQL only. All explorer-indexer actions (show-db-credentials, reset-db-state, reset-indexer-state, reset-explorer-state) are retained.