Skip to content

LIT-Protocol/lit-agent-signer

Repository files navigation

Lit Serverside Signer SDK

A lightweight SDK for signing transactions and messages with Lit Protocol. This SDK simplifies the process of creating wallets and signing transactions using Lit's Programmable Key Pairs (PKPs).

This SDK is a wrapper around our full-featured SDK which also supports client-side functionality, decryption, and more. functionality, decryption, and more.

Features

  • 🔑 Easy wallet creation and management
  • ✍️ Transaction and message signing
  • 🔒 Secure key management via Lit Protocol
  • 🚀 Simple, serverside-focused API
  • ⚡ Lightweight and efficient

Installation

npm install @lit-protocol/lit-agent-signer
# or
yarn add @lit-protocol/lit-agent-signer

Quick Start

import { LitClient } from '@lit-protocol/lit-agent-signer';

// Initialize the client with your Lit auth key
const client = await LitClient.create(process.env.LIT_AUTH_KEY);

// Create a new wallet
const { pkp } = await client.createWallet();
console.log('Wallet created:', pkp);

// Sign a transaction or message
const signedMessage = await client.sign({
  toSign: '0x8111e78458fec7fb123fdfe3c559a1f7ae33bf21bf81d1bad589e9422c648cbd',
});
console.log('Message signed:', signedMessage);

Usage Guide

Initialization

First, initialize the client with your Lit authentication key:

const client = await LitClient.create(authKey);

Wallet Management

Create a new wallet:

const { pkp } = await client.createWallet();

Get existing wallet:

const pkp = client.getPkp();

Signing

Sign a message or transaction:

const signedMessage = await client.sign({
  toSign: '0x8111e78458fec7fb123fdfe3c559a1f7ae33bf21bf81d1bad589e9422c648cbd',
});

Execute JavaScript Code

You can also execute JavaScript code using Lit Protocol:

const result = await client.executeJs({
  code: `
    Lit.Actions.setResponse({ response: message + " - processed by Lit Protocol" });
  `,
  jsParams: {
    message: 'Hello',
  },
});

Cleanup

When you're done, disconnect the client:

await client.disconnect();

Environment Variables

Make sure to set up the following environment variable:

  • LIT_AUTH_KEY: Your Lit Protocol authentication key

Examples

Check out the examples directory for more detailed examples:

  • basic-usage.ts: Complete example showing all main features
  • minimal-signing.ts: Minimal example focused on transaction signing

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •