@luxfi/utila
v3.0.0
Published
This SDK provides developers with tools to easily integrate Utila's API services into JavaScript applications. It simplifies authentication and interaction with Utila's APIs.
Downloads
50
Keywords
Readme
Utila API SDK
This SDK provides developers with tools to easily integrate Utila's API services into JavaScript applications. It simplifies authentication and interaction with Utila's APIs.
Features
- Easy authentication with service accounts
- Promise-based API methods for asynchronous operations
- Supports both JavaScript and TypeScript
Installation
Ensure Node.js (v18.x or later) is installed on your machine.
Create a Service Account:
- Visit the Utila Console
- Ensure you are logged in as an administrator
- Create a new service account
Install the SDK:
- Open your terminal
- Execute the following command within your project directory:
npm install @utila/api
Configuration
Set up the SDK using the credentials from your service account:
- Store your service account's private key file securely within your project
- Reference the key file correctly in your environment settings or directly in the application code
Usage Example
import { createApiClient, serviceAccountAuthStrategy } from '@utila/api';
import { readFile } from 'fs/promises';
// Configure the API client
// This function initializes the client with a strategy to authenticate using a service account
const client = createApiClient({
authStrategy: serviceAccountAuthStrategy({
email: '[email protected]',
privateKey: () =>
readFile('path/to/your/private-key.pem', { encoding: 'utf-8' }),
}),
});
// Define an asynchronous function to fetch balances
async function getBalances() {
try {
// Query balance information
// This method fetches balance details from a specified 'parent' vault
const { balances } = await client.balances.queryBalances({
parent: 'vaults/vault_id',
});
// Output the fetched balances to the console
console.log(balances);
} catch (error) {
// Handle errors gracefully
console.error('Failed to fetch balances:', error);
}
}
// Invoke the function to get balances
getBalances();
The SDK uses the credentials of a service account to authenticate API requests. This involves specifying the email associated with the service account and a function to read the private key file asynchronously.
For more detailed documentation on other capabilities such as managing transactions, wallets, etc., refer to the API documentation.
Available Methods
Transactions
- listTransactions
- getTransaction
- batchGetTransactions
- initiateTransaction
- estimateTransactionFee
Assets
- getAsset
- batchGetAssets
Balances
- queryBalances
Blockchains
- getNetwork
- listNetworks
- getLatestBatchContract
Vaults
- getVault
- listVaults
Wallets
- generateWallet
- listWallets
- createWalletAddress
Support
If you encounter any issues or have questions, please visit our support page or raise an issue on the GitHub repository.