@synonymdev/slashtag
TypeScript icon, indicating that this package has built-in type declarations

1.0.0-alpha.28 • Public • Published

Slashtag

Slashtag is the identity layer of Slashtags protocol, that enables attaching metadata to a keypair (through Hyperdrives), and p2p communications between peers.

This module creates a node that manages a Slashtag's drives, and facilitating p2p connections between slashtags.

Installation

npm install @synonymdev/slashtag

Usage

Quick example showing how to create a Slashtag node and use it to create resolvable public profile.

NOTE: you do NOT need to wait for ready as all internals await this themselves.

import Slashtag from '@synonymdev/slashtag';

const alice = new Slashtag();
const bob = new Slashtag();

await alice.listen() // listen on alice's public key
await bob.connect(alice.key).opened

API

slashtag.url

A SlashURL string in the form slash:<z-base-32 key>.

slashtag.drivestore

Drivestore instance for this slashtag.

await slashtag.listen()

Listen on the slashtag's public key through Hyperswarm DHT p2p server

const socket = slashtag.connect(destination)

Connect to a Slashtag's server. destination is the peer's public key, as a Buffer/Uint8Array, or encoded as a z-base-32 or slash: url.

Returns a promise of Encrypted Connection.

You can await socket.opened.

await slashtag.close()

Destroys the Hyperswarm node, and closes the Corestore instance.

`slashtag.on('connection', (socket) => {})

Emitted whenever the dht recieves a connection as a server or client.

socket is an end-to-end NoiseSecretStream

Readme

Keywords

none

Package Sidebar

Install

npm i @synonymdev/slashtag

Weekly Downloads

396

Version

1.0.0-alpha.28

License

MIT

Unpacked Size

15.5 kB

Total Files

16

Last publish

Collaborators

  • dzdidi_restored
  • pwltr
  • miguelmedeirosweb
  • rbndg
  • bitcoinerrorlog
  • jayvdb
  • coreyphillips
  • nzh