Space Data Server
raw JSON → 23.3.3-0.1.2-1.40.2 verified Sat Apr 25 auth: no javascript
An open-source waypoint for ingestion and data services based on SpaceDataStandards.org. Current stable version 23.3.3-0.1.2-1.40.2. It helps integrators include space data standards into workflows, ingest from sources like Celestrak OMM, and publish to IPFS. Under heavy development; provides local API, server key management, and data formatting options.
Common errors
error Error: Cannot find module 'space-data-server' ↓
cause Package not installed or ESM-only module imported with require()
fix
Ensure you have run 'npm install space-data-server' and use ES import syntax: import { startServer } from 'space-data-server'
error TypeError: SDS.startServer is not a function ↓
cause Using default import incorrectly; startServer is a named export
fix
Use named import: import { startServer } from 'space-data-server'
error Error: IPFS node is not reachable ↓
cause IPFS daemon not running or URL misconfigured
fix
Start IPFS daemon (ipfs daemon) or set IPFS_URL environment variable to the correct API address.
error Error: Invalid private key ↓
cause Provided Ethereum private key is not a valid hex string
fix
Provide a valid 64-character hex private key (without 0x).
Warnings
breaking Major version 23 changed the default export from an object to a named export pattern. ↓
fix Use named imports: import { startServer } from 'space-data-server' instead of const SDS = require('space-data-server')
deprecated The 'localspacedata' API path is deprecated and will be removed. ↓
fix Use the updated API path as documented in the current README.
gotcha Server key must be an Ethereum key; loading from file requires a .json keystore or private key. ↓
fix Ensure the wallet file is in standard Ethereum keystore format or provide a private key.
gotcha IPFS node must be running locally or accessible via URL; server will fail to start otherwise. ↓
fix Start an IPFS daemon or provide a valid IPFS HTTP API URL.
Install
npm install space-data-server yarn add space-data-server pnpm add space-data-server Imports
- default wrong
const SpaceDataServer = require('space-data-server')correctimport SpaceDataServer from 'space-data-server' - startServer
import { startServer } from 'space-data-server' - IngestService wrong
import IngestService from 'space-data-server'correctimport { IngestService } from 'space-data-server' - ServerConfig wrong
import { ServerConfig } from 'space-data-server'correctimport type { ServerConfig } from 'space-data-server'
Quickstart
import { startServer, IngestService } from 'space-data-server';
import { ethers } from 'ethers';
import { create } from 'ipfs-http-client';
const ipfs = create({ url: process.env.IPFS_URL ?? 'http://localhost:5001' });
const wallet = new ethers.Wallet(process.env.ETHEREUM_PRIVATE_KEY ?? '');
const server = await startServer({
port: 3000,
dataDir: './data',
ipfs,
wallet,
});
console.log('Space Data Server running on port', server.port);
const ingest = new IngestService({ server });
await ingest.ingestFromCelestrak();
console.log('Ingested OMM data from Celestrak');