Skip to content

Unimatrix Sync is a decentralized, privacy preserving, transaction witness sharing and pairing solution for multisignatures or deferred signatures. It was originally created for GameChanger Wallet to improve it's multisignature user experience and boost multisig dapps and services around it.

License

Notifications You must be signed in to change notification settings

GameChangerFinance/unimatrix

Repository files navigation

Unimatrix Sync

A decentralized, privacy preserving, transaction witness sharing and pairing library for multisignatures or deferred signatures. It was originally created for GameChanger Wallet to improve it's multisignature user experience and boost the multisig dapp and service ecosystem

On Unimatrix, each node reads and shares encrypted data over GunDB, a decentralized key-value store. Unimatrix creates channels using obfuscated (hashed) keys and encrypted data values, only allowing the bearers of certain channel parameters and right data to locate and decrypt the information.

IMPORTANT

This repository is under deep development, documentation, examples, official npm package publishing and wallet-side updates after breaking changes are yet pending.

Coming soon!

Development

Set up tools and environment

Install dependencies

Install dependencies with npm:

npm i

Test

Test your code with Jest framework:

npm run test

Build

Build production (distribution) files in your dist folder:

npm run build

Try it locally

Run:

npm link

npm link will create a symlink in the global folder, which may be {prefix}/lib/node_modules/@gamechanger-finance/unimatrix or C:\Users<username>\AppData\Roaming\npm\node_modules@gamechanger-finance/unimatrix.

Create an empty folder elsewhere, you don't even need to npm init (to generate package.json). Open the folder with VS Code, open a terminal and just run:

npm link @gamechanger-finance/unimatrix

This will create a symbolic link from globally-installed @gamechanger-finance/unimatrix to node_modules/ of the current folder.

You can then create a, for example, example.ts file with the content:

import { ... } from '@gamechanger-finance/unimatrix'
...

If you don't see any linting errors in VS Code, if you can use library functions in your code, then it's all good.

Whenever you want to uninstall the globally-installed @gamechanger-finance/unimatrix and remove the symlink in the global folder, run:

npm uninstall @gamechanger-finance/unimatrix -g

About

Unimatrix Sync is a decentralized, privacy preserving, transaction witness sharing and pairing solution for multisignatures or deferred signatures. It was originally created for GameChanger Wallet to improve it's multisignature user experience and boost multisig dapps and services around it.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published