2.0.11 • Published 3 years ago

arweave-id v2.0.11

Weekly downloads
3
License
LGPLv3
Repository
github
Last release
3 years ago

Arweave ID Version 2

This library serves an easy to use developer's interface to arweave-id. Arweave-id is an identity service for the permaweb a.k.a. Arweave open web. This library encapsulates, enforces, and abstracts away arweave-id rules, for example, to prevent name masquerading.

For an example of an app using this library, see the companion repo arweave-id-v2-ui

For more information about Arweave see https://arweave.org

Basic Usage

Install using npm install arweave-id then do

import Arweave from 'arweave'
import { get } from 'arweave-id'

const arweave = Arweave.init({})
const userAddress = 'aoaJNC8NcKVfgwaUj6kyJi2hKrVGUsRHCGf8RhKnsic'

// then inside an async function:
let arId = await get(userAddress, arweave)
console.log(arId.name) // 'Testy Mc Testface'

API

ArweaveId interface

interface  ArweaveId {
  name: string     // username
  url?: string     // an optional http link for the user
  text?: string    // optional freeform text
  avatarDataUri?: string    // optional data URI containing the user's avatar. Supports base64 'image/jpeg', 'image/png', and 'image/gif' 
}

get

get(address: string, arweaveInstance: Arweave): Promise<ArweaveId>

Looks up the ArweaveID associated with a given Arweave address and returns all available data elements

Parameters 1. address - string: a string representing an Arweave address 2. arweaveInstance - Arweave: an arweave object generated from the arweave package

Returns Promise that resolves to an ArweaveIdinterface object representing the ArweaveID attributes associated with the address

set

set(arweaveIdData: ArweaveId, jwk: JWKInterface, arweaveInstance: Arweave ): Promise<ISetReturn>

Creates, signs, and submits an arweave-id transaction claiming ownership of the ArweaveId provided.

Parameters

  1. arweaveIdData - ArweaveId: an ArweaveId object to be written to the permaweb.
  2. jwk - JWKInterface: the user's arweave wallet JWK
  3. arweaveInstance - Arweave: an arweave object generated from the arweave package

Returns

Promise that resolves to an ISetReturn object 1. txid - string - The transaction ID generated for the transaction. Treat this txid like you would for any other arweave transaction. N.B. This will be a blank string if the data cannot be posted. 2. statusCode - number - The HTTP status code received back from the Arweave node (e.g. 200 if transaction successfully posted) 3. statusMessage - string - The status message associated with the HTTP status code response (e.g. 'OK' if transaction successfully posted)

check

check(name: string, arweaveInstance: IArweave): Promise<string>

Look up an arweave-id name to see if it's available, returns an empty string '' or the owners address.

Parameters

  1. name - string - The ArweaveID to be looked up
  2. arweaveInstance - Arweave: an arweave object generated from the arweave package

Returns

Promise that resolves to a string representing the address of the wallet that owns the ArweaveID name or blank string if name is available

getIdenticon

getIdenticon(name: string): string

This function is provided as a method of generating an avatar for the user. Example usage, when the optional avatar has not been set.

Parameters

  1. name - a string to generate an identicon for

Returns

A data URI containing the indenticon image. This can be directly set to an img tag's src property. For reference, the data URI format is a base64 encoded PNG, of dimensions 64x64 pixels.

2.0.11

3 years ago

2.0.10

4 years ago

2.0.9

4 years ago

2.0.8

4 years ago

2.0.7

4 years ago

2.0.6

4 years ago

2.0.5

4 years ago

2.0.4

4 years ago

2.0.3

4 years ago

2.0.2

4 years ago

2.0.0

4 years ago