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 🙏

© 2025 – Pkg Stats / Ryan Hefner

clerkb-lumos-integrator

v0.4.0

Published

Integrator between clerkb and lumos

Downloads

2

Readme

clerkb

Clerkb implements Proof of Authority mechanism on Nervos CKB for layer 2 solutions. It is designed as 2 components working together:

  • 2 smart contracts used as lock scripts on CKB to validate logic on chain.
  • A TypeScript based module for integrating PoA into your generator code.

The name comes from a combination of clerk, and CKB.

Design

A PoASetup construct specifies the behavior of clerkb:

export interface PoASetup {
  identity_size: number;
  round_interval_uses_seconds: boolean;
  identities: Array<HexString>;
  aggregator_change_threshold: number;
  round_intervals: number;
  subblocks_per_round: number;
}

One is free to specify the configurations here:

  • The number of aggregators is determined by identities array. Clerkb is designed to support at most 255 aggregators.
  • Each item in identities array contains the identity for one unique aggregator. The identity is represented as lock script hashes, or prefix of lock script hashes. Clerkb leverages the same technique as owner locks in sUDT: an aggregator can unlock a cell governed by the PoA lock, as long as current transaction has an input cell, whose lock script hash is identical to the aggregator identity specified in identitites array.
  • Each aggregator can issue L2 blocks in its own designated round. All the aggregators take turns having their own rounds. This is denoted by the order in identitites array. When the last aggregator in identitites array expires its round, the first aggregator in the array starts its round again.
  • A round is capped in 2 ways:
    • subblocks_per_round determines how many layer 2 blocks can be issued per round
    • round_intervals determines the interval length of a round. Based on the value of round_interval_uses_seconds, the interval can either be expressed using seconds, or layer 1 blocks.
  • The PoA setup can also be upgraded dynamically on chain. At least agreements(expressed via owner lock technique) from aggregator_change_threshold aggregators must be collected to update the PoA setup.