Please read our Whitepaper for information on what uPort is, and what is currently possible as far as integration.
Contract | Address |
---|---|
ArrayLib | 0x5bfa4582b0c48cb375b9e8322b57ac025965c148 |
IdentityFactory | 0x12e627125abcfa989de831572f198577780d7127 |
IdentityFactoryWithRecoveryKey | (not deployed) |
IdentityManager | (not deployed) |
TxRelay | (not deployed) |
MetaIdentityManager | (not deployed) |
Contract | Address |
---|---|
ArrayLib | 0xb8a00506e12d39522cd1787389ae8f83db536e46 |
IdentityFactory | 0x6a841ba0ea1a88cfbc085220fc6b65973afca431 |
IdentityFactoryWithRecoveryKey | 0xd7dc3926bc6089a5be4815215ceaa6e707591023 |
IdentityManager | 0xabbcd5b340c80b5f1c0545c04c987b87310296ae |
TxRelay | 0x476debfb878d266d9e3182d7bb304301a8748aad |
MetaIdentityManager | 0x7c338672f483795eca47106dc395660d95041dbe |
Contract | Address |
---|---|
ArrayLib | 0x6a841ba0ea1a88cfbc085220fc6b65973afca431 |
IdentityFactory | 0xd7dc3926bc6089a5be4815215ceaa6e707591023 |
IdentityFactoryWithRecoveryKey | 0xdc420f5d89ef5c729c63cf05b0ceda364d5a8b1d |
IdentityManager | 0x71845bbfe5ddfdb919e780febfff5eda62a30fdc |
TxRelay | 0x899d47b36d94bc36050e9fdddb7d210a62c8656c |
MetaIdentityManager | 0xd36ea9fa1235763e25cfc6625a55cc2a3a3b7556 |
Contract | Address |
---|---|
ArrayLib | 0x957eb298a72167367fa210fc1aa3faba1d2b629c |
IdentityFactory | 0x1c9d9e1962985c9b8101777cae25c46279fe2a9c |
IdentityFactoryWithRecoveryKey | 0xb7d66b18fbe8eb655ce7daa5d616d908c25c32a7 |
IdentityManager | (not deployed) |
TxRelay | (not deployed) |
MetaIdentityManager | (not deployed) |
To use the contract we provide truffle artifacts. You can use truffle-contract
to utilize these.
const uportIdentity = require('uport-identity')
const Contract = require('truffle-contract')
let IdentityFactory = Contract(uportIdentity.IdentityFactory)
IdentityFactory.setProvider(web3.currentProvider)
let identityFactory = IdentityFactory.deployed()
You can also use web3.
let networkId = 1 // Mainnet
let IdentityFactory = web3.eth.contract(uportIdentity.IdentityFactory.abi)
let identityFactory = IdentityFactory.at(uportIdentity.IdentityFactory.networks[networkId].address)
This repository contains the contracts currently in use by uPort. This is also where you find the addresses of these contracts currently deployed on Mainnet and relevant test networks. Below you can find descriptions of each of the contracts and the rationale behind the design decisions.
The most important interactions with the contracts are creation of identities and sending transactions. Here are visual representations of this being executed.
Want to contribute to uport-contracts? Cool, please read our contribution guidelines to get an understanding of the process we use for making changes to this repo.