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
Usage
Basic Usage
import Arweave from 'arweave/web'
import { get } from 'arweave-id'
const arweave = Arweave.init({})
const userAddress = 'aoaJNC8NcKVfgwaUj6kyJi2hKrVGUsRHCGf8RhKnsic'
let arId = await get(userAddress, arweave)
console.log(arId.name)
ArweaveId interface
interface ArweaveId {
name: string
url?: string
text?: string
avatarDataUri?: string
}
get(address: string, arweaveInstance: Arweave): Promise<ArweaveId>
Looks up the ArweaveID associated with a given Arweave address and returns all available data elements
Parameters
address
- string
: a string representing an Arweave addressarweaveInstance
- Arweave
: an arweave
object generated from the arweave
package
Returns
Promise
that resolves to an ArweaveId
interface object representing the ArweaveID attributes associated with the address
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
: an ArweaveId
object to be written to the permaweb.jwk
- JWKInterface
: the user's arweave wallet JWKarweaveInstance
- Arweave
: an arweave
object generated from the arweave
package
Returns
Promise
that resolves to an ISetReturn
object
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.statusCode
- number
- The HTTP status code received back from the Arweave node (e.g. 200 if transaction successfully posted)statusMessage
- string
- The status message associated with the HTTP status code response (e.g. 'OK' if transaction successfully posted)
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
: 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(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 example. For reference, the enclosed image format is a base64 encoded PNG, of pixel size 64x64.