JSPM

onoma

0.1.2
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • 0
  • Score
    100M100P100Q22221F
  • License ISC

a library for making web3 addresses more human-readable

Package Exports

  • onoma
  • onoma/lib/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (onoma) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

GitHub license

onoma

a library for deterministically turning web3 addresses into names

Why?

Why is it called onoma?

Onomastics is the study of the history and origin of proper names, especially personal names.

(shoutout to 0xmts for the name)

Why did Metagame build this?

During Metagame's work on making transactions more human readable, we found ourselves often using the first 6 characters of an address as the wallet/contract's "name" when it didn't have an ENS associated with it. This is much harder to make an association with than a real name, so thought we'd give every wallet a name!

Installation

npm add onoma
yarn add onoma

Usage

import { addressToName, addressToNameObject } from 'onoma'

const address = '0x17A059B6B0C8af433032d554B0392995155452E6'

const name = addressToName(address)

console.log(name)
// Felicita Feeney

const nameObj = addressToNameObject(address)

console.log(nameObj)

/*
 {
    name: 'Felicita Feeney',
    prefix: 'Miss',
    firstName: 'Felicita',
    middleName: 'Micah',
    lastName: 'Feeney'
 }
*/

Notes

Currently only supports 40 char hexidecimal addresses (EVM wallet addresses). Would be great if someone wanted to add support for other types of addresses :)

It can handle addresses with or without the 0x prefix, and both lowercase and uppercase.