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?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?