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

eth-fun

v0.9.3

Published

A treeshake-ready, functional library of Ethereum utility functions

Downloads

448

Readme

eth-fun

Node.js CI

A collection of independent utility functions for Ethereum. Build with functional approach in mind.

API Documentation | Changelog | Contributing

Why Use eth-fun?

You should use eth-fun when you want to have fun. We try to build our code according to the properties below.

  • Functional in nature
  • Modular and as loosely coupled as possible.
  • Stateless; such that we come as close as possible towards atomic, safely-failable (and catchable) actions.
  • Built with a modern front end's needs in mind. Ideally, the whole lib is tree-shakeable and produces the smallest footprint possible when being sent to a client's browser.

eth-fun is an attempt at developing Ethereum in a one-way-dataflow fashion (similar to react.js). Today, eth-fun can't sign payloads. It works best in on-chain data extractors like https://rugpullindex.com and https://neume.network. eth-fun is a work-in-progress.

Installation

$ npm i eth-fun

Example

Get the latest block number and fetch information about it

import { blockNumber, getBlockByNumber } from "eth-fun";

// URL of an Ethereum node
const options = {
  url: "https://cloudflare-eth.com",
};

(async () => {
  const currentNumber = await blockNumber(options); // latest block
  const includeTxBodies = false;
  const block = await getBlockByNumber(options, currentNumber, includeTxBodies);
  console.log(block); // information about the block
})();

Similar to the above used functions i.e. blockNumber and getBlockByNumber eth-fun implements more utility functions to talk with an Ethereum node using JSON RPC.

API

Visit API documentation for a complete list of functions and their examples.

Examples

  • limit-requests - An example to demonstrate concurrency so that the RPC endpoint doesn't get choked

Changelog

Visit CHANGELOG.md

Tests

You can run the library's tests with npm run test, however, do make sure that you're on node v14 as this is what the esmock setup sadly still depends on. Otherwise, for anything but testing, we're using this library in production with node v18.

Contributing

We love contributions from the community. Find a good first issue.

Want to suggest a feature or even better raise a PR for it? Head over to the issues.

References

License

See LICENSE file.