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
;
Configuring Registry
To use the Registry
instantiate it like this:
const registry =
You can pass in various options in a settings object:
const registry = web3prov: "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
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
Running tests
Simply run
$ npm test
Documentation
Registry
Class representing a uPort Registry.
Kind: global class
- Registry
- .constructor() ⇒
Object
- .getPublicProfile() ⇒
Promise.<JSON, Error>
- .getPersona() ⇒
Promise.<PublicPersona, Error>
- .getPersonas() ⇒
Promise.<PublicPersona, Error>
- .constructor() ⇒
Object
registry.constructor() ⇒ 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
Param | Type | Description |
---|---|---|
settings.ipfs | Object |
Optional custom ipfs provider (defaults to infura) |
settings.web3prov | Web3Provider |
Optional web3 provider object (defaults to infura ropsten node) |
settings.registryAddress | String |
Optional ethereum address of a uport contract |
Promise.<JSON, Error>
registry.getPublicProfile() ⇒ 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
Promise.<PublicPersona, Error>
registry.getPersona() ⇒ 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.
Promise.<PublicPersona, Error>
registry.getPersonas() ⇒ 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
- .profile() ⇒
Object
- .constructor(publicProfile, address) ⇒
Object
publicPersona.constructor(publicProfile, address) ⇒ Class constructor. Creates a new PublicPersona object.
Kind: instance method of PublicPersona
Returns: Object
- self
Param | Type | Description |
---|---|---|
publicProfile | JSON |
Public Profile on IPFS |
address | String |
The identity address |
Object
publicPersona.profile() ⇒ A getter which returns a simple Profile Object
Kind: instance method of PublicPersona