2.0.3 • Published 7 years ago

uport-persona v2.0.3

Weekly downloads
4
License
Apache-2.0
Repository
github
Last release
7 years ago

uPort Persona

A library for creating, updating and reading attributes and claims on uport personas. It's intended as an easy interface to the uport-registry, allowing developers to focus on the actual data instead of the datastructure of the object stored in the registry.

The primary interface for accessing persona data is through the Registry object.

Example usage

Importing

import { Registry } from 'uport-persona';

Configuring Registry

To use the Registry instantiate it like this:

const registry = new Registry()

You can pass in various options in a settings object:

import Web3 from 'web3'
const registry = new Registry( {
    web3prov: new Web3.providers.HttpProvider("http://localhost:8545"),
    ipfs: {host: 'localhost', port: 5001, protocol: 'http'}, // Pass in a configuration object or a ipfs-api compliant provider
    registryAddress: '0x...'
})

Returning profile information for an ethereum address

Simply call the registry.getPublicProfile(...) method and you will be returned a promise containing the public uport profile.

registry.getPublicProfile('0x06b4915f423117e3c71d671edcbbabd2a0222236').then((profile) => {
    console.log(profile)
})

To receive a more advanced Persona object that will let you query the profile based on who issued the claims use registry.getPersona(...) method and you will be returned a promise containing the Persona object.

registry.getPersona('0x06b4915f423117e3c71d671edcbbabd2a0222236').then((persona) => {
    console.log(persona)
})

Running tests

Simply run

$ npm test

Documentation

Registry

Class representing a uPort Registry.

Kind: global class

registry.constructor() ⇒ Object

Class constructor. Creates a new Registry object. The registryAddress is an optional argument and if not specified will be at the moment set to the default ropsten network uport-registry.

Kind: instance method of Registry
Returns: Object - self

ParamTypeDescription
settings.ipfsObjectOptional custom ipfs provider (defaults to infura)
settings.web3provWeb3ProviderOptional web3 provider object (defaults to infura ropsten node)
settings.registryAddressStringOptional ethereum address of a uport contract

registry.getPublicProfile() ⇒ Promise.<JSON, Error>

Gets the public profile JSON object stored in IPFS for the given address.

Kind: instance method of Registry
Returns: Promise.<JSON, Error> - A promise that returns the JSON object stored in IPFS for the given address

registry.getPersona() ⇒ Promise.<PublicPersona, Error>

Gets the the data stored in IPFS for the given object and creates a PublicPersona object.

Kind: instance method of Registry
Returns: Promise.<PublicPersona, Error> - A promise that returns a new PublicPersona object.

registry.getPersonas() ⇒ Promise.<PublicPersona, Error>

Gets the data stored in IPFS for an array of given addresses and creates an array of PublicPersona objects.

Kind: instance method of Registry
Returns: Promise.<PublicPersona, Error> - A promise that returns an array of new PublicPersona objects.

PublicPersona

Class representing PublicPersona, extends PersonaInterface

Kind: global class

publicPersona.constructor(publicProfile, address) ⇒ Object

Class constructor. Creates a new PublicPersona object.

Kind: instance method of PublicPersona
Returns: Object - self

ParamTypeDescription
publicProfileJSONPublic Profile on IPFS
addressStringThe identity address

publicPersona.profile() ⇒ Object

A getter which returns a simple Profile Object

Kind: instance method of PublicPersona

2.0.3

7 years ago

2.0.2

7 years ago

2.0.1

7 years ago

2.0.0

7 years ago

1.2.5

8 years ago

1.2.4

8 years ago

1.2.3

8 years ago

1.2.2

8 years ago