OverviewFilesCommitsIssuesDocsReleasesPeers

holepunchto-kb / skills / autobase-discovery / api-extract.json

45 lines · json ref:
{
  "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"
  ]
}