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

cryptopunk-icons

v1.1.6

Published

A package that uses Web3 to load the image files for cryptopunks

Downloads

24,666

Readme

Cryptopunk-Icons Package

This is a third-party extension library for the Larvalabs cryptopunks (https://github.com/larvalabs/cryptopunks) decentralized icons. This library contains all of the individual icon files and contains functions for:

  1. Fetching local and web-based image files of the punk icons.

  2. Identifying the cryptopunks owned by a particular Ethereum address. (STILL WIP)

  3. Proving that a particular person owns a particular cryptopunk. This is done using proof-of-key signatures by:

    a. Generating and storing a random message that is used to build a cryptographic challenge which is given to the person. (generateEllipticCurveChallengeDigest)

    b. The person uses their private key to generate a signature of the challenge and they give it back to your Node app. (signEllipticCurveChallenge)

    c. Checking that the signature is indeed valid for that challenge by extracting the public key from the signature. (validateEllipticCurveSignature)

Using these three tools, it is possible to build a webform in that asks a user for the public address of their cryptopunk, asks them to sign a challenge to prove ownership, and then records the fact that their account indeed has that icon. Then the icon would be allowed to be used for their account in the app like an Avatar or badge.

How to Use

npm install cryptopunk-icons

var cryptopunk_icons = require('cryptopunk-icons')

Loading Icon Images

function getCryptopunkIconLocalImagePath(_punk_icon_id)

Description

Returns the path for the local image (inside this node package) of a particular cryptopunk.

Example Use

var path = cryptopunk_icons.getCryptopunkIconLocalImagePath(111);

Example Result

/home/andy/dev/cryptopunk-icons/app/assets/punk111.png

function getCryptopunkIconCentralizedURL(_punk_icon_id)

Description

Returns the url for the local image (inside this node package) of a particular cryptopunk from the official website. Please avoid this to reduce traffic load on their servers! Use the local function when possible.

Example Use

var path = cryptopunk_icons.getCryptopunkIconCentralizedURL(111);

Example Result

https://www.larvalabs.com/cryptopunks/cryptopunk111.png

Signing the Proof-Of-Key Challenges

I will be building http://ethersign.github.io to help facilitate offline signing of cryptographic challenges.

Testing with Mocha

node app/mocha-server.js

Then, in a different shell

npm test