- Notifications
You must be signed in to change notification settings - Fork31
Hypercores, batteries included.
License
hypercore-protocol/hyperspace
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
The Hyperspace daemon is out of date, tracking the previous major version of the Hypercore stack.
Check out the individual repos instead, likeHypercore,Hyperbee,Hyperbeam,Hyperswarm, which don't require a deamon as well and are much more powerful for building P2P apps.
If you have questions feel free to reach out on our Discord,https://chat.hypercore-protocol.org
Click to see the Hyperspace README still
Hypercores, batteries included.
Hyperspace is a lightweight server that provides remote access to Hypercores and a Hyperswarm instance. It exposes a simpleRPC interface that can be accessed with theHyperspace client for Node.js.
The RPC API's designed to be minimal, maintaining parity with Hypercore and the@corestore/networker
but with few extras.
Features include:
- A
RemoteCorestore
interface for creating namespacedCorestore
instances. - A
RemoteNetworker
interface for managingHyperswarm DHT connections. Supports stream-level extensions. - A
RemoteHypercore
interface that feels exactly like normal ol'Hypercore
, withfew exceptions. Extensions included.
With Hyperspace, most of theHyperdrive daemon's functionality has been moved into "userland" -- instead of providing remote access to Hyperdrives, the regularhyperdrive
module can be used with remote Hypercores.
If you're currently using the Hyperdrive daemon with FUSE and/or the daemon CLI, take a look at the upgrade instructions in@hyperspace/hyperdrive
, which is our new Hyperdrive companion service for handling FUSE/CLI alongside Hyperspace.
Note: The first time you run Hyperspace, it will detect your old Hyperdrive daemon installation and do an automatic migration. You can postpone the migration by starting the server with the--no-migrate
flag (hyperspace --no-migrate
).
npm i hyperspace -g
When installed globally, you can use thehyperspace
CLI tool to start the server:
❯ hyperspace --no-migrate // Starts the server without performing the Hyperdrive daemon migration
Thehyperspace
command supports the following flags:
--bootstrap // Hyperswarm bootstrapping options (see Hyperswarm docs).--host // Host to bind to.--port // Port to bind to (if specified, will use TCP).--memory-only // Run in memory-only mode.--no-announce // Never announce topics on the DHT.--no-migrate // Do not attempt to migrate the Hyperdrive daemon's storage to Hyperspace.--repl // Start the server with a debugging REPL.
By default, Hyperspace binds to a UNIX domain socket (or named pipe on Windows) at~/.hyperspace/hyperspace.sock
.
Once the server's started, you can use the client to create and manage remote Hypercores. If you'd like the use the Hyperdrive CLI, check out the@hyperspace/hyperdrive
docs.
To work with Hyperspace, you'll probably want to start with theNode.js client library. The README over there provides detailed API info.
Hyperspace includes a "simulator" that can be used to create one-off Hyperspace instances, which can be used for testing.
constsimulator=require('hyperspace/simulator')// client is a HyperspaceClient, server is a HyperspaceServerconst{ client, server, cleanup}=awaitsimulator()
MIT
About
Hypercores, batteries included.
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors4
Uh oh!
There was an error while loading.Please reload this page.