Ethereum UniversalLoginSDK is composed of smart contracts, a js lib, and a relayer that help build applications using ERC #725, #735, #1077 and #1078.
This is a work in progress. Expect breaking changes. The code has not been audited and therefore can not be considered secure. Planned functionality for first release include:
- Creating and managing identities
- Multi-factor authentication
- Universal login
- Ether less transactions via relayer
This repository is organised as monorepo.
- Contracts - all contracts used in this project
- Relayer - allows to interact with blockchain
- SDK - easy way to communicate with relayer by http protocol
- Example - example app, which shows how to use SDK
To start hacking around go to tutorial. To just see example in action follow the next section.
To install dependencies and build projects run following commands from the main project directory:
yarn && yarn build
To run example:
cd universal-login-example
yarn dev:start
Contributions are always welcome, no matter how large or small. Before contributing, please read the code of conduct and contribution policy.
Before you issue pull request:
- Make sure all tests and linters pass.
- Make sure you have test coverage for any new features.
You can run lint via:
./script/lint.sh
You can run tests:
./scripts/test.sh
You can ran full clean:
./scripts/clean.sh
And you can emulate full CI process by:
yarn
./scripts/travis.sh
Universal Login SDK is released under the MIT License.