Gas Price Oracle library for Ethereum dApps
Go to file
2020-10-16 14:13:31 +03:00
.github/workflows fix CI 2020-10-16 14:13:31 +03:00
src prettier + wordings 2020-10-16 14:10:25 +03:00
tests prettier + wordings 2020-10-16 14:10:25 +03:00
.editiorconfig init 2020-05-27 18:52:57 +03:00
.gitignore init 2020-05-27 18:52:57 +03:00
.prettierrc prettier + wordings 2020-10-16 14:10:25 +03:00
LICENSE Create LICENSE 2020-06-03 14:11:01 -07:00
package.json prettier + wordings 2020-10-16 14:10:25 +03:00
README.md prettier + wordings 2020-10-16 14:10:25 +03:00
tsconfig.json prettier + wordings 2020-10-16 14:10:25 +03:00
tslint.json prettier + wordings 2020-10-16 14:10:25 +03:00
yarn.lock prettier + wordings 2020-10-16 14:10:25 +03:00

Gas Price Oracle library for Ethereum dApps GitHub Workflow Status npm

A library that has a collection of onchain and offchain gas price oracle URLs

Current offchain list:

Current onchain list:

Installation

npm i gas-price-oracle

Import

const { GasPriceOracle } = require('gas-price-oracle');

Usage

Basic

const options = {
  defaultRpc: 'https://api.mycryptoapi.com/eth',
};
const oracle = new GasPriceOracle(options);
// optional fallbackGasPrices
const fallbackGasPrices = {
  instant: 70,
  fast: 31,
  standard: 20,
  low: 7,
};
oracle.gasPrices(fallbackGasPrices).then(gasPrices => {
  console.log(gasPrices); // { instant: 50, fast: 21, standard: 10, low: 3 }
});

Offchain oracles only

const oracle = new GasPriceOracle();

oracle.fetchGasPricesOffChain().then(gasPrices => {
  console.log(gasPrices); // { instant: 50, fast: 21, standard: 10, low: 3 }
});

Custom RPC URL for onchain oracles

const defaultRpc = 'https://mainnet.infura.io/v3/<API_KEY>';
const oracle = new GasPriceOracle({ defaultRpc });

oracle.fetchGasPricesOnChain().then(gasPrices => {
  console.log(gasPrices); // 21
});