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

@backchain/notary

v0.2.0

Published

Backchain Notary — On-chain document certification

Readme

@backchain/notary

Notary module for the Backchain DeFi ecosystem on opBNB. Certify document hashes on-chain, verify authenticity, and transfer certificate ownership.

Install

npm install @backchain/notary

Quick Start

import { NotaryModule } from '@backchain/notary';

const notary = new NotaryModule(context); // context from @backchain/core
const hash = NotaryModule.hashDocument('contract text or file buffer');
await notary.certify(hash, 'Service Agreement v1', 1); // DocType.Contract
const record = await notary.verify(hash);

API

Document Types

| Value | Name | Value | Name | |-------|------------|-------|-----------| | 0 | General | 5 | Financial | | 1 | Contract | 6 | Legal | | 2 | Identity | 7 | Medical | | 3 | Diploma | 8 | IP | | 4 | Property | 9 | Other |

Write Methods

certify(hash: string, meta: string, docType: number): Promise<TransactionResult> Register a document hash on-chain. hash must be a 32-byte hex string (use hashDocument to generate it). meta is a short human-readable label stored with the certificate. docType is one of the values from the table above. Reverts if the hash is already certified.

batchCertify(docs: Array<{ hash: string, meta: string, docType: number }>): Promise<TransactionResult> Certify multiple documents in a single transaction. Each entry follows the same rules as certify. More gas-efficient than calling certify repeatedly.

transferCertificate(hash: string, newOwner: string): Promise<TransactionResult> Transfer ownership of a certificate to another address. Only the current certificate owner can call this.

Read Methods

verify(hash: string): Promise<Certificate | null> Look up a certificate by its hash. Returns null if the hash has not been certified. Otherwise returns: owner address, metadata, document type, certification timestamp, and block number.

getAllCertificates(address?: string): Promise<Certificate[]> Returns all certificates owned by the given address (defaults to the connected wallet), ordered by certification date.

Static Methods

NotaryModule.hashDocument(content: string | Uint8Array): string Hashes content with keccak256 and returns a 32-byte hex string suitable for use as the hash parameter. Pure JS — no network call. Pass raw file bytes or a UTF-8 string.

License

MIT