arweave-id v2.0.11
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
arweaveIdData-ArweaveId: anArweaveIdobject to be written to the permaweb.jwk-JWKInterface: the user's arweave wallet JWKarweaveInstance-Arweave: anarweaveobject generated from thearweavepackage
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
name-string- The ArweaveID to be looked uparweaveInstance-Arweave: anarweaveobject generated from thearweavepackage
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
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.