nostr-pow

0.0.1 • Public • Published

nostr-pow

Fast proof-of-work nonce generator for Nostr events written for Node.

Usage

const { computeAsync } = require('nostr-pow');

const event = {
    pubkey: '489ac583fc30cfbee0095dd736ec46468faa8b187e311fda6269c4e18284ed0c',
    kind: 1,
    created_at: 1680947398,
    content: 'Hello, world!',
    tags: []
};

computeAsync(event, 25).then(event => {
    console.log(event);
});

Prints out:

{
    pubkey: '489ac583fc30cfbee0095dd736ec46468faa8b187e311fda6269c4e18284ed0c',
    kind: 1,
    created_at: 1680947398,
    content: 'Hello, world!',
    tags: [ [ 'nonce', '2963377', '25' ] ],
    id: '0000003af010369da0aaacb0180401fd6d88f5dd0510ebbdfe0da754ecc08e31'
}

Once completed you can sign the event and publish it.

Usage (synchronous)

Identical function computeSync(event, nonce) exists that will block the main thread and directly return the resulting event.

Performance

nostr-pow computes the hashes on the CPU using the maximum amount of hardware threads available. See compute_nonce.c for the main computation function.

On a Mac mini (2018) 3.2 GHz 6-Core Intel Core i7 nostr-pow computes roughly 10 million hashes per second.

/nostr-pow/

    Package Sidebar

    Install

    npm i nostr-pow

    Weekly Downloads

    1

    Version

    0.0.1

    License

    MIT

    Unpacked Size

    19.3 kB

    Total Files

    9

    Last publish

    Collaborators

    • bartjoyce