Socket
Socket
Sign inDemoInstall

@parsiq/parsiq.js

Package Overview
Dependencies
4
Maintainers
6
Versions
13
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @parsiq/parsiq.js

`parsiq.js` is a library for easy access to all available PARSIQ's APIs.


Version published
Weekly downloads
70
increased by536.36%
Maintainers
6
Created
Weekly downloads
 

Readme

Source

PARSIQ API JS client

parsiq.js is a library for easy access to all available PARSIQ's APIs.

PARSIQ Network is a full-suite data network for constructing the backend of all Web3 dApps and protocols. Its fundamental and advanced APIs provide blockchain protocols and their clients with real-time and historical data querying capabilities, enabling users to build a variety of Web3 data products on top of them. Our Custom API allows for complex data querying and filtering, designed to meet the specific blockchain data requirements of our customers. Refer to PARSIQ's documentation for detailed information on how to utilize its APIs.

Getting Started

Install via npm:

npm i @parsiq/parsiq.js

Set credentials and select a chain to query:

import * as Parsiq from '@parsiq/parsiq.js';

const client = new Parsiq.createClient(process.env.TSUNAMI_API_KEY, Parsiq.ChainId.ETH_MAINNET);

Don't forget to pass TSUNAMI_API_KEY environment variable to your script.

Usage

Run requests to Tsunami API:

console.log((await client.blocks.getLatest()).number);

Fetch logs:

for await (const log of client.logs.getByBlockRange(
    0,
    'latest',
    { contract: ['0x1e2fbe6be9eb39fc894d38be976111f332172d83'] },
    {limit: 10}
)) {
    console.log(log);
}

Fetch decoded logs:

const ABI = {
  //your abi here
};

const decodedLog = (
  await client.logs.getByBlockRange(15724832, 15724832, {
      topic_0: [
        '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef',
        '0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925',
        '0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f',
      ],
    }, ABI, { limit: 1 },
  ).next()).value as TsunamiDecodedLog;

console.log(JSON.stringify(decodedLog));

Switch to another chain:

client.setChain(ChainId.AVALANCHE_MAINNET);
console.log((await tsunami.blocks.getLatest()).number);

Range options:

Requests that will return multiple entities can accept range options. While similar in nature and names to base API there are some notable differences.

offset - as with regular API defines id after which to continue querying.

limit - total limit of entities that will be returned.

batchSize - determines max amount of entities returned within single http request. 1000 by default

More documentation

Documentation and examples are available at https://docs.parsiq.net/

Keywords

FAQs

Last updated on 25 Apr 2024

Did you know?

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc