dfuse-eoshttp-js
TypeScript icon, indicating that this package has built-in type declarations

0.1.3 • Public • Published

dfuse.io HTTP API Javascript library

Installation

Using Yarn:

yarn add dfuse-eoshttp-js

or using NPM:

npm install --save dfuse-eoshttp-js

Quick Start

CommonJS

const { JsonRpc } = require("dfuse-eoshttp-js")
const fetch = require("isomorphic-fetch")

const endpoint = "https://mainnet.eos.dfuse.io"
const token = "<Paste your API token here>"
const rpc = new JsonRpc(endpoint, { fetch, token })

TypeScript

import { JsonRpc } from "dfuse-eoshttp-js"
import fetch from "isomorphic-fetch"

const endpoint = "https://mainnet.eos.dfuse.io"
const token = "<Paste your API token here>"
const rpc = new JsonRpc(endpoint, { fetch, token })

ENV Variables

DFUSE_ENDPOINT=<Enter Dfuse Endpoint>  # "https://mainnet.eos.dfuse.io"
DFUSE_API_KEY=<Paste your API token here>  # Get key at dfuse.io
DFUSE_SERVER_API_KEY=<Paste your Server API token here>  # Get key at dfuse.io

API

GET /v0/search/transactions

Search an EOSIO blockchain for transactions based on free-form criterias, using the simple dfuse Search query language.

const searchQuery = 'receiver:eosio.token action:transfer data.to:eoscafeblock'

rpc.search_transactions(searchQuery, { limit: 1 }).then(response => {
    console.log(response)
})

GET /v0/state/abi

Fetches the ABI for a given contract account, at any block height.

rpc.state_abi('eosio', { block_num: 128, json: true }).then(response => {
    console.log(response)
})

GET /v0/state/abi/bin_to_json

Fetches the ABI for a given contract account, at any block height.

rpc.state_abi_bin_to_json('eosio.token', 'accounts', { block_num: 2500000, "hex_rows":["aa2c0b010000000004454f5300000000"] }).then(response => {
    console.log(response)
})

GET /v0/state/permission_links

Fetches snapshots of any account's linked authorizations on the blockchain, at any block height.

rpc.state_permission_links('eoscanadacom', { block_num: 10000000 }).then(response => {
    console.log(response)
})

GET /v0/state/table

Fetches the state of any table, at any block height.

rpc.state_table("eosio.token", "b1", "accounts", {json: true}).then(response => {
    for (const row of response.rows) {
        console.log(row.json.balance)
        //=> 12.2873 EOS
    }
})

GET /v0/state/tables/accounts

Fetches a table for a given contract account for a group of scopes, at any block height.

rpc.state_tables_accounts<{balance: string}>(["eosio.token", "eosadddddddd", "tokenbyeocat"], "b1", "accounts", {block_num: 25000000, json: true}).then(response => {
    console.dir(response, { depth: null })
})

GET /v0/state/tables/scopes

Fetches a table for a given contract account for a group of scopes, at any block height.

rpc.state_tables_scopes("eosio.token", ["b1", "eosio.null"], "accounts", {json: true}).then(response => {
    for (const table of response.tables) {
        for (const row of table.rows) {
            console.log(row.json.balance)
            //=> 12.2873 EOS
            //=> 0.0084 EOS
        }
    }
})

POST /v1/auth/issue

Issues Dfuse API Key using a Server Token

rpc.auth_issue(server_token).then(response => {
    console.log(response)
})

Dependencies (0)

    Dev Dependencies (8)

    Package Sidebar

    Install

    npm i dfuse-eoshttp-js

    Weekly Downloads

    0

    Version

    0.1.3

    License

    MIT

    Unpacked Size

    49.5 kB

    Total Files

    27

    Last publish

    Collaborators

    • deniscarriere