LoKey is a lightweight library that leverages ethers.js to securely delegate a signer and sign messages without prompting the user for each siging operation.
To install LoKey, use npm:
npm install @orbs-network/lokey
Initialise a new instance of LoKey.
Example:
const lokey = new LoKey();
Outputs:
lokey
: A new instance of the LoKey SDK.
Get the address of the signer.
Example:
const address = await lokey.getAddress('my-signer');
Inputs:
id
(string, required): The id of the signer to get the address of.
Outputs:
address
(string): The address of the signer.
Create a new signer.
Example:
const { address } = await lokey.createSigner('my-signer');
Inputs:
id
(string, required): The id of the signer to create.
Outputs:
address
(string): The hex string signer address.
Sign a message using the LoKey signer.
Example:
const signature = await lokey.sign('my-signer', payload);
Inputs:
id
(string, required): The id of the signer to use.payload
(TypedData, required): Typed data according to EIP-712 standards.
Outputs:
signature
(string): The hex encoded signature.
Persist the signer.
Example:
await lokey.persistKey('my-signer');
Inputs:
id
(string, required): The id of the signer to persist.
Outputs:
success
(boolean): Whether the key was persisted successfully.
To run the included example, follow these steps:
cd example
npm install
npm run dev
This demonstrates how to integrate LoKey into a React application.
- LoKey leverages secure browser features like Web Workers for key management.
LoKey is licensed under the MIT License.