Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@proton/hyperion

Package Overview
Dependencies
Maintainers
3
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@proton/hyperion

Hyperion HTTP API Javascript library

  • 3.4.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
82
increased by134.29%
Maintainers
3
Weekly downloads
 
Created
Source

Hyperion HTTP API Javascript library

Installation

Using Yarn:

yarn add @proton/hyperion

or using NPM:

npm install --save @proton/hyperion

Quick Start

CommonJS

const { JsonRpc } = require("@proton/hyperion")
const fetch = require("isomorphic-fetch")

const endpoint = "https://eos.hyperion.eosrio.io"
const rpc = new JsonRpc(endpoint, { fetch })

TypeScript

import { JsonRpc } from "@proton/hyperion"
import fetch from "isomorphic-fetch"

const endpoint = "https://eos.hyperion.eosrio.io"
const rpc = new JsonRpc(endpoint, { fetch })

ENV Variables

HYPERION_ENDPOINT=<Enter Hyperion Endpoint>  # "https://eos.hyperion.eosrio.io"

Supported Endpoints

# State
/v2/state/alive
/v2/state/get_key_accounts
/v2/state/get_tokens
/v2/state/get_voters
/v2/state/get_links

# History
/v2/history/get_abi_snapshot
/v2/history/get_actions
/v2/history/get_created_accounts
/v2/history/get_creator
/v2/history/get_deltas
/v2/history/get_transacted_accounts
/v2/history/get_transaction
/v2/history/get_transfers

API

Table of Contents

JsonRpc

JsonRpc

Parameters
  • endpoint string hyperion endpoint
Examples
const endpoint = "https://br.eosrio.io"
const rpc = new JsonRpc(endpoint, { fetch })
alive

GET /v2/state/alive

simple server healthcheck

Examples
const response = await rpc.alive();
console.log(response);
// => {"status": "OK"}

Returns Promise<Alive> alive

get_abi_snapshot

GET /v2/history/get_abi_snapshot

fetch contract abi at specific block

Parameters
  • contract string contract account
  • block
  • number number target block
Examples
const response = await rpc.get_abi_snapshot("eosio", 200);
console.log(response.version);
// => "eosio::abi/1.0"

for (const table of response.tables) {
    console.log(table);
    // => { name: 'producers', index_type: 'i64', key_names: [ 'owner' ], key_types: [ 'uint64' ], type: 'producer_info' }
}

Returns Promise<GetAbiSnapshot> abi snapshot

get_voters

GET /v2/state/get_voters

get voters

Parameters
  • options object Optional parameters (optional, default {})
    • options.producer string? filter by voted producer (comma separated)
    • options.proxy boolean? true or false
    • options.skip number? skip [n] actions (pagination)
    • options.limit number? limit of [n] actions per page
Examples
const response = await rpc.get_voters({ producer: "eoscafeblock", limit: 100 });
console.log(response.voters);
// => "[{
//   "account": "guzdkmrtgage",
//   "weight": 78434695236505280,
//   "last_vote": 64804768
// }]"

Returns Promise<GetVoters> voters

GET /v2/state/get_links

get voters

Parameters
  • account string? account to get links for
Examples
const response = await rpc.get_links("eoscafeblock");
console.log(response.links);
// => "[{
"block_num":26088072,
"timestamp":"2019-11-22T23:17:42.000",
"account":"eosriobrazil",
"permission":"claim2",
"code":"eosio",
"action":"voteproducer"
}]"

Returns Promise<GetLinks> links

get_proposals

GET /v2/state/get_proposals

get proposals

Parameters
  • options object Optional parameters (optional, default {})
    • options.proposer string? filter by proposer
    • options.proposal string? filter by proposal name
    • options.account string? filter by either requested or provided account
    • options.requested string? filter by requested account
    • options.provided string? filter by provided account
    • options.track string? total results to track (count) [number or true]
    • options.skip number? skip [n] actions (pagination)
    • options.limit number? limit of [n] actions per page
  • account string? account to get proposals for

Returns Promise<GetProposals> proposals

get_actions

GET /v2/history/get_actions

get actions based on notified account

Parameters
  • account string notified account
  • options object Optional parameters (optional, default {})
    • options.filter string? code::name filter
    • options.skip number? skip [n] actions (pagination)
    • options.limit number? limit of [n] actions per page
    • options.sort string? sort direction
    • options.after string? filter after specified date (ISO8601)
    • options.before string? filter before specified date (ISO8601)
    • options.transfer_to string? transfer filter to
    • options.transfer_from string? transfer filter from
    • options.transfer_symbol string? transfer filter symbol
    • options.act_name string? act name
    • options.act_account string? act account
Examples
const response = await rpc.get_actions("eoscafeblock", {
    filter: "eosio.token:*",
    skip: 100,
    limit: 100,
});

for (const action of response.actions) {
    console.log(action);
    // => { act: { account: 'eosio.token', name: 'transfer', ... } }
}

Returns Promise<GetActions> get actions

get_created_accounts

GET /v2/history/get_created_accounts

get created accounts

Parameters
  • account string created account
Examples
const response = await rpc.get_created_accounts("eosnationftw");
console.log(response);
// => {"accounts": [{"name":"eosnationdsp","trx_id":"728d4a4da36a98d9048080461dacaf975ad083e8158ef84edea60cc755ab2c1a","timestamp":"2019-02-28T22:36:45.000"}, ... ]}

Returns Promise<GetCreatedAccounts> get creator

get_creator

GET /v2/history/get_creator

get creator

Parameters
  • account string created account
Examples
const response = await rpc.get_creator("eosnationftw");
console.log(response);
// => { account: 'eosnationftw', creator: 'gyztcmrvgqge', timestamp: '2018-06-10T13:06:43.500', ... }

Returns Promise<GetCreator> get creator

get_deltas

GET /v2/history/get_deltas

get deltas

Parameters
Examples
const response = await rpc.get_deltas("eosio.token", "eosnationftw", "accounts", "eosnationftw");
console.log(response);
// => { "query_time": 19, "total": { "value": 486, "relation": "eq" }, "deltas": [ ... ] }

Returns Promise<GetDeltas> get deltas

get_table_state

[GET /v2/history/get_table_state](https://eos.hyperion.eosrio.io/v2/docs/static/index.html#/history/get_v2_history_get_table_state

get table state

Parameters
  • code string contract account
  • table string table name
  • block_num string target block
  • after_key string last key for pagination
Examples
const response = await rpc.get_table_state("eosio.token", "stat", "1000", "");
console.log(response);
// => { "query_time": 19, "code": "eosio.token", "table": "stat", "block_num": 1000, "next_key": "........ehbo5-5459781",, "results": [ ... ] }

Returns Promise<GetTableState> get table state

get_key_accounts

GET/v2/state/get_key_accounts

get account by public key

Parameters
  • public_key string Contract account targeted by the action.
Examples
const response = await rpc.get_key_accounts("EOS5Mto3Km6BCVxowb6LkkFaT9oaUwLVgswgcxvY4Qgc4rhHry4Tv");
console.log(response.account_names);
// => [ 'eoscafeblock' ]

Returns Promise<GetKeyAccounts> key accounts

get_tokens

GET /v2/state/get_tokens

get tokens

Parameters
Examples
const response = await rpc.get_tokens("eosnationftw");
for (const token of response.tokens) {
    console.log(token);
    // => { symbol: 'ZOS', precision: 4, amount: 140, contract: 'zosdiscounts' }
}

Returns Promise<GetTokens> get tokens

get_transaction

GET /v2/history/get_transaction

get all actions belonging to the same transaction

Parameters
Examples
const response = await rpc.get_transaction("42dacd5722001b734be46a2140917e06cd21d42425f927f506c07b4388b07f62");
for (const action of response.actions) {
    console.log(action);
    // => { act: { account: 'eosio', name: 'buyrambytes', ... }}
}

Returns Promise<GetTransaction> transaction

JsonRpc

alive

GET /v2/state/alive

simple server healthcheck

Examples
const response = await rpc.alive();
console.log(response);
// => {"status": "OK"}

Returns Promise<Alive> alive

get_abi_snapshot

GET /v2/history/get_abi_snapshot

fetch contract abi at specific block

Parameters
  • contract string contract account
  • block
  • number number target block
Examples
const response = await rpc.get_abi_snapshot("eosio", 200);
console.log(response.version);
// => "eosio::abi/1.0"

for (const table of response.tables) {
    console.log(table);
    // => { name: 'producers', index_type: 'i64', key_names: [ 'owner' ], key_types: [ 'uint64' ], type: 'producer_info' }
}

Returns Promise<GetAbiSnapshot> abi snapshot

get_voters

GET /v2/state/get_voters

get voters

Parameters
  • options object Optional parameters (optional, default {})
    • options.producer string? filter by voted producer (comma separated)
    • options.proxy boolean? true or false
    • options.skip number? skip [n] actions (pagination)
    • options.limit number? limit of [n] actions per page
Examples
const response = await rpc.get_voters({ producer: "eoscafeblock", limit: 100 });
console.log(response.voters);
// => "[{
//   "account": "guzdkmrtgage",
//   "weight": 78434695236505280,
//   "last_vote": 64804768
// }]"

Returns Promise<GetVoters> voters

GET /v2/state/get_links

get voters

Parameters
  • account string? account to get links for
Examples
const response = await rpc.get_links("eoscafeblock");
console.log(response.links);
// => "[{
"block_num":26088072,
"timestamp":"2019-11-22T23:17:42.000",
"account":"eosriobrazil",
"permission":"claim2",
"code":"eosio",
"action":"voteproducer"
}]"

Returns Promise<GetLinks> links

get_proposals

GET /v2/state/get_proposals

get proposals

Parameters
  • options object Optional parameters (optional, default {})
    • options.proposer string? filter by proposer
    • options.proposal string? filter by proposal name
    • options.account string? filter by either requested or provided account
    • options.requested string? filter by requested account
    • options.provided string? filter by provided account
    • options.track string? total results to track (count) [number or true]
    • options.skip number? skip [n] actions (pagination)
    • options.limit number? limit of [n] actions per page
  • account string? account to get proposals for

Returns Promise<GetProposals> proposals

get_actions

GET /v2/history/get_actions

get actions based on notified account

Parameters
  • account string notified account
  • options object Optional parameters (optional, default {})
    • options.filter string? code::name filter
    • options.skip number? skip [n] actions (pagination)
    • options.limit number? limit of [n] actions per page
    • options.sort string? sort direction
    • options.after string? filter after specified date (ISO8601)
    • options.before string? filter before specified date (ISO8601)
    • options.transfer_to string? transfer filter to
    • options.transfer_from string? transfer filter from
    • options.transfer_symbol string? transfer filter symbol
    • options.act_name string? act name
    • options.act_account string? act account
Examples
const response = await rpc.get_actions("eoscafeblock", {
    filter: "eosio.token:*",
    skip: 100,
    limit: 100,
});

for (const action of response.actions) {
    console.log(action);
    // => { act: { account: 'eosio.token', name: 'transfer', ... } }
}

Returns Promise<GetActions> get actions

get_created_accounts

GET /v2/history/get_created_accounts

get created accounts

Parameters
  • account string created account
Examples
const response = await rpc.get_created_accounts("eosnationftw");
console.log(response);
// => {"accounts": [{"name":"eosnationdsp","trx_id":"728d4a4da36a98d9048080461dacaf975ad083e8158ef84edea60cc755ab2c1a","timestamp":"2019-02-28T22:36:45.000"}, ... ]}

Returns Promise<GetCreatedAccounts> get creator

get_creator

GET /v2/history/get_creator

get creator

Parameters
  • account string created account
Examples
const response = await rpc.get_creator("eosnationftw");
console.log(response);
// => { account: 'eosnationftw', creator: 'gyztcmrvgqge', timestamp: '2018-06-10T13:06:43.500', ... }

Returns Promise<GetCreator> get creator

get_deltas

GET /v2/history/get_deltas

get deltas

Parameters
Examples
const response = await rpc.get_deltas("eosio.token", "eosnationftw", "accounts", "eosnationftw");
console.log(response);
// => { "query_time": 19, "total": { "value": 486, "relation": "eq" }, "deltas": [ ... ] }

Returns Promise<GetDeltas> get deltas

get_table_state

[GET /v2/history/get_table_state](https://eos.hyperion.eosrio.io/v2/docs/static/index.html#/history/get_v2_history_get_table_state

get table state

Parameters
  • code string contract account
  • table string table name
  • block_num string target block
  • after_key string last key for pagination
Examples
const response = await rpc.get_table_state("eosio.token", "stat", "1000", "");
console.log(response);
// => { "query_time": 19, "code": "eosio.token", "table": "stat", "block_num": 1000, "next_key": "........ehbo5-5459781",, "results": [ ... ] }

Returns Promise<GetTableState> get table state

get_key_accounts

GET/v2/state/get_key_accounts

get account by public key

Parameters
  • public_key string Contract account targeted by the action.
Examples
const response = await rpc.get_key_accounts("EOS5Mto3Km6BCVxowb6LkkFaT9oaUwLVgswgcxvY4Qgc4rhHry4Tv");
console.log(response.account_names);
// => [ 'eoscafeblock' ]

Returns Promise<GetKeyAccounts> key accounts

get_tokens

GET /v2/state/get_tokens

get tokens

Parameters
Examples
const response = await rpc.get_tokens("eosnationftw");
for (const token of response.tokens) {
    console.log(token);
    // => { symbol: 'ZOS', precision: 4, amount: 140, contract: 'zosdiscounts' }
}

Returns Promise<GetTokens> get tokens

get_transaction

GET /v2/history/get_transaction

get all actions belonging to the same transaction

Parameters
Examples
const response = await rpc.get_transaction("42dacd5722001b734be46a2140917e06cd21d42425f927f506c07b4388b07f62");
for (const action of response.actions) {
    console.log(action);
    // => { act: { account: 'eosio', name: 'buyrambytes', ... }}
}

Returns Promise<GetTransaction> transaction

RpcError

RpcStatusError

FAQs

Package last updated on 04 Nov 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc