ecash-quicksend
v1.0.7
Published
A unified transaction manager for eCash (XEC), SLP, and ALP token transactions
Maintainers
Readme
ecash-quicksend
A unified transaction manager for eCash (XEC), SLP, and ALP token transactions.
Installation
npm install ecash-quicksendQuick Start
Setup
Option 1: Environment Variable (Recommended)
# .env file
MNEMONIC="your twelve word mnemonic phrase"Option 2: Direct in Code
// Provide mnemonic directly in function callsBasic Usage
import quick from 'ecash-quicksend';
// Send XEC
await quick.sendXec([
{ address: 'ecash:qq...', amount: 1000 } // 10.00 XEC
]);
// Send XEC with custom mnemonic
await quick.sendXec([
{ address: 'ecash:qq...', amount: 1000 } // 10.00 XEC
], {
mnemonic: 'your twelve word mnemonic phrase'
});
// Send SLP tokens
await quick.sendSlp([
{ address: 'ecash:qq...', amount: 100 } // 1.00 token
], {
tokenId: 'your-token-id',
tokenDecimals: 2
});
// Send ALP tokens
await quick.sendAlp([
{ address: 'ecash:qq...', amount: 100 } // 0.01 token
], {
tokenId: 'your-token-id',
tokenDecimals: 4
});API
Methods
sendXec(recipients, options?)- Send eCashsendSlp(recipients, options)- Send SLP tokenssendAlp(recipients, options)- Send ALP tokenssend(type, recipients, options?)- Universal send method
Options
// XEC Options
{
utxoStrategy?: 'all' | 'minimal' | 'largest_first';
addressIndex?: number;
mnemonic?: string;
chronik?: ChronikClient;
}
// Token Options (SLP/ALP)
{
tokenId: string;
tokenDecimals: number;
addressIndex?: number;
feeStrategy?: 'all' | 'minimal' | 'largest_first';
tokenStrategy?: 'all' | 'largest' | 'minimal';
mnemonic?: string;
chronik?: ChronikClient;
}Strategy Details
- utxoStrategy:
'all'(use all UTXOs) |'minimal'(fewest UTXOs) |'largest_first'(biggest UTXOs first) - feeStrategy:
'all'(all UTXOs for fees) |'minimal'(fewest for fees) |'largest_first'(biggest for fees) - tokenStrategy:
'all'(all token UTXOs) |'largest'(biggest token UTXO) |'minimal'(smallest sufficient)
Advanced Usage
// Multiple recipients
await quick.sendXec([
{ address: 'ecash:qq...', amount: 1000 },
{ address: 'ecash:qp...', amount: 2000 }
]);
// Custom UTXO strategy
await quick.sendXec(recipients, { utxoStrategy: 'largest' });
// Different address index
await quick.sendXec(recipients, { addressIndex: 1 });
// Universal send method
await quick.send('xec', recipients);
await quick.send('slp', recipients, {
tokenId: 'token-id',
tokenDecimals: 2
});
// Custom chronik client
import { ChronikClient } from 'chronik-client';
const customChronik = new ChronikClient('https://your-chronik-url.com');
await quick.sendXec(recipients, { chronik: customChronik });
await quick.sendSlp(recipients, {
tokenId: 'token-id',
tokenDecimals: 2,
chronik: customChronik
});Error Handling
try {
const result = await quick.sendXec(recipients);
console.log('Success:', result.txid);
} catch (error) {
console.error('Failed:', error.message);
}Requirements
- Node.js >= 18.0.0
- Valid eCash wallet mnemonic phrase
License
MIT
Contributions are welcome! Please feel free to submit a Pull Request.
