blockfrost-js-ratelimited

A JavaScript/TypeScript SDK for interacting with the https://blockfrost.io API

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
blockfrost-js-ratelimited
2.0.45 months ago6 months agoMinified + gzip package size for blockfrost-js-ratelimited in KB

Readme

@blockfrost/blockfrost-js fork
This is a fork of blockfrost-js 2.0.2, adding support for rate limiting. It seems to be working, but to consider it done:
  • Rebase on latest blockfrost-js
  • Add options for rate limit (currently hardcoded 10/s and 500 burst with 10/s cooldown)
  • Add some test coverage

blockfrost-js


A JavaScript/Typescript SDK for Blockfrost.io API.

Getting startedInstallationUsage


Getting started

To use this SDK, you first need to log in to blockfrost.io, create your project and retrieve the API token.


Installation

The SDK is hosted on npmjs.com, so you can directly import it using your favorite package manager.
$ npm i @blockfrost/blockfrost-js


Usage

Using the SDK is pretty straight-forward as you can see from the following examples.

Cardano

import { BlockFrostAPI } from '@blockfrost/blockfrost-js';

const API = new BlockFrostAPI({
  projectId: 'YOUR API KEY HERE', // see: https://blockfrost.io
});
try {
  const latestBlock = await API.blocksLatest();
  const networkInfo = await API.network();
  const latestEpoch = await API.epochsLatest();
  const health = await API.health();
  const address = await API.addresses(
    'addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz',
  );
  const pools = await API.pools({ page: 1, count: 10, order: 'asc' });

  console.log('pools', pools);
  console.log('address', address);
  console.log('networkInfo', networkInfo);
  console.log('latestEpoch', latestEpoch);
  console.log('latestBlock', latestBlock);
  console.log('health', health);
} catch (err) {
  console.log('error', err);
}

IPFS

import { BlockFrostIPFS } from '@blockfrost/blockfrost-js';

const IPFS = new BlockFrostIPFS({
  projectId: 'YOUR IPFS KEY HERE', // see: https://blockfrost.io
});

try {
  const added = await IPFS.add(`${__dirname}/img.svg`);
  console.log('added', added);

  const pinned = await IPFS.pin(added.ipfs_hash);
  console.log('pinned', pinned);
} catch (err) {
  console.log('error', err);
}

For a more detailed list of possibilities, check out the wiki.