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.
This repository is under deep development, documentation, examples, official npm package publishing and wallet-side updates after breaking changes are yet pending.
Coming soon!
Install dependencies with npm:
npm i
Test your code with Jest framework:
npm run test
Build production (distribution) files in your dist folder:
npm run build
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