@fedimint/server
Fedimint SDK optimized for Node.js/Bun server environments.
Installation
npm install @fedimint/server
yarn add @fedimint/server
pnpm add @fedimint/server
Features
- Optimized for server-side JavaScript environments (Node.js and Bun)
- Pluggable storage adapters (LevelDB, File-based)
- Server-specific utilities and helpers
- Support for both ESM and CommonJS imports
Example Usage
import { FedimintWallet } from '@fedimint/server'
import { LevelDBStorage } from '@fedimint/server/storage'
const { FedimintWallet } = require('@fedimint/server')
const { LevelDBStorage } = require('@fedimint/server/storage')
const wallet = new FedimintWallet({
storageAdapter: new LevelDBStorage('./data'),
logLevel: 'info',
})
await wallet.initialize()
await wallet.open('my-fedimint-client')
const balance = await wallet.balance.getBalance()
console.log('Balance:', balance)
const invoice = await wallet.lightning.createInvoice(1000, 'Test payment')
console.log('Invoice:', invoice)
Storage Adapters
LevelDB Storage
import { LevelDBStorage } from '@fedimint/server/storage'
const storage = new LevelDBStorage('./data', {
createIfMissing: true,
})
const wallet = new FedimintWallet({
storageAdapter: storage,
})
File Storage
import { FileStorage } from '@fedimint/server/storage'
const storage = new FileStorage('./data')
const wallet = new FedimintWallet({
storageAdapter: storage,
})
Custom Storage Adapters
You can implement your own storage adapter by implementing the StorageAdapter interface:
import { StorageAdapter, Transaction } from '@fedimint/server/storage'
class MyCustomStorage implements StorageAdapter {
}
License
MIT