4.9.0 • Published 6 years ago

ssb-client v4.9.0

Weekly downloads
1,358
License
MIT
Repository
github
Last release
6 years ago

ssb-client v2

Scuttlebot client.

Create an rpc connection to an sbot running locally.

example

var ssbClient = require('ssb-client')
var ssbKeys = require('ssb-keys')

// simplest usage, connect to localhost sbot
// this will cb with an error if an sbot server is not running
ssbClient(function (err, sbot) {
  // ...
})

// configuration:
var keys = ssbKeys.loadOrCreateSync('./app-private.key')
ssbClient(
  keys,                // optional, defaults to ~/.ssb/secret
  {
    host: 'localhost', // optional, defaults to localhost
    port: 8008,        // optional, defaults to 8008
    key: keys.id,      // optional, defaults to keys.id

    caps: {
        // random string for `appKey` in secret-handshake
        shs: ''
    },

    // Optional muxrpc manifest. Defaults to manifest provided by server.
    manifest: {}

  },
  function (err, sbot, config) {
    // ...
  }
)

api

require('ssb-client') => createEasyClient

createEasyClient(cb(err, sbot))

Create a connection to the local ssb-server instance, using the default keys. Configuration and keys will be loaded from directory specified by ssb_appname. (by default ~/.ssb)

The manifest will be the manifest provided by that server.

Calling this without arguments is handy for scripts, but applications should use the clearer apis.

there is a legacy api, that makes things as "easy" as possible, by loading configuration and defaults. This is useful for scripts but applications should probably use

createCustomClient({keys, config, manifest, remote}, cb(err, sbot))

Connect to a specific server with fixed settings. All fields are mandatory.

createLegacyClient(keys, opts, cb(err, sbot))

Connect to a client with some custom settings.

opts supports the keys:

  • remote multiserver address to connect to
  • host, port, key (legacy) if remote is not set, assemble address from host, port, key.
  • manifest use a custom manifest.

If you need custom options, it's recommended to use the createCustomClient API instead, but this is still provided for legacy support.

keys

See ssb-keys. The keys look like this:

{
    id: String,
    public: String,
    private: String,
    curve: 'ed25519'
}

caps

caps.shs is a random string passed to secret-handshake. It determines which sbot you are able to connect to. It defaults to a magic string in this repo and also in scuttlebot

var appKey = Buffer.from(opts.caps.shs, 'base64')

License

MIT, Copyright 2015 Paul Frazee and Dominic Tarr

4.9.0

6 years ago

4.8.0

6 years ago

4.7.9

6 years ago

4.7.8

6 years ago

4.7.7

7 years ago

4.7.6

7 years ago

4.7.5

7 years ago

4.7.4

7 years ago

4.7.3

7 years ago

4.7.2

7 years ago

4.7.1

7 years ago

4.7.0

7 years ago

4.6.5

7 years ago

4.6.4

7 years ago

4.6.3

7 years ago

4.6.2

7 years ago

4.6.1

7 years ago

4.6.0

7 years ago

4.5.7

8 years ago

4.5.6

8 years ago

4.5.5

8 years ago

4.5.3

8 years ago

4.5.2

8 years ago

4.5.1

8 years ago

4.5.0

9 years ago

4.4.1

9 years ago

4.4.0

9 years ago

4.3.0

9 years ago

4.2.1

9 years ago

4.2.0

9 years ago

4.1.0

9 years ago

4.0.3

9 years ago

4.0.2

9 years ago

4.0.1

9 years ago

4.0.0

9 years ago

3.1.1

10 years ago

3.1.0

10 years ago

3.0.1

10 years ago

3.0.0

10 years ago

2.0.0

10 years ago

1.0.2

11 years ago

1.0.1

11 years ago

1.0.0

11 years ago