{
"repo": "autobase-discovery",
"timestamp": "2026-01-16T23:56:28.717Z",
"entryPoint": "index.js",
"exports": {
"packageJson": {
"main": "index.js"
}
},
"api": {
"file": "index.js",
"exports": [
{
"type": "default",
"name": "Autodiscovery"
}
],
"classes": [
{
"name": "Autodiscovery"
}
],
"functions": []
},
"readme": {
"content": "# Autobase Discovery\n\nAutomatic service discovery with self-registering services, using [autobase](https://github.com/holepunchto/autobase). Works well with [protomux-rpc](https://github.com/holepunchto/protomux-rpc) services.\n\nClients discover the RPC services by querying the autodiscovery's [hyperdb](https://github.com/holepunchto/hyperdb), which is an autobase view.\n\nSee [autobase-discovery-cli](https://github.com/holepunchto/autobase-discovery-cli) for running as a CLI.\n\n## Install\n\n```\nnpm i autobase-discovery\n```\n\n## Usage\n\n### Security\n\nAutodiscovery uses a simple security model, taking advantage of the authentication mechanism of HyperDHT.\n\nAll clients who wish to register to the autodiscovery service know a shared secret seed (64 bytes). This seed is passed to the autodiscovery clients, which deterministically generate a DHT keyPair. This keyPair is then used to open a connection to the autodiscovery RPC server.\n\nThe autodiscovery service is passed the public key corresponding",
"sections": [
"intro",
"install",
"usage"
],
"hasApi": true,
"hasExamples": true,
"exampleCount": 2,
"examples": [
"npm i autobase-discovery",
"HyperDHT.keyPair(Buffer.from(seed, 'hex')).publicKey.toString('hex')"
]
},
"patterns": [
"dht-discovery",
"stream-multiplexing",
"binary-encoding"
]
}