@synonymdev/slashtags-actions
npm i @synonymdev/slashtags-actions

@synonymdev/slashtags-actions

Slashtags implementation in JavaScript

by synonymdev

0.1.2 (see all)License:MITTypeScript:Built-In
npm i @synonymdev/slashtags-actions
Readme

slashtags

JavaScript implementation of the Slashtags protocol


⚠️ This is still in alpha. Please use at your own risk.⚠️


Overview

Slashtags aims to enable self-sovereign identity, reputation and web-of-trust on the web.

The problem

IPs (Internet Protocol address) identifies where your machine exists both geographically and topologically. But you yourself (or your machine for that matter) can't be identified or addressed regardless of its location or the network it is using.

So the Web became a network of mediators and service providers that you have to be tethered to one of them to be addressed or identified. Giving rise to censorship, surveillance and vendor-lock problems the latest of which slowed down the rate of innovation significantly.

Slashtag's solution

Slashtags solution is to use keyPairs to identify and address peers and attach metadata about them, giving rise to reputation, and private yet interoperable webs-of-trust.

How it works

A Slashtag is a keyPair indirectly derived from the same seed that backs up your digital assets.

You can publish metadata about your Slashtag using SlashDrive identified by the same public key, for anyone to read.

That is deceivingly simple, but very powerful. For example you can publish your current Email address, Website URL, Twitter handle, Facebook profile, etc. And your contacts who identify you through a Slashtags compatible wallet can always find and reach you, making your identity and reputation censorship resistant.

But you can also directly contact a Slashtag owner if they are listening on their public key, independently from their IP address, thanks to Hyperswarm's Distributed Hash Table (DHT).

Slashtags can also create private encrypted drives and share it with one or many peers, serving as either a private feed, or a one-to-one asynchronous communication channel.

Next steps

We realize the existing primitives are not enough on their own to give rise to a web-of-trust and a scalable digital economy that can't be held hostage to the same problems as the current one.

But we will build applications that demonstrate that future, to learn what is missing, and build the missing parts as we go.

Installation

npm install @synonymdev/slashtags-sdk

Then start a node in your app:

import { SDK } from '@synonymdev/slashtags-sdk';

const sdk = await SDK.init();
const alice = sdk.slashtag({ name: 'alice' });

console.log(alice.url.toString());
// slash://abc...xyz

Documentation

Documentation is a still work in progress. But you can start by reading the available specs, check out the examples and read through the API documentation of any package in its README.md.

Examples

Run npm install in the root directory first.

Look into the examples to learn how to see Slashtags in action.

Structure

This project is broken into several modules, their purposes are:

Development

Requires Node LTS (v16.5.0). nvm is suppported but not required

npm install

Testing

Make sure you have a running testnet, by running testnet:start. Once you are done you can close it by running testnet:close.

Downloads/wk

9

GitHub Stars

62

LAST COMMIT

2mos ago

MAINTAINERS

2

CONTRIBUTORS

7

OPEN ISSUES

2

OPEN PRs

0
VersionTagPublished
0.1.2
latest
2mos ago
No alternatives found
No tutorials found
Add a tutorial