ara-identity-archiver

An ARA network node that archives identities in a network

Usage no npm install needed!

<script type="module">
  import araIdentityArchiver from 'https://cdn.skypack.dev/ara-identity-archiver';
</script>

README

ara-identity-archiver

Build Status

An ARA network node that archives identities in a network.

Installation

$ npm install ara-identity ara-network ara-identity-archiver

Usage

Prerequisite

Runtime Configuration

Runtime configuration can be specified by targeting the [network.node.identity-archiver] INI section or the nested JSON object { network: { node: { 'identity-archiver': { ... }}}. For clarity, we detail the options below in INI format.

[network.node.identity.archiver]
;; @TODO

Programmatic

The ara-identity-archiver module can be used programmatically as it conforms to the ara-network node interface.

const identityArchiver = require('ara-identity-archiver')
const rc = require('ara-runtime-configuration')
const program = require('yargs')
const { argv } = program

void async function main() {
  try { await identityArchiver.configure(rc.network.node.identity.archiver, program) }
  catch (err) {
    await identityArchiver.configure({
      identity: DID,
      secret: 'shared-secret-string',
      name: 'keyring-name-entry',
      keyring: 'path-to-keyring-secret-file',
    },
    program)
  }
  await identityArchiver.start(argv)
}()

Command Line (ann)

With the ann (or ara) command line interface, you can invoke this network node by running the following:

$ ann -t ara-identity-archiver -i <DID> \
      -s <shared-secret-string> \
      -n <keyring-name-entry> \
      -k <path-to-keyring-secret-file>

To see usage help about this network node interface, ensure ara-network is linked:

$ cd ~/ara-identity-archiver && npm link
$ cd ~/ara-network && npm link ara-identity-archiver

and run the following:

$ ann -t ara-identity-archiver --help

See Also

License

LGPL-3.0