-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
EIP 1337 -- Subscriptions on the blockchain. #1337
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please check your EIP for right format 😂
thanks; we're iterating towards that. PR is still WIP |
Please open a new PR when it's ready for review. |
Hey @Arachnid , we just updated the repo to no longer be WIP at EthereumOpenSubscriptions@978b0b5 . would you please re-open this PR? the working group is set on marketing this EIP as 1337, so we would strongly prefer to use this PR if it's all the same to you. Thanks, 🙏 |
update of contributors - added nathan
My first POC for 1337 is an ultra simple model. Essentially we use a replayable nonce to allow meta transactions to recur. Subscribers sign a single transaction then, they use the ERC20 allow() standard to control the flow of the subscription; they can pause or start at any time. https://github.com/austintgriffith/token-subscription |
The next POC for 1337 was a more advanced system. We wanted a BYOC (bring your own contract) model where subscribers would deploy an identity proxy to transact through: https://github.com/austintgriffith/delegated-execution-subscriptions |
Our contract is now starting to really solidify and we are getting more eyes on it. We have it moving tokens on the mainnet using both https://tokensubscription.com and https://ethgrants.com. The repo with the latest contract and both of the above projects is here: https://github.com/austintgriffith/tokensubscription.com |
FWIW here is an active contract with the code published and verified: https://etherscan.io/address/0x9122213da10c92586c2c99e533cd97726ef55d6a#code |
The token subscription contract is now audited and live on the mainnet: https://twitter.com/austingriffith/status/1044929790384336896 The audit information is here: https://zklabs.io/audits/tokensub.html It was performed by Dean Eigenmann. The live contract is public and verified here: https://etherscan.io/address/0x9123a4b90E3a1F468102C08ee78fa2224d88F496#code |
EIPS/eip-1337.md
Outdated
--- | ||
eip: 1337 | ||
title: [WIP] Subscriptions on the blockchain. | ||
author: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please format this in a single line, comma-separated, with either username or email address (not both)
EIPS/eip-1337.md
Outdated
* John Griffin <john@atchai.com> (@johngriffin) | ||
* Nathan Creswell <nathantr@gmail.com> (@nathcres) | ||
|
||
discussions-to:[this github issue url](https://github.com/EthereumOpenSubscriptions/standard/issues) or [Gitcoin Slack](https://gitcoin.co/slack) in #proj-subscriptions channel |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please format this as just a URL.
EIPS/eip-1337.md
Outdated
|
||
discussions-to:[this github issue url](https://github.com/EthereumOpenSubscriptions/standard/issues) or [Gitcoin Slack](https://gitcoin.co/slack) in #proj-subscriptions channel | ||
type: Interface | ||
category Interface |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add a colon here.
EIPS/eip-1337.md
Outdated
* Nathan Creswell <nathantr@gmail.com> (@nathcres) | ||
|
||
discussions-to:[this github issue url](https://github.com/EthereumOpenSubscriptions/standard/issues) or [Gitcoin Slack](https://gitcoin.co/slack) in #proj-subscriptions channel | ||
type: Interface |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Interface" is not a type; perhaps this should be "Standards Track"?
EIPS/eip-1337.md
Outdated
type: Interface | ||
category Interface | ||
created: 2018-08-01 | ||
requires (*optional): ERC-20, ERC-948, EIP-165 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please remove (*optional)
EIPS/eip-1337.md
Outdated
category Interface | ||
created: 2018-08-01 | ||
requires (*optional): ERC-20, ERC-948, EIP-165 | ||
replaces (*optional): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please remove this.
466af1e should turnaround the code review above |
…ad a bytes meta argument added meta is defined as a 4 slot array, holding, address refundAddress, uint256 period, uint256 offChainID, uint256 expirationDate(unix timestamp) slots 0 and 1 are required, with slots 2 and 3 being optional, if 2 is not used but 3 is, 2 must be padded appropriately
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've noted several errors; in general see the output of the automated build to see what needs fixing.
eip: 1337 | ||
title: [WIP] Subscriptions on the blockchain. | ||
author: Kevin Owocki <kevin@gitcoin.co> , Andrew Redden <andrew@blockcrushr.com>, Scott Burke <scott@blockcrushr.com> , Kevin Seagraves <k.s.seagraves@gmail.com> , Luka Kacil <luka.kacil@gmail.com>, Štefan Šimec <stefan.simec@gmail.com>, Piotr Kosiński (@kosecki123), ankit raj <tradeninja7@gmail.com>, John Griffin <john@atchai.com> , Nathan Creswell <nathantr@gmail.com> | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please remove the empty line here.
type: Standards | ||
category: Interface | ||
created: 2018-08-01 | ||
requires: ERC-20, ERC-948, EIP-165 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These should just be numbers.
author: Kevin Owocki <kevin@gitcoin.co> , Andrew Redden <andrew@blockcrushr.com>, Scott Burke <scott@blockcrushr.com> , Kevin Seagraves <k.s.seagraves@gmail.com> , Luka Kacil <luka.kacil@gmail.com>, Štefan Šimec <stefan.simec@gmail.com>, Piotr Kosiński (@kosecki123), ankit raj <tradeninja7@gmail.com>, John Griffin <john@atchai.com> , Nathan Creswell <nathantr@gmail.com> | ||
|
||
discussions-to: https://github.com/EthereumOpenSubscriptions/standard/issues or https://gitcoin.co/slack in #proj-subscriptions channel | ||
type: Standards |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be "Standards Track"
@@ -0,0 +1,251 @@ | |||
--- | |||
eip: 1337 | |||
title: [WIP] Subscriptions on the blockchain. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Instead of [WIP]
the field Status: Draft
should be added.
title: [WIP] Subscriptions on the blockchain. | |
title: Subscriptions on the blockchain. | |
status: Draft |
EIP getSubscriptionHash and execSubscription have been modified and h…
@owocki are you still pursuing this? It would be nice to merge a proper draft since this is live on Gitcoin and has a website. |
I think we’re still working on finalizing the spec. There are a few diff forms floating around and we’ve yet to converge. |
If you have a fairly good version for a Draft it would be preferable to merge that. Changes can be made to the Draft at your pace. Eventually it should go through a "Last Call" status to signal to the wider ecosystem that it is becoming Final soon. |
Good to know. I produced an updated draft a few months back. Let me go dogging. |
@androolloyd perhaps we update this PR with the updated spec and take it from there? |
@androolloyd bumping this. any updates on the status of the latest draft? |
Sorry for the laggardness on this, will circle back on get the new draft published |
@owocki What is the status of this EIP ? |
this EIP is status LEET i kid i kid; theres $25k sitting in a grant that the ECF gave the EIP 1337 working group about 1.5 years ago.. if anyone wants some of them fundzz to get this across the finish line lmk.. |
Hey @owocki I'd love to help out with that. Hit me up on Gitcoin slack 😃 |
Hit me 🏹
Thanking you,
Sandipan Banerjee (MCSE)
Contact me -
ysiamhere@gmail.com
or,
sandipan.banerjee@hotmail.com.
…On Sat, Dec 28, 2019, 8:38 AM Seena Z ***@***.***> wrote:
Hey @owocki <https://github.com/owocki> I'd love to help out with that.
Hit me up on Gitcoin slack 😃
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#1337?email_source=notifications&email_token=AG3JJ7AARWDAZOVSBPFH55TQ227JRA5CNFSM4FQK7XP2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHYAWJA#issuecomment-569379620>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AG3JJ7EPGKY32V3GHSVKTGTQ227JRANCNFSM4FQK7XPQ>
.
|
Would this make possible variable subscriptions as well? I mean let's say I offer a service which charges a different amount every month based on some criteria - usage etc. |
I think that would be implementation based, perhaps something where you would say that the agreed upon amount is the maximum you're allowed to debt from the account / period in the signature. |
Ok |
1 similar comment
Ok |
The changes in this PR have been merged as part of #2789. Please close this one. |
What
This is a PR that contains the Pending standard for recurring payments on the blockchain (subscriptions) coming from the ERC 948 Working Group
Why
Monthly subscriptions are a key monetization channel for legacy web, and arguably they are the most healthy monetization channel for businesses on the legacy web (especially when compared to ad/surveillance) based models. They are arguably more healthy than a token based economic system (depending upon the vesting model of the ICO) because
For a user:
For a dapp founder:
For these reasons, we think it's worth creating a standard way to do 'subscriptions' on Ethereum.
Abstract
A standardized interface for recurring subscriptions on the blockchain.
How / Logistics
This PR is not ready to be merged yet. It will be updated as the working group comes to consensus on the EIP standard.
Further Reading