https://github.com/lit-protocol/lit-agent-signer
https://github.com/lit-protocol/lit-agent-signer
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/lit-protocol/lit-agent-signer
- Owner: LIT-Protocol
- License: mit
- Created: 2024-12-18T06:11:09.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-21T00:54:47.000Z (over 1 year ago)
- Last Synced: 2025-02-04T12:04:15.406Z (over 1 year ago)
- Language: TypeScript
- Size: 444 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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](https://github.com/lit-protocol/js-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](https://litprotocol.com)
- 🚀 Simple, serverside-focused API
- ⚡ Lightweight and efficient
## Installation
```bash
npm install @lit-protocol/lit-agent-signer
# or
yarn add @lit-protocol/lit-agent-signer
```
## Quick Start
```typescript
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:
```typescript
const client = await LitClient.create(authKey);
```
### Wallet Management
Create a new wallet:
```typescript
const { pkp } = await client.createWallet();
```
Get existing wallet:
```typescript
const pkp = client.getPkp();
```
### Signing
Sign a message or transaction:
```typescript
const signedMessage = await client.sign({
toSign: '0x8111e78458fec7fb123fdfe3c559a1f7ae33bf21bf81d1bad589e9422c648cbd',
});
```
### Execute JavaScript Code
You can also execute JavaScript code using Lit Protocol:
```typescript
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:
```typescript
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