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

cashlib

v0.0.15

Published

Experimental Bitcoin Cash library

Downloads

15

Readme

Cashlib - Experimental Bitcoin Cash Library

Cashlib is an experimental Bitcoin Cash library. This sofware is in pre-alpha state and should not be used for any serious purpose.

API docs (under construction)

History

Existing Bitcoin JavaScript libraries are quite large and involve learning the library quirks/api on top of learning bitcoin itself. I began writing this library as a learning exercise, going back (as much as I can) to basics. Obviously, for developing production apps you should use libraries that are safe, tested and have many eyes watching for problems (ie popular ones).

Objectives

  • Avoid use of external libraries where practical to learn more about the Bitcoin protocol.
  • Use Flow static type checking to both learn it and see what it's like in a non-trivial project.

Terminology

Data formats and methods

This library uses the following terms and conventions in method naming:

| Term | Methods | Meaning | |------|------|---------| | bytes | toBytes, fromBytes | Bytes are data stored as a JavaScript Uint8Array consisting of 8-bit bytes. Order/endianess/signed is not defined. The Data class provides a convenient parent to subclass for objects that are fundamentally represented by bytes. | | hex | toHex, fromHex | A JavaScript String of even length consisting of two character hexadecimal bytes without any special prefix (ie no '0x'). Example data: "FF00". | | raw | - | Term avoided due to semantic ambiguity. See 'serialized' | | serialized | toSerialized, fromSerialized | Serialized data is in a format intended for transmission to other machines or humans. In the Bitcoin protocol, this is also often also known as 'raw'. When talking about addresses, extended public keys etc, 'serialized' data is presented in a format that is easier for humans to work with (e.g. hashed and base58 or base64 encoded) | | string | toString, fromString | Where used, format is undefined. Should be avoided. |