Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/status-im/account-contracts
Key managers, recovery, gas abstraction and self-sovereign identity for web3 universal login.
https://github.com/status-im/account-contracts
blockchain dapp ethereum sso-solution
Last synced: 8 days ago
JSON representation
Key managers, recovery, gas abstraction and self-sovereign identity for web3 universal login.
- Host: GitHub
- URL: https://github.com/status-im/account-contracts
- Owner: status-im
- License: cc0-1.0
- Created: 2019-09-18T09:42:03.000Z (about 5 years ago)
- Default Branch: develop
- Last Pushed: 2020-06-23T22:27:39.000Z (over 4 years ago)
- Last Synced: 2023-03-11T00:39:00.241Z (over 1 year ago)
- Topics: blockchain, dapp, ethereum, sso-solution
- Language: Solidity
- Size: 361 KB
- Stars: 18
- Watchers: 9
- Forks: 15
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Account contracts
Smart contracts defining self sovereign accounts.
WIP, currently only a PoC in Solidity.## Features
- Management key: A simple multisig or single address with full control of Identity
- Action keys: List of addresses allowed to execute calls in behalf of Identity, i.e. allowance tool
- ERC725 v2: ID-Owner (manager) can publish data in own profile (e.g. avatar URI, signed claims, etc).
- ERC2429 Secret multisig recovery: A social recovery tool for secretly selecting other addresses and requesting some of them to recover the identity
- ERC20 approve and call: optimizes approve and call operations to avoid race conditions and gas waste.
- Gas abstract: ID-Owner can execute calls paying with gas stored on the Identity or in the ID-Owner Key. Dapps don't have to be prepared to receive these calls.
- Serverless: Uses Whisper for gas market and Status API for Social Recovery.
- ERC1271: Contracts usually can't sign messages. Dapps that require signatures can validate Multisig of ID-Owner by using this standard.### Usage
```
git clone https://github.com/status-im/account-contracts.git
cd account-contracts
npm install
npm start
```