ALPHA Release
The Identity (ID) Wallet™ is a client-side wallet dApp that implements the Kairos Protocol™ (Human Identity Interface™ + Kairos Face Recognition API). Users have the ability to store, send, and receive Kairos Identity (ID) Tokens™, as well as issue transaction requests to other ID Wallet™ users.
Because no existing wallets currently cater to the ID Token™ use cases, it will initially be the primary client interface used for holding and transacting ID Token™. Due to the fact that the ID Wallet™ is available for third-party integrations via an this open source code base, adoption by mobile and traditional web applications is entirely feasible.
Projects that would benefit from a biometrically verified token transaction system, but don’t necessarily have the resources to create their own, are now able to reap the benefits from such an integration.
Try our alpha release demo: https://wallet.kairos.com/
The app can easily be run either locally or using Docker with the included Dockerfile.
The app is basically a single page application, which is viewed at src/client/index.jsx
.
For the face verification part, you'll need a developer account with Kairos. Sign-up, get your API key via developer.kairos.com, and check your inbox for an activation link.
You should now have your APP_ID
and APP_KEY
.
cd $HOME/Desktop
git clone https://github.com/kairosinc/id-wallet.git
Set the following environment variables into the .env file, which is at the root of the app directory.
- ORACLE_ADDRESS //signature proxy public address goes here
- APP_ID
- APP_KEY
- GALLERY_NAME
- ROOT_URL //root URL to your Signature Proxy
- ENROLL_ROUTE //route to Signature Proxy Enroll call
- VERIFY_ROUTE //route to Signature Proxy Verify call
node
/npm
yarn
To setup:
$ yarn install
$ yarn setup
# yarn run v1.5.1
# $ cp .env.example .env
# ✨ Done in 0.11s.
To start a development environment:
$ yarn develop
In another tab:
$ yarn develop:webpack
To build a production application:
$ yarn build
To run the production application:
$ yarn start
To stop the production application:
$ yarn stop
To run tests:
$ yarn test
To lint the src/
directory:
$ yarn lint
To execute yarn test
:
$ yarn precommit
To execute yarn test && yarn build
:
$ yarn prepush
-
Run the following commands, which will build your Docker container and execute Docker-Compose run to start up the app locally on your machine:
make build make run
-
Once your app is running, you can visit
http://localhost:8000
in your browser to view the application. -
To stop the Docker container:
docker stop $(docker ps -q)
Note: This will stop all running containers not just this one
Powered by face biometrics and blockchain technology, Kairos plans to create a method of identity verification which allows the user to remain anonymous— because we believe to validate a transaction, businesses only need to know that you are you.
The Kairos Identity (ID) Token™ is the specially designed digital asset of this system, and enables users to reduce the risk of face recognition specific identity theft and increase privacy during secure transactions. [For example: Trading crypto assets]
node
/npm
yarn
truffle
ganache-cli
To run the tests
$ yarn blockchain
# yarn run v1.5.1
# $ ganache-cli -m 'candy maple cake sugar pudding cream honey rich smooth crumble sweet treat'
# Ganache CLI v6.1.0 (ganache-core: 2.1.0)
# Available Accounts
# ==================
# (0) 0x62730609...
# ...
# Private Keys
# ==================
# (0) c87509a1c067bbde...
# ...
# HD Wallet
# ==================
# Mnemonic: candy maple cake sugar pudding cream honey rich smooth crumble sweet treat
# Base HD Path: m/44'/60'/0'/0/{account_index}
# Listening on localhost:8545
then in a new console window
$ yarn test
# Using network 'development'.
# Contract: KairosIdentityToken
# ✓ should be connected to the correct user account
# ...
# 14 passing (3s)
To perform migrations (on the development network)
$ yarn migrate
To execute on ropsten or mainnet, say so
$ yarn migrate --network ropsten
To tell truffle to forget the network state and start over from the first migration file
$ yarn migrate --network ropsten --reset
The application contains a few components:
airdrop/
build/
contracts/
migrations/
test/
airdrop/
contains data and a script for performing automatic ID Token transfers.
build/
is a funny one. We don't usually commit build artifacts of course, but some of the data in here is needed for truffle's migration tools to correctly run. Leaving in here for now, dealing with it in git through gritted teeth.
contracts/
contains the the KairosIdentityToken, and it's cascading set of dependent contracts. Also contains a Migrations contract for truffle's migration tools.
migrations/
define routes that execute controller methods.
test/
test with truffle test
. You must be running a local blockchain with MNEMONIC your secret here
.
ganache-cli -m "candy maple..."
We'd love to hear feedback from you and we're also here to help if you have any questions — feel free to email our support team.