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 🙏

© 2026 – Pkg Stats / Ryan Hefner

navio-blsct

v1.1.6

Published

BLS Confidential Transaction library for Navio blockchain

Readme

Navio BLS Confidential Transaction Library

TypeScript bindings for the libblsct library used by the Navio blockchain to construct confidential transactions based on the BLS12-381 curve.

Features

  • Node.js: Native C++ bindings for maximum performance
  • Browser: WebAssembly (WASM) module for browser compatibility

Requirements

Node.js

  • Node.js v18 or higher
  • g++, make, swig, autoconf, automake, libtool and pkg-config to build underlying C++ libraries

Browser

  • Modern browser with WebAssembly support
  • No native dependencies required

Installation

npm install navio-blsct

The npm package includes:

  • Pre-built WASM files for browser/WebAssembly use (no additional build required)
  • Source code for Node.js native bindings (automatically built during installation)

For Node.js, installation includes building native C++ libraries from source (may take a few minutes). Browser/WASM usage works immediately without any build step.

Usage

Node.js

import { Scalar, Point, BlsctChain, setChain } from 'navio-blsct';

// Set the network
setChain(BlsctChain.Mainnet);

// Generate a random scalar
const scalar = Scalar.random();
console.log('Random scalar:', scalar.toHex());

// Generate a point from the scalar
const point = Point.fromScalar(scalar);
console.log('Point:', point.toHex());

Browser

For browser usage, import from the /browser subpath and initialize the WASM module first. The WASM files are pre-built and included in the npm package, so no additional build steps are needed:

import { loadBlsctModule, Scalar, Point, BlsctChain, setChain } from 'navio-blsct/browser';

// Initialize WASM module (required before using any functions)
// This loads the pre-built WASM files from the package
await loadBlsctModule();

// Now use the library as normal
setChain(BlsctChain.Mainnet);

const scalar = Scalar.random();
console.log('Random scalar:', scalar.toHex());

Bundler Configuration

If your bundler automatically resolves the browser field in package.json, you may be able to use the standard import:

import { loadBlsctModule, Scalar } from 'navio-blsct';

await loadBlsctModule();
// ...

API Reference

Full API reference and usage examples are available in the documentation.

Building from Source

Note: Building from source is only needed for development or if you want to modify the library. Users installing from npm get pre-built WASM files and don't need to build them.

Node.js (Native)

cd ffi/ts
npm install

Browser (WASM)

Pre-built WASM files are included in the npm package for browser usage. Building from source is only needed if you're developing or modifying the library.

To build WASM files from source, Emscripten must be installed and activated:

cd ffi/ts
npm install --ignore-scripts
npm run build:wasm
npm run build:browser

The WASM build process:

  1. Clones the navio-core repository (if not already present)
  2. Compiles the C++ source files to WebAssembly using Emscripten
  3. Outputs blsct.js and blsct.wasm to the wasm/ directory
  4. These files are included when publishing to npm but are gitignored during development

License

MIT