npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@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

127

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.

  1. Create a Service Account:

    • Visit the Utila Console
    • Ensure you are logged in as an administrator
    • Create a new service account
  2. 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:

  1. Store your service account's private key file securely within your project
  2. 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.