open-index/open-npm huggingface dataset:
npm package: @hyperswarm/seeders
Description: Only swarm with verified seeders
Author: Mathias Buus
Latest version: 1.1.6

# @hyperswarm/seeders

A seeders only swarm, verified by a mutable record

```
npm install @hyperswarm/seeders
```

Note that the list of seeds are stored in a verifiable record in the DHT,
meaning no one can spoof it, but other people can read it.

## Usage

``` js
const Seeders = require('@hyperswarm/seeders')

const swarm = new Seeders(firstSeedPublicKey, {
  dht, // optional dht new to use
  keyPair, // optional key pair to use, defaults to dht.defaultKeyPair
  maxClientConnections // how many connections to make to the seed, defaults to 2
})

swarm.on('connection', function (connection) {
  console.log('got connection...')
})

// if you are the first seed, add more seeds by passing a record
if (swarm.owner) {
  await swarm.join({
    seeds: [
      publicKey1,
      publicKey2,
      ...
    ],
    // optionally add info about the hypercore being seeded
    core: {
      length: 42,
      fork: 0
    }
  })
} else {
  await swarm.join()
}
```

## License

Apache-2.0
npm package: @hyperswarm/testnet
Description: Small module to help you spin up a local Hyperswarm testnet
Author: Mathias Buus
Latest version: 3.1.4

# @hyperswarm/testnet

Small module to help you spin up a local Hyperswarm testnet.

```
npm install @hyperswarm/testnet
```

Use this if you want to use the swarm in tests, etc.

## Usage

``` js
const createTestnet = require('@hyperswarm/testnet')

const testnet = await createTestnet(10) // create a local testnet with 10 dht nodes
```

## API

#### `const testnet = await createTestnet(size = 10, [options])`

Create a new testnet. `size` is how many DHT nodes you want in it. Options include:

```js
{
  port: preferredLocalPort, // defaults to ANY (0)
  host: preferredLocalHost, // defaults to 127.0.0.1
  teardown // optional async teardown helper ie, t.teardown in brittle/tap etc
}
```

#### `testnet.nodes`

An array of nodes in the testnet.

#### `testnet.bootstrap`

An array of bootstrap addresses of the testnet.

#### `const node = testnet.createNode([options])`

Create an additional ephemeral node and add it to the testnet. Options are the same as [`new DHT()`](https://github.com/holepunchto/hyperdht#const-node--new-dhtoptions).

#### `for (const node of testnet)`

Iterate over the nodes of the testnet.

## License

Apache-2.0