Web Storage Module - tKey JS SDK
@tkey/web-storage
The Web Storage Module helps you store and recall key shares in the from local and file storage.
Installation
- npm
- Yarn
- pnpm
npm install --save @tkey/web-storage
yarn add @tkey/web-storage
pnpm add @tkey/web-storage
Initialization
Parameters
params
canUseFileStorage?
:boolean
import { WebStorageModule } from "@tkey/web-storage";
const webStorageModule = new WebStorageModule();
Usage
With the WebStorageModule
, you have access to the multiple functions as mentioned in the type
reference, however, the most important ones are:
Get ShareStore from Storage
getDeviceShare(): Promise<ShareStore>;
Example
const share = await(tKey.modules.webStorage as WebStorageModule).getDeviceShare();
Store Device Share on Web Local Storage
storeDeviceShare(deviceShareStore: ShareStore, customDeviceInfo?: StringifiedType)
deviceShareStore
: TheShareStore
object to store.customDeviceInfo?
: Information about the device to store.
Example
const generateShareResult = await tKeyInstance.generateNewShare();
const share = await tKeyInstance.outputShareStore(generateShareResult.newShareIndex);
await(tKey.modules.webStorage as WebStorageModule).storeDeviceShare(share);
Type Reference
WebStorageModule
class WebStorageModule implements IModule {
moduleName: string;
tbSDK: ITKeyApi;
canUseFileStorage: boolean;
constructor(canUseFileStorage?: boolean);
setFileStorageAccess(): Promise<void>;
setModuleReferences(tbSDK: ITKeyApi): void;
initialize(): Promise<void>;
storeDeviceShare(deviceShareStore: ShareStore, customDeviceInfo?: StringifiedType): Promise<void>;
storeDeviceShareOnFileStorage(shareIndex: BNString): Promise<void>;
getDeviceShare(): Promise<ShareStore>;
inputShareFromWebStorage(): Promise<void>;
}
ShareStore
class ShareStore implements ISerializable {
share: Share;
polynomialID: PolynomialID;
constructor(share: Share, polynomialID: PolynomialID);
static fromJSON(value: StringifiedType): ShareStore;
toJSON(): StringifiedType;
}
interface ISerializable {
toJSON(): StringifiedType;
}