blockfrost-js-ratelimited
TypeScript icon, indicating that this package has built-in type declarations

2.0.4 • Public • Published

@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.

Package Sidebar

Install

npm i blockfrost-js-ratelimited

Weekly Downloads

1

Version

2.0.4

License

Apache-2.0

Unpacked Size

294 kB

Total Files

61

Last publish

Collaborators

  • mkazlauskas