{"id":18813,"library":"space-data-server","title":"Space Data Server","description":"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.","status":"active","version":"23.3.3-0.1.2-1.40.2","language":"javascript","source_language":"en","source_url":null,"tags":["javascript"],"install":[{"cmd":"npm install space-data-server","lang":"bash","label":"npm"},{"cmd":"yarn add space-data-server","lang":"bash","label":"yarn"},{"cmd":"pnpm add space-data-server","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Used for Ethereum key management and server key updates","package":"ethers","optional":false},{"reason":"Required for IPFS folder publishing and file pinning/unpinning","package":"ipfs-http-client","optional":false},{"reason":"HTTP server framework for the local API","package":"express","optional":false}],"imports":[{"note":"ESM-only; CommonJS require not supported.","wrong":"const SpaceDataServer = require('space-data-server')","symbol":"default","correct":"import SpaceDataServer from 'space-data-server'"},{"note":"Named export for initializing the server.","wrong":"","symbol":"startServer","correct":"import { startServer } from 'space-data-server'"},{"note":"Named export, not default.","wrong":"import IngestService from 'space-data-server'","symbol":"IngestService","correct":"import { IngestService } from 'space-data-server'"},{"note":"TypeScript type import; not a runtime value.","wrong":"import { ServerConfig } from 'space-data-server'","symbol":"ServerConfig","correct":"import type { ServerConfig } from 'space-data-server'"}],"quickstart":{"code":"import { startServer, IngestService } from 'space-data-server';\nimport { ethers } from 'ethers';\nimport { create } from 'ipfs-http-client';\n\nconst ipfs = create({ url: process.env.IPFS_URL ?? 'http://localhost:5001' });\nconst wallet = new ethers.Wallet(process.env.ETHEREUM_PRIVATE_KEY ?? '');\n\nconst server = await startServer({\n  port: 3000,\n  dataDir: './data',\n  ipfs,\n  wallet,\n});\n\nconsole.log('Space Data Server running on port', server.port);\n\nconst ingest = new IngestService({ server });\nawait ingest.ingestFromCelestrak();\nconsole.log('Ingested OMM data from Celestrak');","lang":"typescript","description":"Initialize the server with an Ethereum wallet and IPFS client, then ingest OMM data from Celestrak."},"warnings":[{"fix":"Use named imports: import { startServer } from 'space-data-server' instead of const SDS = require('space-data-server')","message":"Major version 23 changed the default export from an object to a named export pattern.","severity":"breaking","affected_versions":">=23.0.0"},{"fix":"Use the updated API path as documented in the current README.","message":"The 'localspacedata' API path is deprecated and will be removed.","severity":"deprecated","affected_versions":">=22.0.0"},{"fix":"Ensure the wallet file is in standard Ethereum keystore format or provide a private key.","message":"Server key must be an Ethereum key; loading from file requires a .json keystore or private key.","severity":"gotcha","affected_versions":">=20.0.0"},{"fix":"Start an IPFS daemon or provide a valid IPFS HTTP API URL.","message":"IPFS node must be running locally or accessible via URL; server will fail to start otherwise.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"search_vec":"'0.1.2':21 '1.40.2':22 '23.3.3':20 'api':47 'base':14 'celestrak':36 'current':17 'data':2,12,28,52 'develop':44 'format':53 'heavi':43 'help':24 'includ':26 'ingest':10,32 'integr':25 'ipf':41 'javascript':55 'key':49 'like':35 'local':46 'manag':50 'omm':37 'open':6 'open-sourc':5 'option':54 'provid':45 'publish':39 'server':3,48 'servic':13 'sourc':7,34 'space':1,27 'spacedatastandards.org':16 'stabl':18 'standard':29 'version':19 'waypoint':8 'workflow':31","created_at":"2026-04-25T07:40:15.158154+00:00","updated_at":"2026-04-25T07:40:15.158154+00:00","problems":[{"fix":"Ensure you have run 'npm install space-data-server' and use ES import syntax: import { startServer } from 'space-data-server'","cause":"Package not installed or ESM-only module imported with require()","error":"Error: Cannot find module 'space-data-server'"},{"fix":"Use named import: import { startServer } from 'space-data-server'","cause":"Using default import incorrectly; startServer is a named export","error":"TypeError: SDS.startServer is not a function"},{"fix":"Start IPFS daemon (ipfs daemon) or set IPFS_URL environment variable to the correct API address.","cause":"IPFS daemon not running or URL misconfigured","error":"Error: IPFS node is not reachable"},{"fix":"Provide a valid 64-character hex private key (without 0x).","cause":"Provided Ethereum private key is not a valid hex string","error":"Error: Invalid private key"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":"","cli_version":null,"type":"library","homepage":null,"github":null,"docs":null,"changelog":null,"pypi":null,"npm":"https://www.npmjs.com/package/space-data-server","openapi_spec":null,"status_page":null,"smithery":null,"categories":["data","web-framework","http-networking","aws"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-17","next_check":"2026-07-24","install_tag":null}}