ConsenSys/identity-provider

Name: identity-provider

Owner: ConsenSys

Description: null

Created: 2016-03-31 16:41:40.0

Updated: 2017-11-22 15:32:43.0

Pushed: 2016-11-11 20:38:33.0

Homepage: null

Size: 487

Language: JavaScript

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

identity-provider

identity-provider contains a Web3 Subprovider for interacting with Ethereum accounts without keys present, like accounts signed by external device, or contract identities that are independent from any key. It uses web3-provider-engine to intercept account-related RPC calls. To sign transactions, you pass a Web3 Provider for the IdentitySubprovider to use, like Metamask's injected provider. A KeystoreSubprovider that uses eth-lightwallet to sign keys is provided. Most apps will want to start new users with an in-browser keystore that they can easily migrate their contract identity away from.

Once a transaction key has been funded, identity-provider can create a contract-based identity by deploying uport-proxy's' proxy contract and maintaining relevant metadata to allow transactions to be sent as that identity.

Example

See test/transfer-ether.js, which creates a contract identity and sends ether back and forth.

Tests

Run the Mocha test suite with npm test, which will use an in-memory TestRPC. The test suite can be run against an arbitrary Ethereum daemon to test against production codebases with npm test -- --live-daemon http://localhost:8545, where any HTTP URL can be provided as the –live-daemon argument.

Future Directions

This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.