npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

quais-polling

v1.0.4

Published

Shim for quais that allows clients to poll for responses

Downloads

115

Readme

Quais Polling

Quais Polling is an extension to the Quais library, designed to provide an easy and efficient way to poll for responses on the client side. Built on top of Quais, it maintains the simplicity and reliability you're accustomed to, with added polling capabilities.

Features

  • Seamless integration with Quais.
  • Poll for transaction receipts, contract method results, or any asynchronous process.
  • Configurable polling intervals and timeout settings.
  • Efficient error handling during the polling process.

Installation

Before you install the Quais Polling, make sure you have Quais installed in your project.

npm install quais

Then, you can install Quais Polling using npm:

npm install quais-polling

Or yarn:

yarn add quais-polling

Usage

Here's a quick example to get you started:

const { pollFor } = require('quais-polling');
const quais = require('quais');

async function main() {
    const provider = new quais.providers.JsonRpcProvider("http://localhost:8610");
    const transactionHash = 'your-transaction-hash';

    try {
        const receipt = await pollFor(provider, 'getTransactionReceipt', [transactionHash], 1000, 30000);
        console.log(receipt);
    } catch (error) {
        console.error('Error polling for transaction receipt:', error);
    }
}

main();

API Reference

pollFor(provider, methodName, params, initial_polling_interval = 60, request_timeout = 30, max_duration = 180, max_polling_interval = 90)

Polls for a method's response.

Parameters

  • provider: The Quais provider instance.
  • methodName: Name of the method you're awaiting a response from.
  • params: Parameters to be passed to the method being called.
  • initial_polling_interval (optional): Time (in seconds) for the initial interval between polls.
  • request_timeout (optional): Time (in seconds) before the request times out.
  • max_duration (optional): Maximum duration (in seconds) before the entire polling process times out. Defaults to 180 seconds.
  • max_polling_interval (optional): Maximum time (in seconds) allowed between polls. Defaults to 10000 milliseconds.

Contributing

We welcome contributions! Please see our contributing guidelines for details.