UniversalLoginSDK

Universal Login Monorepo

  • 所有者: UniLogin/UniLogin
  • 平台:
  • 许可证: MIT License
  • 分类:
  • 主题:
  • 喜欢:
    0
      比较:

Github星跟踪图

CircleCI

Universal-Login

Ethereum Universal Login

Universal Login is a tool for storing funds and connecting to Ethereum applications, aiming to simplify on-boarding of new users.

This repository is a monorepo including the sdk, relayer, smart contracts and examples. Each public sub-package is independently published to NPM.

Documentation

Documentation is available at universalloginsdk.readthedocs.io

Disclaimer

This is a work in progress. Expect breaking changes. The code has not been audited and therefore can not be considered secure.

Technical concepts

Technically Universal Login utilizes four major concepts:

  • Personal multi-sig wallet - a smart contract used to store personal funds. A user gets his wallet created in a barely noticeable manner. The user then incrementally adds authorization factors and recovery options.
  • Meta-transactions - these give users the ability to interact with their wallets from multiple devices easily, without a need to store ether on each of those devices. Meta-transactions, also allow one to pay for execution with tokens.
  • ENS names - naming your wallet with easy-to-remember human-readable names.
  • Universal login - ability to use the wallet as an authorization layer to numerous web applications/dapps.

Structure

Packages maintained with this monorepo are listed below.

  • Contracts - all contracts used in this project
  • Relayer - node.js server application that allows interacting with blockchain without a wallet
  • SDK - a JS library, that helps to communicate with relayer
  • OPS - scripts for development and deployment
  • React - library of React components
  • Web3 - web3 provider connected allowing to use Universal Login without the need for modifying existing applications
  • Wallet - Jarvis web wallet that used Universal Login
  • Commons - standard functions and data structures used throughout the projects

Testing environment:

Ropsten:

  • Domains: poppularapp.test, my-login.test, universal-login.test
  • Relayer url: https://relayer-ropsten.universallogin.io
  • Jarvis Wallet (web wallet): wallet-ropsten.universallogin.io

Kovan:

  • Domain: poppularapp.test
  • Relayer url: https://relayer-kovan.universallogin.io

Rinkeby:

  • Domain: poppularapp.test
  • Relayer url: https://relayer-rinkeby.universallogin.io

Contributing

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:

  • Create an issue and discuss with us to see if feature fits the project
  • For bigger PRs - setup a pair programing session with us :)
  • Split big PRs into multiple smaller PRs
  • Make sure all tests and linters pass.
  • Make sure you have test coverage for any new features.

Building, running, linting & tests

To install dependencies:

yarn install

To build all projects:

yarn build

Running run tests for all projects:

yarn test

Running linter for all projects:

yarn lint

To clean the project:

yarn clean

You can run all of above scripts (install, build, test, lint, clean) from individual project directories.

To emulate the full CI process:

yarn ci

Building documentation:

cd docs
make html

Documentation will be compiled to docs/build/html.

License

Universal Login SDK is released under the MIT License.

主要指标

概览
名称与所有者UniLogin/UniLogin
主编程语言TypeScript
编程语言JavaScript, CSS, HTML, TypeScript, Shell (语言数: 7)
平台
许可证MIT License
所有者活动
创建于2018-07-15 07:53:10
推送于2023-01-11 02:00:53
最后一次提交2020-10-05 13:05:54
发布数46
最新版本名称0.6.1 (发布于 )
第一版名称v0.1.1 (发布于 2019-06-24 14:09:51)
用户参与
星数290
关注者数18
派生数86
提交数2.4k
已启用问题?
问题数74
打开的问题数24
拉请求数2342
打开的拉请求数28
关闭的拉请求数189
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?