Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/austintgriffith/bouncer-proxy
👮🏻🛰 Ethereum identity proxy contract that bounces meta transactions of etherless accounts.
https://github.com/austintgriffith/bouncer-proxy
contract ethereum identity meta proxy transactions
Last synced: 3 months ago
JSON representation
👮🏻🛰 Ethereum identity proxy contract that bounces meta transactions of etherless accounts.
- Host: GitHub
- URL: https://github.com/austintgriffith/bouncer-proxy
- Owner: austintgriffith
- License: mit
- Created: 2018-07-29T19:09:07.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-10-07T00:11:31.000Z (over 6 years ago)
- Last Synced: 2024-10-23T01:37:48.733Z (4 months ago)
- Topics: contract, ethereum, identity, meta, proxy, transactions
- Language: JavaScript
- Homepage: https://prox.metatx.io
- Size: 266 KB
- Stars: 187
- Watchers: 17
- Forks: 39
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 👮🏻🛰 bouncer proxy
_Send Ether and interact with smart contracts from etherless accounts through a 'Bouncer Proxy' identity contract. Inspired by Bouncers, Proxy Identities, and Universal Logins._[https://prox.metatx.io](https://prox.metatx.io)
[Ethereum Meta Transactions](https://medium.com/@austin_48503/ethereum-meta-transactions-90ccf0859e84)
-----
[![screencast.png](https://raw.githubusercontent.com/austintgriffith/bouncer-proxy/master/src/images/videopreview.jpg)](https://youtu.be/6r3SqCcEVU4)
-----
## Identity
A [BouncerProxy](https://github.com/austintgriffith/bouncer-proxy/blob/master/BouncerProxy/BouncerProxy.sol) acts as your identity and allows multiple devices to be added as 'bouncers'. These 'bouncers' can make Ethereum transactions through your proxy without holding any Ether. That means no sending Ether to a device you might lose and no moving private keys or seed phrases around.
You deploy your own [BouncerProxy](https://github.com/austintgriffith/bouncer-proxy/blob/master/BouncerProxy/BouncerProxy.sol) once, fund it with Ethereum and/or tokens from a cold account, and keep your private keys safe.
## Pay gas for your Dapp users' transactions
To lower the barrier to entry you can proxy transactions from your users. To do this, you'll need to change your frontend slightly. Transactions will no longer go directly to the Ethereum network but to an off-chain relay that you control.
Your users will craft and sign transactions in almost the exact same way, but then you will relay them to a [BouncerProxy](https://github.com/austintgriffith/bouncer-proxy/blob/master/BouncerProxy/BouncerProxy.sol). This proxy acts as a proxy identity and an authorization controller. Accounts you accept as 'bouncers' can transact through the proxy without spending any Ether.
## Incentivize 'Desktop Miners'
Meta transactions can be submitted to your [BouncerProxy](https://github.com/austintgriffith/bouncer-proxy/blob/master/BouncerProxy/BouncerProxy.sol) by any account. You can choose to run your own relay or incentive others to do so by [rewarding Ether](https://github.com/austintgriffith/bouncer-proxy/blob/master/BouncerProxy/BouncerProxy.sol#L69) or [rewarding tokens](https://github.com/austintgriffith/bouncer-proxy/blob/master/BouncerProxy/BouncerProxy.sol#L73) to distributed relayers.
## Inspired by:
@avsa - [https://www.youtube.com/watch?v=qF2lhJzngto](https://www.youtube.com/watch?v=qF2lhJzngto)
@mattgcondon - [https://twitter.com/mattgcondon/status/1022287545139449856](https://twitter.com/mattgcondon/status/1022287545139449856) && [https://twitter.com/mattgcondon/status/1021984009428107264](https://twitter.com/mattgcondon/status/1021984009428107264)
@owocki - [https://twitter.com/owocki/status/1021859962882908160](https://twitter.com/owocki/status/1021859962882908160)
@danfinlay - [https://twitter.com/danfinlay/status/1022271384938983424](https://twitter.com/danfinlay/status/1022271384938983424)
@PhABCD - [https://twitter.com/PhABCD/status/1021974772786319361](https://twitter.com/PhABCD/status/1021974772786319361)
[gnosis-safe](https://github.com/gnosis/safe-contracts)
[uport-identity](https://github.com/uport-project/uport-identity)